ai-agents-for-beginners

এজেন্টিক প্রোটোকল ব্যবহার করা (MCP, A2A এবং NLWeb)

এজেন্টিক প্রোটোকল

যেহেতু AI এজেন্টের ব্যবহার বৃদ্ধি পাচ্ছে, তাই স্ট্যান্ডার্ডাইজেশন, নিরাপত্তা এবং উন্মুক্ত উদ্ভাবনকে সমর্থন করার জন্য প্রোটোকলের প্রয়োজনও বাড়ছে। এই পাঠে, আমরা তিনটি প্রোটোকল নিয়ে আলোচনা করব যা এই চাহিদা পূরণের চেষ্টা করছে - মডেল কনটেক্সট প্রোটোকল (MCP), এজেন্ট টু এজেন্ট (A2A) এবং ন্যাচারাল ল্যাঙ্গুয়েজ ওয়েব (NLWeb)।

পরিচিতি

এই পাঠে আমরা আলোচনা করব:

• কীভাবে MCP AI এজেন্টদের বাহ্যিক টুল এবং ডেটা অ্যাক্সেস করতে সাহায্য করে ব্যবহারকারীর কাজ সম্পন্ন করতে।

• কীভাবে A2A বিভিন্ন AI এজেন্টের মধ্যে যোগাযোগ এবং সহযোগিতা সক্ষম করে।

• কীভাবে NLWeb যেকোনো ওয়েবসাইটে প্রাকৃতিক ভাষার ইন্টারফেস নিয়ে আসে, যা AI এজেন্টদের বিষয়বস্তু আবিষ্কার এবং এর সাথে যোগাযোগ করতে সক্ষম করে।

শেখার লক্ষ্য

সনাক্ত করুন MCP, A2A এবং NLWeb-এর মূল উদ্দেশ্য এবং সুবিধা AI এজেন্টের প্রসঙ্গে।

ব্যাখ্যা করুন কীভাবে প্রতিটি প্রোটোকল LLMs, টুল এবং অন্যান্য এজেন্টের মধ্যে যোগাযোগ এবং ইন্টারঅ্যাকশন সহজতর করে।

চিনতে শিখুন প্রতিটি প্রোটোকল কীভাবে জটিল এজেন্টিক সিস্টেম তৈরিতে আলাদা ভূমিকা পালন করে।

মডেল কনটেক্সট প্রোটোকল

মডেল কনটেক্সট প্রোটোকল (MCP) একটি ওপেন স্ট্যান্ডার্ড যা LLMs-কে কনটেক্সট এবং টুল সরবরাহ করার জন্য অ্যাপ্লিকেশনগুলির জন্য একটি স্ট্যান্ডার্ডাইজড পদ্ধতি প্রদান করে। এটি AI এজেন্টদের বিভিন্ন ডেটা সোর্স এবং টুলের সাথে সংযুক্ত করার জন্য একটি “ইউনিভার্সাল অ্যাডাপ্টর” সক্ষম করে।

চলুন MCP-এর উপাদান, সরাসরি API ব্যবহারের তুলনায় এর সুবিধা এবং AI এজেন্টরা কীভাবে MCP সার্ভার ব্যবহার করতে পারে তার একটি উদাহরণ দেখি।

MCP-এর মূল উপাদান

MCP একটি ক্লায়েন্ট-সার্ভার আর্কিটেকচার-এ কাজ করে এবং এর মূল উপাদানগুলো হলো:

হোস্ট: LLM অ্যাপ্লিকেশন (যেমন VSCode-এর মতো একটি কোড এডিটর) যা MCP সার্ভারের সাথে সংযোগ শুরু করে।

ক্লায়েন্ট: হোস্ট অ্যাপ্লিকেশনের মধ্যে থাকা উপাদান যা সার্ভারের সাথে এক-এক সংযোগ বজায় রাখে।

সার্ভার: হালকা প্রোগ্রাম যা নির্দিষ্ট ক্ষমতা প্রকাশ করে।

প্রোটোকলে তিনটি মূল প্রিমিটিভ অন্তর্ভুক্ত রয়েছে, যা MCP সার্ভারের ক্ষমতা:

টুল: এগুলো হলো পৃথক অ্যাকশন বা ফাংশন যা AI এজেন্ট একটি অ্যাকশন সম্পাদন করতে কল করতে পারে। উদাহরণস্বরূপ, একটি আবহাওয়া পরিষেবা “আবহাওয়া জানুন” টুল প্রকাশ করতে পারে, অথবা একটি ই-কমার্স সার্ভার “পণ্য কিনুন” টুল প্রকাশ করতে পারে। MCP সার্ভার প্রতিটি টুলের নাম, বিবরণ এবং ইনপুট/আউটপুট স্কিমা তাদের ক্ষমতার তালিকায় বিজ্ঞাপন দেয়।

রিসোর্স: এগুলো হলো রিড-অনলি ডেটা আইটেম বা ডকুমেন্ট যা MCP সার্ভার সরবরাহ করতে পারে এবং ক্লায়েন্ট প্রয়োজন অনুযায়ী সেগুলো পুনরুদ্ধার করতে পারে। উদাহরণস্বরূপ, ফাইলের বিষয়বস্তু, ডেটাবেস রেকর্ড বা লগ ফাইল। রিসোর্সগুলো টেক্সট (যেমন কোড বা JSON) বা বাইনারি (যেমন ইমেজ বা PDF) হতে পারে।

প্রম্পট: এগুলো হলো পূর্বনির্ধারিত টেমপ্লেট যা পরামর্শিত প্রম্পট সরবরাহ করে, আরও জটিল ওয়ার্কফ্লো সক্ষম করে।

MCP-এর সুবিধা

MCP AI এজেন্টদের জন্য উল্লেখযোগ্য সুবিধা প্রদান করে:

ডায়নামিক টুল ডিসকভারি: এজেন্টরা একটি সার্ভার থেকে উপলব্ধ টুলের তালিকা এবং সেগুলো কী করে তার বিবরণ গতিশীলভাবে পেতে পারে। এটি ঐতিহ্যবাহী API-এর সাথে বিপরীত, যা প্রায়ই ইন্টিগ্রেশনের জন্য স্থির কোডিং প্রয়োজন হয়, অর্থাৎ API পরিবর্তন হলে কোড আপডেট করতে হয়। MCP একটি “একবার ইন্টিগ্রেট করুন” পদ্ধতি প্রদান করে, যা আরও অভিযোজনযোগ্যতা নিশ্চিত করে।

LLMs-এর মধ্যে আন্তঃপরিচালনযোগ্যতা: MCP বিভিন্ন LLM-এর মধ্যে কাজ করে, মূল মডেল পরিবর্তন করার জন্য নমনীয়তা প্রদান করে যাতে আরও ভালো পারফরম্যান্স মূল্যায়ন করা যায়।

স্ট্যান্ডার্ডাইজড নিরাপত্তা: MCP একটি স্ট্যান্ডার্ড অথেনটিকেশন পদ্ধতি অন্তর্ভুক্ত করে, অতিরিক্ত MCP সার্ভার যোগ করার সময় স্কেলেবিলিটি উন্নত করে। এটি বিভিন্ন ঐতিহ্যবাহী API-এর জন্য বিভিন্ন কী এবং অথেনটিকেশন টাইপ পরিচালনার চেয়ে সহজ।

MCP উদাহরণ

MCP Diagram

ধরুন একজন ব্যবহারকারী MCP দ্বারা চালিত একটি AI অ্যাসিস্ট্যান্ট ব্যবহার করে একটি ফ্লাইট বুক করতে চান।

  1. সংযোগ: AI অ্যাসিস্ট্যান্ট (MCP ক্লায়েন্ট) একটি এয়ারলাইনের MCP সার্ভারের সাথে সংযোগ স্থাপন করে।

  2. টুল ডিসকভারি: ক্লায়েন্ট এয়ারলাইনের MCP সার্ভারকে জিজ্ঞাসা করে, “আপনার কাছে কী টুল রয়েছে?” সার্ভার “ফ্লাইট খুঁজুন” এবং “ফ্লাইট বুক করুন” টুলের মতো টুলের তালিকা প্রদান করে।

  3. টুল ইনভোকেশন: আপনি AI অ্যাসিস্ট্যান্টকে বলেন, “পোর্টল্যান্ড থেকে হনলুলু পর্যন্ত একটি ফ্লাইট খুঁজুন।” AI অ্যাসিস্ট্যান্ট, তার LLM ব্যবহার করে, বুঝতে পারে যে এটি “ফ্লাইট খুঁজুন” টুল কল করতে হবে এবং প্রাসঙ্গিক প্যারামিটার (উৎপত্তি, গন্তব্য) MCP সার্ভারে পাঠায়।

  4. এক্সিকিউশন এবং রেসপন্স: MCP সার্ভার, একটি র‍্যাপারের মতো কাজ করে, এয়ারলাইনের অভ্যন্তরীণ বুকিং API-তে আসল কল করে। এটি ফ্লাইট তথ্য (যেমন JSON ডেটা) গ্রহণ করে এবং AI অ্যাসিস্ট্যান্টে পাঠায়।

  5. পরবর্তী ইন্টারঅ্যাকশন: AI অ্যাসিস্ট্যান্ট ফ্লাইট অপশন উপস্থাপন করে। আপনি একটি ফ্লাইট নির্বাচন করলে, অ্যাসিস্ট্যান্ট একই MCP সার্ভারে “ফ্লাইট বুক করুন” টুল কল করতে পারে, বুকিং সম্পন্ন করে।

এজেন্ট-টু-এজেন্ট প্রোটোকল (A2A)

যেখানে MCP LLMs-কে টুলের সাথে সংযুক্ত করার উপর ফোকাস করে, এজেন্ট-টু-এজেন্ট (A2A) প্রোটোকল এটি আরও এক ধাপ এগিয়ে নিয়ে যায়, বিভিন্ন AI এজেন্টের মধ্যে যোগাযোগ এবং সহযোগিতা সক্ষম করে। A2A বিভিন্ন সংস্থা, পরিবেশ এবং প্রযুক্তি স্ট্যাকের মধ্যে AI এজেন্টদের সংযুক্ত করে একটি ভাগ করা কাজ সম্পন্ন করতে।

আমরা A2A-এর উপাদান এবং সুবিধাগুলো পরীক্ষা করব, পাশাপাশি আমাদের ট্রাভেল অ্যাপ্লিকেশনে এটি কীভাবে প্রয়োগ করা যেতে পারে তার একটি উদাহরণ দেখব।

A2A-এর মূল উপাদান

A2A এজেন্টদের মধ্যে যোগাযোগ সক্ষম করার এবং তাদের ব্যবহারকারীর একটি সাবটাস্ক সম্পন্ন করতে একসঙ্গে কাজ করার উপর ফোকাস করে। প্রোটোকলের প্রতিটি উপাদান এতে অবদান রাখে:

এজেন্ট কার্ড

যেভাবে একটি MCP সার্ভার টুলের তালিকা শেয়ার করে, একটি এজেন্ট কার্ডে থাকে:

এজেন্ট এক্সিকিউটর

এজেন্ট এক্সিকিউটর ব্যবহারকারীর চ্যাটের প্রসঙ্গ রিমোট এজেন্টে পাঠানোর জন্য দায়ী, রিমোট এজেন্টকে এটি বুঝতে হবে যে কোন কাজটি সম্পন্ন করতে হবে। একটি A2A সার্ভারে, একটি এজেন্ট তার নিজস্ব বড় ভাষার মডেল (LLM) ব্যবহার করে আসা অনুরোধগুলো পার্স করে এবং তার নিজস্ব অভ্যন্তরীণ টুল ব্যবহার করে কাজ সম্পন্ন করে।

আর্টিফ্যাক্ট

একবার একটি রিমোট এজেন্ট অনুরোধকৃত কাজটি সম্পন্ন করলে, তার কাজের ফলাফল একটি আর্টিফ্যাক্ট হিসেবে তৈরি হয়। একটি আর্টিফ্যাক্ট এজেন্টের কাজের ফলাফল, কী সম্পন্ন হয়েছে তার বিবরণ, এবং প্রোটোকলের মাধ্যমে পাঠানো টেক্সট প্রসঙ্গ ধারণ করে। আর্টিফ্যাক্ট পাঠানোর পরে, রিমোট এজেন্টের সাথে সংযোগ বন্ধ হয়ে যায় যতক্ষণ না এটি আবার প্রয়োজন হয়।

ইভেন্ট কিউ

এই উপাদানটি আপডেট পরিচালনা এবং বার্তা পাঠানোর জন্য ব্যবহৃত হয়। এটি প্রোডাকশনে এজেন্টিক সিস্টেমের জন্য বিশেষভাবে গুরুত্বপূর্ণ যাতে এজেন্টদের মধ্যে সংযোগ একটি কাজ সম্পন্ন হওয়ার আগে বন্ধ না হয়, বিশেষত যখন কাজ সম্পন্ন করতে দীর্ঘ সময় লাগে।

A2A-এর সুবিধা

উন্নত সহযোগিতা: এটি বিভিন্ন বিক্রেতা এবং প্ল্যাটফর্মের এজেন্টদের ইন্টারঅ্যাক্ট করতে, প্রসঙ্গ শেয়ার করতে এবং একসঙ্গে কাজ করতে সক্ষম করে, ঐতিহ্যগতভাবে সংযোগ বিচ্ছিন্ন সিস্টেমগুলোর মধ্যে নির্বিঘ্ন অটোমেশন সহজতর করে।

মডেল নির্বাচন নমনীয়তা: প্রতিটি A2A এজেন্ট তার অনুরোধগুলো পরিষেবা দেওয়ার জন্য কোন LLM ব্যবহার করবে তা সিদ্ধান্ত নিতে পারে, যা এজেন্ট প্রতি অপ্টিমাইজড বা ফাইন-টিউনড মডেলগুলোর অনুমতি দেয়, কিছু MCP পরিস্থিতিতে একটি একক LLM সংযোগের বিপরীতে।

বিল্ট-ইন অথেনটিকেশন: অথেনটিকেশন সরাসরি A2A প্রোটোকলে সংযুক্ত, এজেন্ট ইন্টারঅ্যাকশনের জন্য একটি শক্তিশালী নিরাপত্তা কাঠামো প্রদান করে।

A2A উদাহরণ

A2A Diagram

চলুন আমাদের ট্রাভেল বুকিং দৃশ্যটি প্রসারিত করি, তবে এবার A2A ব্যবহার করে।

  1. ব্যবহারকারীর অনুরোধ মাল্টি-এজেন্টে: একজন ব্যবহারকারী একটি “ট্রাভেল এজেন্ট” A2A ক্লায়েন্ট/এজেন্টের সাথে যোগাযোগ করে, হয়তো বলে, “অনুগ্রহ করে পরের সপ্তাহে হনলুলুতে একটি সম্পূর্ণ ট্রিপ বুক করুন, যার মধ্যে ফ্লাইট, একটি হোটেল এবং একটি রেন্টাল কার অন্তর্ভুক্ত থাকবে।”

  2. ট্রাভেল এজেন্ট দ্বারা অর্কেস্ট্রেশন: ট্রাভেল এজেন্ট এই জটিল অনুরোধটি গ্রহণ করে। এটি তার LLM ব্যবহার করে কাজটি সম্পর্কে যুক্তি করে এবং নির্ধারণ করে যে এটি অন্যান্য বিশেষায়িত এজেন্টদের সাথে যোগাযোগ করতে হবে।

  3. ইন্টার-এজেন্ট যোগাযোগ: ট্রাভেল এজেন্ট তারপর A2A প্রোটোকল ব্যবহার করে ডাউনস্ট্রিম এজেন্টদের সাথে সংযোগ স্থাপন করে, যেমন একটি “এয়ারলাইন এজেন্ট,” একটি “হোটেল এজেন্ট,” এবং একটি “কার রেন্টাল এজেন্ট” যা বিভিন্ন কোম্পানি দ্বারা তৈরি।

  4. ডেলিগেটেড টাস্ক এক্সিকিউশন: ট্রাভেল এজেন্ট এই বিশেষায়িত এজেন্টদের কাছে নির্দিষ্ট কাজ পাঠায় (যেমন, “হনলুলুতে ফ্লাইট খুঁজুন,” “একটি হোটেল বুক করুন,” “একটি গাড়ি ভাড়া করুন”)। এই বিশেষায়িত এজেন্টগুলো, তাদের নিজস্ব LLM চালিয়ে এবং তাদের নিজস্ব টুল ব্যবহার করে (যা MCP সার্ভারও হতে পারে), তাদের নির্দিষ্ট অংশ সম্পন্ন করে।

  5. সমন্বিত প্রতিক্রিয়া: একবার সমস্ত ডাউনস্ট্রিম এজেন্ট তাদের কাজ সম্পন্ন করলে, ট্রাভেল এজেন্ট ফলাফলগুলো (ফ্লাইটের বিবরণ, হোটেলের নিশ্চিতকরণ, গাড়ি ভাড়ার বুকিং) সংকলন করে এবং ব্যবহারকারীর কাছে একটি ব্যাপক, চ্যাট-স্টাইল প্রতিক্রিয়া পাঠায়।

ন্যাচারাল ল্যাঙ্গুয়েজ ওয়েব (NLWeb)

ওয়েবসাইট দীর্ঘদিন ধরে ইন্টারনেট জুড়ে তথ্য এবং ডেটা অ্যাক্সেস করার জন্য ব্যবহারকারীদের প্রধান উপায় হয়ে উঠেছে।

চলুন NLWeb-এর বিভিন্ন উপাদান, NLWeb-এর সুবিধা এবং আমাদের ট্রাভেল অ্যাপ্লিকেশনের মাধ্যমে NLWeb কীভাবে কাজ করে তার একটি উদাহরণ দেখি।

NLWeb-এর উপাদান

NLWeb উদাহরণ

NLWeb

ধরুন আমাদের ট্রাভেল বুকিং ওয়েবসাইটটি এবার NLWeb দ্বারা চালিত।

  1. ডেটা ইনজেশন: ট্রাভেল ওয়েবসাইটের বিদ্যমান প্রোডাক্ট ক্যাটালগ (যেমন ফ্লাইট তালিকা, হোটেলের বিবরণ, ট্যুর প্যাকেজ) Schema.org ব্যবহার করে ফরম্যাট করা হয় বা RSS ফিডের মাধ্যমে লোড করা হয়। NLWeb-এর টুলগুলো এই গঠিত ডেটা ইনজেস্ট করে, এম্বেডিং তৈরি করে এবং সেগুলো একটি স্থানীয় বা রিমোট ভেক্টর ডাটাবেসে সংরক্ষণ করে।

  2. প্রাকৃতিক ভাষার প্রশ্ন (মানব): একজন ব্যবহারকারী ওয়েবসাইটে যান এবং মেনু নেভিগেট করার পরিবর্তে একটি চ্যাট ইন্টারফেসে টাইপ করেন: “পরের সপ্তাহের জন্য হনলুলুতে একটি পারিবারিক-বান্ধব হোটেল খুঁজুন যেখানে একটি সুইমিং পুল রয়েছে।”

  3. NLWeb প্রক্রিয়াকরণ: NLWeb অ্যাপ্লিকেশন এই প্রশ্নটি গ্রহণ করে। এটি প্রশ্নটি বুঝতে একটি LLM-এ পাঠায় এবং একই সাথে তার ভেক্টর ডাটাবেস


অস্বীকৃতি:
এই নথিটি AI অনুবাদ পরিষেবা Co-op Translator ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা তার জন্য দায়ী থাকব না।