(উপরের ছবিতে ক্লিক করে এই পাঠের ভিডিও দেখুন)
যেহেতু AI এজেন্টের ব্যবহার বৃদ্ধি পাচ্ছে, তাই মানকরণ, নিরাপত্তা এবং উন্মুক্ত উদ্ভাবনকে সমর্থন করার জন্য প্রোটোকলের প্রয়োজনও বাড়ছে। এই পাঠে, আমরা তিনটি প্রোটোকল নিয়ে আলোচনা করব যা এই প্রয়োজন পূরণ করতে চায় - মডেল কনটেক্সট প্রোটোকল (MCP), এজেন্ট টু এজেন্ট (A2A) এবং ন্যাচারাল ল্যাঙ্গুয়েজ ওয়েব (NLWeb)।
এই পাঠে আমরা আলোচনা করব:
• কীভাবে MCP AI এজেন্টদের বাহ্যিক টুল এবং ডেটা অ্যাক্সেস করতে সাহায্য করে ব্যবহারকারীর কাজ সম্পন্ন করতে।
• কীভাবে A2A বিভিন্ন AI এজেন্টের মধ্যে যোগাযোগ এবং সহযোগিতা সক্ষম করে।
• কীভাবে NLWeb যেকোনো ওয়েবসাইটে প্রাকৃতিক ভাষার ইন্টারফেস নিয়ে আসে, AI এজেন্টদের বিষয়বস্তু আবিষ্কার এবং এর সাথে যোগাযোগ করতে সক্ষম করে।
• সনাক্ত করুন MCP, A2A এবং NLWeb-এর মূল উদ্দেশ্য এবং সুবিধা AI এজেন্টের প্রসঙ্গে।
• ব্যাখ্যা করুন কীভাবে প্রতিটি প্রোটোকল LLMs, টুল এবং অন্যান্য এজেন্টের মধ্যে যোগাযোগ এবং ইন্টারঅ্যাকশন সহজতর করে।
• স্বীকৃতি দিন প্রতিটি প্রোটোকল কীভাবে জটিল এজেন্টিক সিস্টেম তৈরিতে আলাদা ভূমিকা পালন করে।
মডেল কনটেক্সট প্রোটোকল (MCP) একটি উন্মুক্ত মান যা LLMs-কে প্রসঙ্গ এবং টুল সরবরাহ করার জন্য অ্যাপ্লিকেশনগুলির জন্য একটি মানক উপায় প্রদান করে। এটি AI এজেন্টদের একটি “ইউনিভার্সাল অ্যাডাপ্টর” প্রদান করে যা বিভিন্ন ডেটা সোর্স এবং টুলের সাথে সংযুক্ত হতে পারে একটি ধারাবাহিক উপায়ে।
চলুন MCP-এর উপাদান, সরাসরি API ব্যবহারের তুলনায় এর সুবিধা এবং AI এজেন্টরা কীভাবে MCP সার্ভার ব্যবহার করতে পারে তার একটি উদাহরণ দেখি।
MCP ক্লায়েন্ট-সার্ভার আর্কিটেকচার-এ কাজ করে এবং এর মূল উপাদানগুলো হলো:
• হোস্ট: LLM অ্যাপ্লিকেশন (যেমন একটি কোড এডিটর যেমন VSCode) যা MCP সার্ভারের সাথে সংযোগ শুরু করে।
• ক্লায়েন্ট: হোস্ট অ্যাপ্লিকেশনের উপাদান যা সার্ভারের সাথে এক-এক সংযোগ বজায় রাখে।
• সার্ভার: হালকা প্রোগ্রাম যা নির্দিষ্ট ক্ষমতা প্রকাশ করে।
প্রোটোকলে তিনটি মূল প্রিমিটিভ অন্তর্ভুক্ত রয়েছে যা MCP সার্ভারের ক্ষমতা:
• টুল: এগুলো হলো পৃথক অ্যাকশন বা ফাংশন যা AI এজেন্ট একটি অ্যাকশন সম্পাদনের জন্য কল করতে পারে। উদাহরণস্বরূপ, একটি আবহাওয়া পরিষেবা একটি “আবহাওয়া জানুন” টুল প্রকাশ করতে পারে, অথবা একটি ই-কমার্স সার্ভার একটি “পণ্য কিনুন” টুল প্রকাশ করতে পারে। MCP সার্ভার তাদের ক্ষমতার তালিকায় প্রতিটি টুলের নাম, বিবরণ এবং ইনপুট/আউটপুট স্কিমা বিজ্ঞাপন দেয়।
• রিসোর্স: এগুলো হলো শুধুমাত্র-পড়ার ডেটা আইটেম বা ডকুমেন্ট যা MCP সার্ভার সরবরাহ করতে পারে এবং ক্লায়েন্টরা চাহিদা অনুযায়ী সেগুলো পুনরুদ্ধার করতে পারে। উদাহরণগুলোর মধ্যে রয়েছে ফাইলের বিষয়বস্তু, ডেটাবেস রেকর্ড বা লগ ফাইল। রিসোর্সগুলো টেক্সট (যেমন কোড বা JSON) বা বাইনারি (যেমন ইমেজ বা PDF) হতে পারে।
• প্রম্পট: এগুলো হলো পূর্বনির্ধারিত টেমপ্লেট যা পরামর্শিত প্রম্পট সরবরাহ করে, আরও জটিল ওয়ার্কফ্লো সক্ষম করে।
MCP AI এজেন্টদের জন্য উল্লেখযোগ্য সুবিধা প্রদান করে:
• ডায়নামিক টুল ডিসকভারি: এজেন্টরা একটি সার্ভার থেকে উপলব্ধ টুলের একটি তালিকা এবং সেগুলো কী করে তার বিবরণ গতিশীলভাবে পেতে পারে। এটি ঐতিহ্যগত API-এর সাথে বিপরীত, যা প্রায়ই ইন্টিগ্রেশনের জন্য স্থির কোডিং প্রয়োজন, অর্থাৎ যেকোনো API পরিবর্তন কোড আপডেটের প্রয়োজন। MCP একটি “একবার ইন্টিগ্রেট করুন” পদ্ধতি প্রদান করে, যা আরও অভিযোজনযোগ্যতা নিয়ে আসে।
• LLMs-এর মধ্যে আন্তঃপরিচালনযোগ্যতা: MCP বিভিন্ন LLMs-এর মধ্যে কাজ করে, মূল মডেল পরিবর্তন করার জন্য নমনীয়তা প্রদান করে যাতে আরও ভালো পারফরম্যান্স মূল্যায়ন করা যায়।
• মানক নিরাপত্তা: MCP একটি মানক প্রমাণীকরণ পদ্ধতি অন্তর্ভুক্ত করে, অতিরিক্ত MCP সার্ভার যোগ করার সময় স্কেলযোগ্যতা উন্নত করে। এটি বিভিন্ন ঐতিহ্যগত API-এর জন্য বিভিন্ন কী এবং প্রমাণীকরণ প্রকার পরিচালনার চেয়ে সহজ।
ধরুন একজন ব্যবহারকারী MCP দ্বারা চালিত একটি AI সহকারী ব্যবহার করে একটি ফ্লাইট বুক করতে চান।
সংযোগ: AI সহকারী (MCP ক্লায়েন্ট) একটি এয়ারলাইনের দ্বারা সরবরাহিত MCP সার্ভারের সাথে সংযোগ স্থাপন করে।
টুল ডিসকভারি: ক্লায়েন্ট এয়ারলাইনের MCP সার্ভারকে জিজ্ঞাসা করে, “আপনার কাছে কী টুল উপলব্ধ?” সার্ভার “ফ্লাইট অনুসন্ধান করুন” এবং “ফ্লাইট বুক করুন” এর মতো টুলগুলোর সাথে সাড়া দেয়।
টুল ইনভোকেশন: আপনি AI সহকারীকে জিজ্ঞাসা করেন, “পোর্টল্যান্ড থেকে হনলুলু পর্যন্ত একটি ফ্লাইট অনুসন্ধান করুন।” AI সহকারী, তার LLM ব্যবহার করে, চিহ্নিত করে যে এটি “ফ্লাইট অনুসন্ধান করুন” টুল কল করতে হবে এবং MCP সার্ভারে প্রাসঙ্গিক প্যারামিটার (উৎপত্তি, গন্তব্য) পাস করে।
নির্বাহ এবং প্রতিক্রিয়া: MCP সার্ভার, একটি র্যাপারের মতো কাজ করে, এয়ারলাইনের অভ্যন্তরীণ বুকিং API-তে প্রকৃত কল করে। এটি তারপর ফ্লাইট তথ্য (যেমন JSON ডেটা) গ্রহণ করে এবং AI সহকারীকে পাঠায়।
পরবর্তী ইন্টারঅ্যাকশন: AI সহকারী ফ্লাইটের বিকল্পগুলো উপস্থাপন করে। একবার আপনি একটি ফ্লাইট নির্বাচন করলে, সহকারী একই MCP সার্ভারে “ফ্লাইট বুক করুন” টুল কল করতে পারে, বুকিং সম্পন্ন করতে।
যেখানে MCP LLMs-কে টুলের সাথে সংযুক্ত করার উপর ফোকাস করে, এজেন্ট-টু-এজেন্ট (A2A) প্রোটোকল এটি আরও এক ধাপ এগিয়ে নিয়ে যায় বিভিন্ন AI এজেন্টের মধ্যে যোগাযোগ এবং সহযোগিতা সক্ষম করে। A2A বিভিন্ন সংস্থা, পরিবেশ এবং প্রযুক্তি স্ট্যাকের মধ্যে AI এজেন্টদের সংযুক্ত করে একটি ভাগ করা কাজ সম্পন্ন করতে।
আমরা A2A-এর উপাদান এবং সুবিধাগুলো পরীক্ষা করব, পাশাপাশি এটি কীভাবে আমাদের ভ্রমণ অ্যাপ্লিকেশনে প্রয়োগ করা যেতে পারে তার একটি উদাহরণ।
A2A এজেন্টদের মধ্যে যোগাযোগ সক্ষম করার এবং তাদের ব্যবহারকারীর একটি উপ-কার্য সম্পন্ন করতে একসঙ্গে কাজ করার উপর ফোকাস করে। প্রোটোকলের প্রতিটি উপাদান এতে অবদান রাখে:
যেভাবে একটি MCP সার্ভার টুলের একটি তালিকা শেয়ার করে, একটি এজেন্ট কার্ডে থাকে:
এজেন্ট এক্সিকিউটর ব্যবহারকারীর চ্যাটের প্রসঙ্গ দূরবর্তী এজেন্টে পাঠানোর জন্য দায়ী, দূরবর্তী এজেন্টকে এটি বুঝতে হবে যে কী কাজ সম্পন্ন করতে হবে। একটি A2A সার্ভারে, একটি এজেন্ট তার নিজস্ব বড় ভাষার মডেল (LLM) ব্যবহার করে আসন্ন অনুরোধগুলো বিশ্লেষণ করে এবং তার নিজস্ব অভ্যন্তরীণ টুল ব্যবহার করে কাজ সম্পন্ন করে।
একবার একটি দূরবর্তী এজেন্ট অনুরোধকৃত কাজ সম্পন্ন করলে, তার কাজের পণ্য একটি আর্টিফ্যাক্ট হিসেবে তৈরি হয়। একটি আর্টিফ্যাক্ট এজেন্টের কাজের ফলাফল, কী সম্পন্ন হয়েছে তার বিবরণ, এবং প্রোটোকলের মাধ্যমে পাঠানো টেক্সট প্রসঙ্গ ধারণ করে। আর্টিফ্যাক্ট পাঠানোর পরে, দূরবর্তী এজেন্টের সাথে সংযোগ বন্ধ হয়ে যায় যতক্ষণ না এটি আবার প্রয়োজন হয়।
এই উপাদানটি আপডেট পরিচালনা এবং বার্তা পাস করার জন্য ব্যবহৃত হয়। এটি প্রোডাকশনে এজেন্টিক সিস্টেমের জন্য বিশেষভাবে গুরুত্বপূর্ণ যাতে এজেন্টদের মধ্যে সংযোগ একটি কাজ সম্পন্ন হওয়ার আগে বন্ধ না হয়, বিশেষত যখন কাজ সম্পন্ন করতে বেশি সময় লাগে।
• উন্নত সহযোগিতা: এটি বিভিন্ন বিক্রেতা এবং প্ল্যাটফর্মের এজেন্টদের ইন্টারঅ্যাক্ট করতে, প্রসঙ্গ শেয়ার করতে এবং একসঙ্গে কাজ করতে সক্ষম করে, ঐতিহ্যগতভাবে সংযোগ বিচ্ছিন্ন সিস্টেমগুলোর মধ্যে নির্বিঘ্ন অটোমেশন সহজতর করে।
• মডেল নির্বাচন নমনীয়তা: প্রতিটি A2A এজেন্ট তার অনুরোধগুলো পরিষেবা দেওয়ার জন্য কোন LLM ব্যবহার করবে তা সিদ্ধান্ত নিতে পারে, MCP-এর কিছু পরিস্থিতিতে একটি একক LLM সংযোগের বিপরীতে এজেন্ট প্রতি অপ্টিমাইজড বা ফাইন-টিউনড মডেল ব্যবহার করার অনুমতি দেয়।
• অন্তর্নির্মিত প্রমাণীকরণ: প্রমাণীকরণ সরাসরি A2A প্রোটোকলে সংযুক্ত, এজেন্ট ইন্টারঅ্যাকশনের জন্য একটি শক্তিশালী নিরাপত্তা কাঠামো প্রদান করে।
চলুন আমাদের ভ্রমণ বুকিং দৃশ্যকল্পটি প্রসারিত করি, তবে এবার A2A ব্যবহার করে।
ব্যবহারকারীর অনুরোধ মাল্টি-এজেন্টে: একজন ব্যবহারকারী একটি “ট্রাভেল এজেন্ট” A2A ক্লায়েন্ট/এজেন্টের সাথে যোগাযোগ করে, হয়তো বলে, “অনুগ্রহ করে পরবর্তী সপ্তাহে হনলুলুতে একটি সম্পূর্ণ ট্রিপ বুক করুন, যার মধ্যে ফ্লাইট, একটি হোটেল এবং একটি ভাড়ার গাড়ি অন্তর্ভুক্ত রয়েছে।”
ট্রাভেল এজেন্ট দ্বারা অর্কেস্ট্রেশন: ট্রাভেল এজেন্ট এই জটিল অনুরোধটি গ্রহণ করে। এটি কাজটি সম্পর্কে যুক্তি করতে এবং নির্ধারণ করতে তার LLM ব্যবহার করে যে এটি অন্যান্য বিশেষায়িত এজেন্টদের সাথে যোগাযোগ করতে হবে।
ইন্টার-এজেন্ট যোগাযোগ: ট্রাভেল এজেন্ট তারপর A2A প্রোটোকল ব্যবহার করে ডাউনস্ট্রিম এজেন্টদের সাথে সংযোগ স্থাপন করে, যেমন একটি “এয়ারলাইন এজেন্ট,” একটি “হোটেল এজেন্ট,” এবং একটি “কার রেন্টাল এজেন্ট” যা বিভিন্ন কোম্পানি দ্বারা তৈরি।
প্রতিনিধিত্বমূলক কাজ সম্পাদন: ট্রাভেল এজেন্ট এই বিশেষায়িত এজেন্টদের কাছে নির্দিষ্ট কাজ পাঠায় (যেমন, “হনলুলুতে ফ্লাইট খুঁজুন,” “একটি হোটেল বুক করুন,” “একটি গাড়ি ভাড়া করুন”)। এই বিশেষায়িত এজেন্টগুলো, তাদের নিজস্ব LLMs চালিয়ে এবং তাদের নিজস্ব টুল ব্যবহার করে (যা MCP সার্ভারও হতে পারে), বুকিংয়ের তাদের নির্দিষ্ট অংশ সম্পাদন করে।
সমন্বিত প্রতিক্রিয়া: একবার সমস্ত ডাউনস্ট্রিম এজেন্ট তাদের কাজ সম্পন্ন করলে, ট্রাভেল এজেন্ট ফলাফলগুলো (ফ্লাইটের বিবরণ, হোটেলের নিশ্চিতকরণ, গাড়ি ভাড়ার বুকিং) সংকলন করে এবং ব্যবহারকারীর কাছে একটি ব্যাপক, চ্যাট-স্টাইল প্রতিক্রিয়া পাঠায়।
ওয়েবসাইটগুলো দীর্ঘদিন ধরে ব্যবহারকারীদের ইন্টারনেট জুড়ে তথ্য এবং ডেটা অ্যাক্সেস করার প্রধান উপায় হয়ে আছে।
চলুন NLWeb-এর বিভিন্ন উপাদান, NLWeb-এর সুবিধা এবং আমাদের ভ্রমণ অ্যাপ্লিকেশন দেখে NLWeb কীভাবে কাজ করে তার একটি উদাহরণ দেখি।
NLWeb অ্যাপ্লিকেশন (কোর সার্ভিস কোড): সিস্টেমটি প্রাকৃতিক ভাষার প্রশ্ন প্রক্রিয়াকরণ করে। এটি প্ল্যাটফর্মের বিভিন্ন অংশকে সংযুক্ত করে প্রতিক্রিয়া তৈরি করে। আপনি এটি একটি ওয়েবসাইটের প্রাকৃতিক ভাষার বৈশিষ্ট্যগুলোর ইঞ্জিন হিসেবে ভাবতে পারেন।
NLWeb প্রোটোকল: এটি একটি ওয়েবসাইটের সাথে প্রাকৃতিক ভাষার ইন্টারঅ্যাকশনের জন্য মৌলিক নিয়মের সেট। এটি JSON ফরম্যাটে প্রতিক্রিয়া পাঠায় (প্রায়ই Schema.org ব্যবহার করে)। এর উদ্দেশ্য হলো “AI ওয়েব” এর জন্য একটি সহজ ভিত্তি তৈরি করা, যেভাবে HTML অনলাইনে ডকুমেন্ট শেয়ার করা সম্ভব করেছিল।
MCP সার্ভার (মডেল কনটেক্সট প্রোটোকল এন্ডপয়েন্ট): প্রতিটি NLWeb সেটআপ একটি MCP সার্ভার হিসেবেও কাজ করে। এর মানে এটি টুল (যেমন একটি “জিজ্ঞাসা” পদ্ধতি) এবং ডেটা অন্যান্য AI সিস্টেমের সাথে শেয়ার করতে পারে। বাস্তবে, এটি ওয়েবসাইটের বিষয়বস্তু এবং ক্ষমতাকে AI এজেন্টদের দ্বারা ব্যবহারযোগ্য করে তোলে, সাইটটিকে বৃহত্তর “এজেন্ট ইকোসিস্টেম”-এর অংশে পরিণত করে।
এম্বেডিং মডেল: এই মডেলগুলো ওয়েবসাইটের বিষয়বস্তুকে সংখ্যাগত উপস্থাপনে রূপান্তর করতে ব্যবহৃত হয় (এম্বেডিং)। এই এম্বেডিংগুলো অর্থ ধারণ করে যা কম্পিউটার তুলনা এবং অনুসন্ধান করতে পারে। এগুলো একটি বিশেষ ডাটাবেসে সংরক্ষণ করা হয়, এবং ব্যবহারকারীরা কোন এম্বেডিং মডেল ব্যবহার করতে চান তা বেছে নিতে পারেন।
ভেক্টর ডাটাবেস (পুনরুদ্ধার প্রক্রিয়া): এই ডাটাবেসটি ওয়েবসাইট বিষয়বস্তুর এম্বেডিংগুলো সংরক্ষণ করে। যখন কেউ একটি প্রশ্ন করে, NLWeb ভেক্টর ডাটাবেস পরীক্ষা করে দ্রুত সবচেয়ে প্রাসঙ্গিক তথ্য খুঁজে বের করে। এটি একটি দ্রুত সম্ভাব্য উত্তর তালিকা দেয়, সাদৃশ্য অনুযায়ী র্যাঙ্ক করা। NLWeb বিভিন্ন ভেক্টর স্টোরেজ সিস্টেমের সাথে কাজ করে যেমন Qdrant, Snowflake, Milvus, Azure AI Search এবং Elasticsearch।
আবার আমাদের ভ্রমণ বুকিং ওয়েবসাইটটি বিবেচনা করুন, তবে এবার এটি NLWeb দ্বারা চালিত।
ডেটা ইনজেশন: ভ্রমণ ওয়েবসাইটের বিদ্যমান পণ্য ক্যাটালগ (যেমন ফ্লাইট তালিকা, হোটেলের বিবরণ, ট্যুর প্যাকেজ) Schema.org ব্যবহার করে ফরম্যাট করা হয় বা RSS ফিডের মাধ্যমে লোড করা হয়। NLWeb-এর টুলগুলো এই গঠিত ডেটা গ্রহণ করে, এম্বেডিং তৈরি করে এবং সেগুলো একটি স্থানীয় বা দূরবর্তী ভেক্টর ডাটাবেসে সংরক্ষণ করে।
প্রাকৃতিক ভাষার প্রশ্ন (মানব): একজন ব্যবহারকারী ওয়েবসাইটে যান এবং মেনু নেভিগেট করার পরিবর্তে একটি চ্যাট ইন্টারফেসে টাইপ করেন: “পরবর্তী সপ্তাহের জন্য হনলুলুতে একটি পারিবারিক-বান্ধব হোটেল খুঁজুন যেখানে একটি সুইমিং পুল রয়েছে।”
NLWeb প্রক্রিয়াকরণ: NLWeb অ্যাপ্লিকেশন এই প্রশ্নটি গ্রহণ করে। এটি প্রশ্নটি বুঝতে একটি LLM-এ পাঠায় এবং একযোগে তার ভেক্টর ড
অস্বীকৃতি:
এই নথিটি AI অনুবাদ পরিষেবা Co-op Translator ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিকতার জন্য চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।