আমস্টারডামের ২০০টি রেস্তোরাঁ নিয়ে জুলাই মাসে করা একটি পরীক্ষায় দেখা গেছে যে, বর্তমান AI অ্যাসিস্ট্যান্টগুলো টেবিল রিজার্ভেশন সম্পন্ন করতে পারছে না কারণ বুকিং উইজেটটি একটি iframe-এর ভেতরে লুকানো থাকে।
কেন iframe এজেন্টদের বাধা দেয়
বেশিরভাগ অনলাইন রিজার্ভেশন টুল একটি এমবেডেড (embedded) iframe হিসেবে কাজ করে। একজন ভিজিটর যখন “Reserve” বাটনে ক্লিক করেন, তখন একটি ক্যালেন্ডার পপ-আপ হিসেবে আসে এবং ব্যবহারকারী একটি নির্দিষ্ট সময় বেছে নেন। মানুষের জন্য এই প্রক্রিয়াটি সহজ হলেও, একটি AI এজেন্টের জন্য এটি আটকে যায়।
- এজেন্ট মূল HTML পেজটি পার্স (parse) করে।
- বুকিং বাটনটি অন্য একটি ডোমেইনের URL-কে নির্দেশ করে।
- ব্রাউজার সেই URL-টিকে একটি iframe-এর ভেতরে লোড করে, যা এটিকে মূল (parent) পেজ থেকে আলাদা করে ফেলে।
যেহেতু same-origin policy মূল পেজের স্ক্রিপ্টগুলোকে iframe-এর DOM পড়া বা এর নেটওয়ার্ক কল ইন্টারসেপ্ট করা থেকে বাধা দেয়, তাই একটি AI এজেন্ট যা পেজের কন্টেন্ট পড়ে এবং HTTP রিকোয়েস্ট পাঠায়, সে কেবল বাটনটিই দেখতে পায়। সে ক্যালেন্ডার, টাইম স্লট বা কনফার্মেশন ফ্লো দেখতে পায় না। এমনকি যদি সে বাটনে ক্লিকও করে, তবুও তাকে ক্যাপচা (captcha) সমাধান করতে হয়, লেআউট পরিবর্তনের সাথে খাপ খাইয়ে নিতে হয় অথবা অনেক বুকিং সার্ভিসের অ্যান্টি-অটোমেশন ডিফেন্স বা সুরক্ষা ব্যবস্থা এড়িয়ে চলতে হয়।
অনুপস্থিত মেশিন-রিডেবল লিঙ্ক
১৬৩টি কার্যকর রেস্তোরাঁ সাইটের একটি পৃথক অডিটে দেখা গেছে যে, মাত্র নয়টি সাইটে মেশিন-রিডেবল বুকিং ডেটা পাওয়া গেছে। ওই নয়টি সাইট schema.org মার্কআপ ব্যবহার করে নাম এবং ঠিকানার মতো মৌলিক তথ্য তালিকাভুক্ত করেছিল, কিন্তু কোনোটিতেই এমন কোনো রিজার্ভেশন অ্যাকশন ছিল না যা একটি এজেন্ট ব্যবহার করতে পারে। Schema.org এই উদ্দেশ্যে ReserveAction-এর মতো টাইপগুলো সংজ্ঞায়িত করে, তবুও বেশিরভাগ সাইট কেবল বর্ণনামূলক মেটাডেটা প্রকাশ করে, কোনো কার্যকর নির্দেশাবলী (actionable instructions) নয়।
বাস্তবে, একটি অ্যাসিস্ট্যান্ট এমন স্ট্রাকচার্ড ডেটা খোঁজে যা তাকে জানায় একটি কাজ কীভাবে করতে হবে, কেবল কাজটি কী তা নয়। ReserveAction বা সমতুল্য কোনো এন্ডপয়েন্ট (endpoint) ছাড়া, এজেন্টটি মানুষের ক্লিকের অনুকরণ করার চেষ্টা করে, যা উপরে বর্ণিত হয়েছে অনুযায়ী নির্ভরযোগ্য নয়।
একটি ব্যবহারিক সমাধান যা UI পরিবর্তন না করেই করা সম্ভব
- একটি বুকিং API প্রকাশ করুন – একটি হালকা ওজনের HTTP এন্ডপয়েন্ট তৈরি করুন যা প্রাপ্যতা যাচাই (availability queries) এবং রিজার্ভেশন তৈরির জন্য JSON রিকোয়েস্ট গ্রহণ করতে পারে। API-টি তারিখ, সময়, অতিথির সংখ্যা এবং কনফার্মেশন কোডের মতো ফিল্ড প্রদান করবে। কোনো পেজ রেন্ডার না করেই যেকোনো এজেন্ট এটি ব্যবহার করতে পারবে।
- API-টিকে খুঁজে পাওয়ার উপযোগী করুন –
/.well-known/booking-এর মতো একটি পরিচিত স্থানে পয়েন্টার রাখুন অথবা পেজের schema.org মার্কআপে একটিReserveActionএন্ট্রি যুক্ত করুন। এটি স্ক্র্যাপিং ছাড়াই এজেন্টদের জানায় যে "এখানে প্রোগ্রামাটিক উপায়ে বুকিং করার সুযোগ রয়েছে"। - Model Context Protocol (MCP) গ্রহণ করুন – MCP অ্যাসিস্ট্যান্টদের সরাসরি এক্সটার্নাল টুল ব্যবহার করতে দেয়, যেখানে ইনপুট পাঠানো এবং স্ট্রাকচার্ড আউটপুট গ্রহণ করা সম্ভব। বড় AI প্রোভাইডাররা ইতিমধ্যেই MCP সাপোর্ট করে, তাই একটি রেস্তোরাঁ যদি MCP-সামঞ্জস্যপূর্ণ এন্ডপয়েন্ট বাস্তবায়ন করে, তবে এজেন্টরা এটিকে একটি বিল্ট-ইন ফাংশনের মতো ব্যবহার করতে পারবে।
এই পদক্ষেপগুলো মানুষের ব্যবহারের জন্য ভিজ্যুয়াল iframe-টিকে অপরিবর্তিত রাখে, পাশাপাশি এজেন্টদের জন্য একই রিজার্ভেশন ডেটা পাওয়ার একটি পরিষ্কার ও নির্ভরযোগ্য পথ তৈরি করে।
সারসংক্ষেপ
একটি iframe-এর ভেতরে ক্যালেন্ডার এমবেড করা মানুষের জন্য ভিজ্যুয়াল ফ্লো ঠিক রাখলেও AI অ্যাসিস্ট্যান্টদের অন্ধ করে রাখে। একটি সাধারণ ও সুবিন্যস্ত বুকিং API যোগ করা এবং স্ট্যান্ডার্ড মেটাডেটা বা MCP-এর মাধ্যমে তা প্রচার করা ওয়েবসাইটকে আমূল পরিবর্তন না করেই রিজার্ভেশনের একটি নতুন মাধ্যম খুলে দেয়। এই প্রচেষ্টা পরবর্তী প্রজন্মের ডিজিটাল অ্যাসিস্ট্যান্টদের কাছে দৃশ্যমানতা বাড়াবে এবং বিদ্যমান UI-তে ব্যবহৃত নিরাপত্তা ব্যবস্থার মাধ্যমেই এর ঝুঁকি নিয়ন্ত্রণ করা সম্ভব।
