(এই পাঠের ভিডিও দেখতে উপরের ইমেজে ক্লিক করুন)
যেহেতু AI এজেন্টগুলোর ব্যবহার বৃদ্ধি পাচ্ছে, তেমনি এমন প্রোটোকলের প্রয়োজনীয়তাও বাড়ছে যা স্ট্যান্ডার্ডাইজেশন, নিরাপত্তা নিশ্চিত করে এবং খোলা উদ্ভাবনকে সমর্থন করে। এই পাঠে, আমরা তিনটি প্রোটোকল সম্পর্কে আলোচনা করব যা এই চাহিদা পূরণে সহায়তা করে - মডেল কনটেক্সট প্রোটোকল (MCP), এজেন্ট থেকে এজেন্ট (A2A) এবং ন্যাচারাল ল্যাংগুয়েজ ওয়েব (NLWeb)।
এই পাঠে, আমরা আলোচনা করব:
• কিভাবে MCP AI এজেন্টদের বাইরের টুল ও ডেটা অ্যাক্সেস করতে সাহায্য করে ব্যবহারকারীর কাজ সম্পন্ন করতে।
• কিভাবে A2A বিভিন্ন AI এজেন্টের মধ্যে যোগাযোগ ও সহযোগিতা সক্ষম করে।
• কিভাবে NLWeb যে কোনও ওয়েবসাইটে প্রাকৃত ভাষার ইন্টারফেস নিয়ে আসে, যা AI এজেন্টদের কনটেন্ট আবিষ্কার ও ইন্টারঅ্যাক্ট করতে দেয়।
• AI এজেন্টদের প্রেক্ষাপটে MCP, A2A, এবং NLWeb এর মূল উদ্দেশ্য ও সুবিধাগুলো পরিচিত হওয়া।
• প্রতিটি প্রোটোকল কিভাবে LLM, টুল এবং অন্যান্য এজেন্টের মধ্যে যোগাযোগ এবং ইন্টারঅ্যাকশন সহজতর করে সেটি ব্যাখ্যা করা।
• জটিল এজেন্টিক সিস্টেম নির্মাণে প্রতিটি প্রোটোকলের স্বতন্ত্র ভূমিকা স্বীকৃতি প্রদান করা।
মডেল কনটেক্সট প্রোটোকল (MCP) একটি ওপেন স্ট্যান্ডার্ড যা অ্যাপ্লিকেশনগুলিকে LLMs-কে প্রেক্ষাপট ও টুল সরবরাহ করার জন্য স্ট্যান্ডার্ডাইজড উপায় প্রদান করে। এটি একটি “ইউনিভার্সাল অ্যাডাপ্টার” হিসেবে কাজ করে যেটি AI এজেন্টদের বিভিন্ন ডেটা সোর্স ও টুলসের সাথে সঙ্গতিপূর্ণভাবে সংযুক্ত হতে দেয়।
আসুন MCP এর উপাদানগুলি দেখে নেই, সরাসরি API ব্যবহারের তুলনায় এর সুবিধাগুলো এবং একটি উদাহরণ যেখানে AI এজেন্ট MCP সার্ভার ব্যবহার করতে পারে।
MCP একটি ক্লায়েন্ট-সার্ভার আর্কিটেকচার তে কাজ করে এবং এর মূল উপাদানগুলো হল:
• হোস্টস হল LLM অ্যাপ্লিকেশন (যেমন VSCode এর মত কোড এডিটর) যা MCP সার্ভারের সাথে সংযোগ শুরু করে।
• ক্লায়েন্টস হল হোস্ট অ্যাপ্লিকেশনের সেই উপাদান যা সার্ভারের সাথে একক সংযোগ বজায় রাখে।
• সার্ভারস হল হালকা ওজনের প্রোগ্রাম যা নির্দিষ্ট ক্ষমতাসমূহ প্রকাশ করে।
প্রোটোকলে অন্তর্ভুক্ত আছে তিনটি মূল প্রিমিটিভ যা MCP সার্ভারের ক্ষমতা নির্দেশ করে:
• টুলস: এগুলো হল AI এজেন্ট যে পৃথক ক্রিয়া বা ফাংশন কল করতে পারে। উদাহরণস্বরূপ, একটি আবহাওয়া সেবা “get weather” টুল প্রদান করতে পারে, অথবা একটি ই-কমার্স সার্ভার “purchase product” টুল দিতে পারে। MCP সার্ভার প্রতিটি টুলের নাম, বিবরণ এবং ইনপুট/আউটপুট স্কিমা তাদের ক্ষমতা তালিকায় বিজ্ঞাপন দেয়।
• রিসোর্সেস: এগুলো হল পড়ার জন্য ডেটা আইটেম বা ডকুমেন্ট যা MCP সার্ভার প্রদান করে এবং ক্লায়েন্টগুলি চাহিদামতো সংগ্রহ করতে পারে। উদাহরণস্বরূপ ফাইলের বিষয়বস্তু, ডাটাবেস রেকর্ড বা লগ ফাইল। রিসোর্স হতে পারে টেক্সট (যেমন কোড বা JSON) অথবা বাইনারি (যেমন ছবি বা PDF)।
• প্রম্পটস: এগুলো হল পূর্বনির্ধারিত টেমপ্লেট যা সুনির্দিষ্ট প্রম্পট সরবরাহ করে, যা আরও জটিল ওয়ার্কফ্লো প্রণয়নে সহায়ক।
MCP AI এজেন্টদের জন্য উল্লেখযোগ্য সুবিধা প্রদান করে:
• ডায়নামিক টুল ডিসকভারি: এজেন্টরা সার্ভার থেকে উপলব্ধ টুলগুলোর তালিকা ও তাদের বিবরণ সংগ্রহ করতে পারে। এটি ঐতিহ্যবাহী API গুলোর থেকে আলাদা, যেগুলোর জন্য সাধারণত স্থির কোডিং প্রয়োজন এবং যেকোনো API পরিবর্তনে কোড আপডেট দরকার হয়। MCP একটি “একবার ইন্টিগ্রেট করুন” পন্থা দেয়, যা বেশি অভিযোজনশীলতা নিয়ে আসে।
• বিভিন্ন LLM এর সাথে আন্তঃপরিচালনযোগ্যতা: MCP বিভিন্ন LLM এর ক্ষেত্রে কাজ করে, ফলে যেকোনো সময় ভাল পারফরম্যান্স যাচাইয়ের জন্য মডেল পরিবর্তন করা যায়।
• স্ট্যান্ডার্ডাইজড সিকিউরিটি: MCP তে একটি স্ট্যান্ডার্ড অটেনটিকেশন পদ্ধতি অন্তর্ভুক্ত রয়েছে, যা MCP সার্ভার অ্যাক্সেস বাড়ানোর সময় স্কেলযোগ্যতা বাড়ায়। এটি বিভিন্ন ঐতিহ্যবাহী API এর জন্য আলাদা কী এবং অটেনটিকেশন নিয়ন্ত্রণের থেকে সহজ।

ধরা যাক একজন ব্যবহারকারী MCP দ্বারা চালিত AI সহকারী ব্যবহার করে একটি ফ্লাইট বুক করতে চায়।
১. সংযোগ: AI সহকারী (MCP ক্লায়েন্ট) একটি বিমান সংস্থার সরবরাহিত MCP সার্ভারের সাথে সংযুক্ত হয়।
২. টুল ডিসকভারি: ক্লায়েন্ট বিমান সংস্থার MCP সার্ভারকে জিজ্ঞেস করে, “আপনার কাছে কী কী টুলস আছে?” সার্ভার “search flights” এবং “book flights” এর মতো টুলসের তথ্য দেয়।
৩. টুল আহ্বান: এরপর ব্যবহারকারী AI সহকারীকে বলে, “পোর্টল্যান্ড থেকে হোনোলুলু ফ্লাইট খুঁজো।” AI সহকারী তার LLM ব্যবহার করে বুঝে যে “search flights” টুল কল করতে হবে এবং প্রাসঙ্গিক প্যারামিটার (উত্স, গন্তব্য) MCP সার্ভারে পাঠায়।
৪. সম্পাদন ও প্রতিক্রিয়া: MCP সার্ভার একটি র্যাপার হিসেবে কাজ করে, বিমান সংস্থার অভ্যন্তরীণ বুকিং API-তে আসল কল করে। এটি ফ্লাইটের তথ্য (যেমন JSON ডেটা) গ্রহণ করে এবং AI সহকারীকে ফেরত পাঠায়।
৫. অতিরিক্ত ইন্টারঅ্যাকশন: AI সহকারী ফ্লাইট অপশনগুলি উপস্থাপন করে। ব্যবহারকারী যখন একটি ফ্লাইট নির্বাচন করে, তখন সহকারী একই MCP সার্ভারে “book flight” টুল আহ্বান করতে পারে এবং বুকিং সম্পন্ন করে।
যেখানে MCP LLM কে টুলের সাথে যুক্ত করে, সেখানে এজেন্ট-টু-এজেন্ট (A2A) প্রোটোকল এক ধাপ এগিয়ে এটি বিভিন্ন AI এজেন্টদের মধ্যে যোগাযোগ ও সহযোগিতাকে সক্ষম করে। A2A বিভিন্ন প্রতিষ্ঠান, পরিবেশ এবং টেক স্ট্যাকের এজেন্টদের মিলে একটি যৌথ কাজ সম্পন্ন করতে সাহায্য করে।
আমরা A2A এর উপাদান ও সুবিধা পর্যালোচনা করব, পাশাপাশি আমাদের ট্রাভেল অ্যাপ্লিকেশনে এর একটি প্রয়োগের উদাহরণ দেখব।
A2A প্রধানত এজেন্টদের মধ্যে যোগাযোগ এবং ব্যবহারকারীর একটি উপকার্যের উপকাজে সহযোগিতা সক্ষম করতে কাজ করে। প্রোটোকলের প্রতিটি উপাদান এ কাজে অবদান রাখে:
MCP সার্ভারের মতোভাবে, একটি এজেন্ট কার্ডে থাকে:
এজেন্ট এক্সিকিউটর ব্যবহারকারীর চ্যাটের প্রসঙ্গ দূরবর্তী এজেন্টকে পাঠানোর জন্য দায়ী; দূরবর্তী এজেন্টকে কাজ বুঝতে এটি প্রয়োজন। A2A সার্ভারে এজেন্ট তার নিজস্ব LLM ব্যবহার করে আসা রিকোয়েস্ট বিশ্লেষণ করে এবং তার অভ্যন্তরীণ টুলস ব্যবহার করে কাজ সম্পন্ন করে।
একবার দূরবর্তী এজেন্ট অনুরোধকৃত কাজ সম্পন্ন করলে, তার কাজের ফলাফল একটি আর্টিফ্যাক্ট হিসাবে তৈরি হয়। আর্টিফ্যাক্টে এজেন্টের কাজের ফলাফল, সম্পন্ন কাজের বিবরণ, এবং প্রোটোকলের মাধ্যমে প্রেরিত টেক্সট প্রসঙ্গ থাকে। আর্টিফ্যাক্ট প্রেরণের পর, দূরবর্তী এজেন্টের সাথে সংযোগ বিচ্ছিন্ন হয় যতক্ষণ না আবার প্রয়োজন হয়।
এই উপাদানটি আপডেট পরিচালনা এবং মেসেজ প্রেরণের জন্য ব্যবহৃত হয়। এটি প্রোডাকশনে এজেন্টিক সিস্টেমে বিশেষভাবে গুরুত্বপূর্ণ যাতে কাজ শেষ না হওয়া পর্যন্ত এজেন্টদের মধ্যকার সংযোগ বন্ধ না হয়, বিশেষ করে যখন কাজের সময়সীমা দীর্ঘ হয়।
• উন্নত সহযোগিতা: এটি বিভিন্ন প্রতিষ্ঠান ও প্লাটফর্মের এজেন্টদের পারস্পরিক যোগাযোগ, প্রসঙ্গ ভাগাভাগি এবং একসাথে কাজ করার সুযোগ দেয়, যা ঐতিহ্যবাহী বিচ্ছিন্ন সিস্টেমগুলোর মধ্যে নিরবচ্ছিন্ন অটোমেশন সম্ভব করে।
• মডেল নির্বাচন নমনীয়তা: প্রতিটি A2A এজেন্ট তার প্রয়োজন অনুযায়ী তার নিজস্ব LLM নির্বাচন করতে পারে, যা MCP এর একক LLM সংযোগের তুলনায় উন্নত পারফরম্যান্স বা বিশেষায়িত মডেল ব্যবহারকে সহজ করে।
• অন্তর্নিহিত প্রমাণীকরণ: প্রমাণীকরণ সরাসরি A2A প্রোটোকলের মধ্যে অন্তর্ভুক্ত, যা এজেন্টের মধ্যে নিরাপত্তার একটি মজবুত কাঠামো প্রদান করে।

ধরে নিই আমাদের ট্রাভেল বুকিং পরিস্থিতি, এবার A2A ব্যবহার করে।
১. ব্যবহারকারীর অনুরোধ মাল্টি-এজেন্টের কাছে: একজন ব্যবহারকারী “Travel Agent” A2A ক্লায়েন্ট/এজেন্টের সাথে ইন্টারঅ্যাক্ট করে, যেমন, “আগামী সপ্তাহে হোনোলুলু যাওয়ার পুরো ট্রিপ বুক করুন, ফ্লাইট, হোটেল, এবং গাড়ি ভাড়া সহ।”
২. ট্রাভেল এজেন্টের অর্কেস্ট্রেশন: ট্রাভেল এজেন্ট এই জটিল অনুরোধ গ্রহণ করে, তার LLM ব্যবহার করে কাজটি বিশ্লেষণ করে এবং বোঝে যে তাকে অন্যান্য বিশেষায়িত এজেন্টদের সাথে যোগাযোগ করতে হবে।
৩. এজেন্ট সংযোগ: এরপর ট্রাভেল এজেন্ট A2A প্রোটোকল ব্যবহার করে “Airline Agent,” “Hotel Agent,” এবং “Car Rental Agent” এর মত ডাউনস্ট্রীম এজেন্টদের সাথে সংযোগ স্থাপন করে, যেগুলো বিভিন্ন প্রতিষ্ঠানের তৈরি।
৪. দায়িত্বহীন কাজ সম্পাদন: ট্রাভেল এজেন্ট এই বিশেষায়িত এজেন্টদের নির্দিষ্ট কাজ দেয় (যেমন “হোনোলুলু ফ্লাইট খুঁজে বের করা,” “হোটেল বুক করা,” “গাড়ি ভাড়া নেওয়া”)। প্রতিটি এজেন্ট তাদের নিজস্ব LLM ও টুলস (যা হতে পারে MCP সার্ভার) ব্যবহার করে তাদের অংশের কাজ সম্পন্ন করে।
৫. সমন্বিত প্রতিক্রিয়া: সমস্ত ডাউনস্ট্রীম এজেন্ট কাজ শেষ করলে, ট্রাভেল এজেন্ট ফলাফলগুলো (ফ্লাইটের তথ্য, হোটেল নিশ্চিতকরণ, গাড়ি ভাড়ার বুকিং) সংকলন করে ব্যবহারকারীর জন্য একটি বিস্তারিত চ্যাট-স্টাইল প্রতিক্রিয়া পাঠায়।
ওয়েবসাইট দীর্ঘদিন ধরে ইন্টারনেট জুড়ে তথ্য ও ডেটা অ্যাক্সেস করার প্রধান মাধ্যম।
আসুন NLWeb এর বিভিন্ন উপাদান, NLWeb এর সুবিধা এবং আমাদের ট্রাভেল অ্যাপ্লিকেশন উদাহরণ দিয়ে দেখি কিভাবে NLWeb কাজ করে।
NLWeb অ্যাপ্লিকেশন (কোর সার্ভিস কোড): এটি প্রাকৃত ভাষার প্রশ্ন প্রক্রিয়াজাত করে। এটি প্ল্যাটফর্মের বিভিন্ন অংশকে সংযুক্ত করে প্রতিক্রিয়া তৈরি করে। এটিকে একটি ওয়েবসাইটের ন্যাচারাল ল্যাংগুয়েজ ফিচারের ইঞ্জিন হিসেবে ভাবা যেতে পারে।
NLWeb প্রোটোকল: এটি একটি ওয়েবসাইটের সাথে প্রাকৃত ভাষায় ইন্টারঅ্যাকশনের জন্য মৌলিক নিয়মাবলী। এটি JSON ফরম্যাট (অধিকাংশ ক্ষেত্রেই Schema.org ব্যবহার করে) এ প্রতিক্রিয়া পাঠায়। উদ্দেশ্য হল “AI ওয়েব” তৈরি করার জন্য একটি সহজ ভিত্তি স্থাপন করা, ঠিক যেমন HTML অনলাইনে ডকুমেন্ট শেয়ার করা সম্ভব করে তোলে।
MCP সার্ভার (মডেল কনটেক্সট প্রোটোকল এন্ডপয়েন্ট): প্রতিটি NLWeb সেটআপ একই সাথে একটি MCP সার্ভার হিসাবেও কাজ করে। অর্থাৎ, এটি অন্যান্য AI সিস্টেমের সাথে টুলস (যেমন ‘ask’ পদ্ধতি) ও ডেটা ভাগ করতে পারে। এতে ওয়েবসাইটের কনটেন্ট ও সক্ষমতা AI এজেন্টদের ব্যবহারযোগ্য হয় এবং সাইটটি বৃহত্তর “এজেন্ট ইকোসিস্টেম”-এর অংশ হয়ে ওঠে।
এম্বেডিং মডেল: এই মডেলগুলি ওয়েবসাইটের কনটেন্টকে ভেক্টর (এম্বেডিংস) নামে সংখ্যাত্মক প্রতিনিধিত্বে রূপান্তর করে। এভারেক্টরগুলো এমন অর্থ ধারণ করে যা কম্পিউটার তুলনা ও অনুসন্ধান করতে পারে। এগুলো একটি বিশেষ ডাটাবেসে সংরক্ষিত হয়, এবং ব্যবহারকারীরা কোন এমবেডিং মডেল ব্যবহার করবেন তা নির্বাচন করতে পারেন।
ভেক্টর ডাটাবেস (রিট্রিভাল মেকানিজম): এই ডাটাবেসে ওয়েবসাইটের কনটেন্টের এমবেডিংস সংরক্ষিত থাকে। কেউ যখন প্রশ্ন করে, NLWeb দ্রুত সবচেয়ে প্রাসঙ্গিক তথ্য খুঁজে পেতে ভেক্টর ডাটাবেসে অনুসন্ধান করে। এটি সম্ভাব্য উত্তরের একটি দ্রুত তালিকা প্রদান করে যা সাদৃশ্য অনুযায়ী র্যাঙ্ক করা হয়। NLWeb বিভিন্ন ভেক্টর স্টোরেজ সিস্টেম যেমন Qdrant, Snowflake, Milvus, Azure AI Search এবং Elasticsearch এর সাথে কাজ করে।

আবার ভাবুন আমাদের ট্রাভেল বুকিং ওয়েবসাইট, এবার এটি NLWeb দ্বারা চালিত।
১. ডেটা ইনজেশন: ট্রাভেল ওয়েবসাইটের বিদ্যমান প্রোডাক্ট ক্যাটালগ (যেমন ফ্লাইট তালিকা, হোটেল বিবরণ, ট্যুর প্যাকেজ) Schema.org অনুসারে ফরম্যাট করা হয় বা RSS ফিড এর মাধ্যমে লোড করা হয়। NLWeb এর টুলস এই কাঠামোবদ্ধ ডেটা সংগ্রহ করে এমবেডিং তৈরি করে এবং স্থানীয় বা রিমোট ভেক্টর ডাটাবেসে সংরক্ষণ করে।
২. ন্যাচারাল ল্যাংগুয়েজ কোয়েরি (মানব): একজন ব্যবহারকারী ওয়েবসাইটে আসেন এবং মেনু ঘুরে দেখার পরিবর্তে চ্যাট ইন্টারফেসে টাইপ করেন: “পরবর্তী সপ্তাহে হোনোলুলুতে একটি পরিবারের জন্য উপযোগী এবং পুলসহ হোটেল খুঁজে দিন”।
৩. NLWeb প্রক্রিয়াকরণ: NLWeb অ্যাপ্লিকেশন এই প্রশ্ন গ্রহণ করে। এটি একটি LLM কে পাঠায় বোঝার জন্য এবং একই সময়ে তার ভেক্টর ডাটাবেসে প্রাসঙ্গিক হোটেল তালিকা অনুসন্ধান করে।
৪. সঠিক ফলাফল: LLM ডাটাবেস থেকে অনুসন্ধানের ফলাফল ব্যাখ্যা করতে সাহায্য করে, “পরিবার-উপযোগী,” “পুল,” এবং “হোনোলুলু” ক্রাইটেরিয়া অনুযায়ী সেরা মিলগুলো চিহ্নিত করে এবং প্রাকৃতিক ভাষায় উত্তর গঠন করে। গুরুত্বপূর্ণ হল, প্রতিক্রিয়া ওয়েবসাইটের ক্যাটালগ থেকে আসল হোটেলগুলোর উল্লেখ করে, কল্পিত তথ্য এড়ায়।
৫. AI এজেন্ট ইন্টারঅ্যাকশন: যেহেতু NLWeb একটি MCP সার্ভার হিসেবে কাজ করে, এক্সটার্নাল AI ট্রাভেল এজেন্টও এই ওয়েবসাইটের NLWeb ইন্সট্যান্সে সংযোগ করতে পারে। AI এজেন্ট ask MCP পদ্ধতি ব্যবহার করে সোজাসুজি প্রশ্ন করতে পারে: ask("Are there any vegan-friendly restaurants in the Honolulu area recommended by the hotel?")। NLWeb এটি প্রক্রিয়া করবে, তার রেস্টুরেন্ট তথ্য ডাটাবেস (যদি লোড করা থাকে) ব্যবহার করবে এবং একটি কাঠামোবদ্ধ JSON প্রতিক্রিয়া ফেরত দেবে।
Microsoft Foundry Discord-এ যোগ দিন অন্যান্য শিক্ষানবিসদের সঙ্গে মেলামেশা করতে, অফিস আওয়ার অংশগ্রহণ করতে এবং AI এজেন্ট সংক্রান্ত প্রশ্নের উত্তর পেতে।
Context Engineering for AI Agents
অস্বীকৃতি: এই নথিটি AI অনুবাদ পরিষেবা Co-op Translator ব্যবহার করে অনূদিত হয়েছে। যদিও আমরা শুদ্ধতার জন্য চেষ্টা করি, অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল নথিটি তার স্বভাষায় কর্তৃত্বপূর্ণ উৎস হিসেবে বিবেচিত হওয়া উচিত। গুরুত্বপূর্ণ তথ্যের জন্য পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদের ব্যবহারে প্রয়োজনীয় ভুল বোঝাবুঝি বা ভুল ব্যাখ্যার জন্য আমরা দায়বদ্ধ নই।