গত দুই বছর ধরে, AI ইঞ্জিনিয়ারিং একটি সহজ ধারা অনুসরণ করেছে। একটি এজেন্টকে একটি প্রম্পট, কিছু টুলস এবং একটি মেমরি লেয়ার দিন। দেখুন সেটি কীভাবে একটি মিটিং শিডিউল করে, একটি চুক্তি সারসংক্ষেপ করে বা একটি স্ক্রিপ্ট ডিবাগ করে। পুরো লক্ষ্য ছিল একটি একক এজেন্টকে নিজেই কার্যকর করে তোলা।
সেই লক্ষ্য এখন বদলে গেছে।
আমরা এখন শিল্পকে একক এজেন্ট থেকে এজেন্ট টিমের দিকে পরিবর্তিত হতে দেখছি। একটি কাস্টমার সার্ভিস ট্রায়াজ বট একটি রিফান্ড রিকোয়েস্ট শনাক্ত করে এবং সেই কেসটি একটি পেমেন্ট এজেন্টের কাছে পাঠায়। ওয়েব ডেটা স্ক্র্যাপ করা একটি রিসার্চ এজেন্ট কোনো বিশেষ ক্ষেত্রে সীমাবদ্ধতা অনুভব করলে সেই কাজটি একটি প্রোপাইটারি ডেটাবেসে থাকা বিশেষজ্ঞ এজেন্টের কাছে হস্তান্তর করে। একটি লজিস্টিকস এজেন্ট শিপমেন্ট পরিকল্পনা করার সময় রিয়েল-টাইম ফ্রেইট কোটেশন প্রয়োজন হলে একটি প্রাইসিং এজেন্টের কাছে সেই তথ্য জানতে চায়।
কাগজে-কলমে এটি সহজ মনে হলেও বাস্তবে এটি বেশ ভঙ্গুর।
নতুন চ্যালেঞ্জটি হলো ইন্টারঅপারেবিলিটি (interoperability)। বিভিন্ন টিম ভিন্ন ভিন্ন ফ্রেমওয়ার্কে এজেন্ট তৈরি করে। বিভিন্ন ভেন্ডর ভিন্ন ভিন্ন ইন্টারফেসের সাথে এজেন্ট সরবরাহ করে। যখন একটি কোম্পানির অন্য একটি কোম্পানির সাথে কাজ করার প্রয়োজন হয়, তখন এই ব্যবধান আরও বেড়ে যায়। আমাদের কাছে এখন অনেক সক্ষম কর্মী রয়েছে কিন্তু তাদের মধ্যে কোনো সাধারণ ভাষা নেই। একটি এজেন্ট ডিরেক্টরি থেকে অন্য কোনো এজেন্টকে খুঁজে পেতে পারে না। তার সহকর্মী কী কাজ করে তার বর্ণনাও সে পড়তে পারে না। এমনকি ডেটা লিক হওয়া, কনটেক্সট হারিয়ে যাওয়া বা একই কাজ বারবার হওয়ার (duplicate execution) ঝুঁকি না নিয়ে সে কোনো সংবেদনশীল কাজ হস্তান্তর করতে পারে না।
A2A ঠিক এই সমস্যাটি সমাধানের জন্যই তৈরি করা হয়েছে। এটি এজেন্টদের ডিসকভারি, ডেলিগেশন এবং নিরাপদ সহযোগিতার জন্য একটি সাধারণ প্রোটোকল প্রদান করে।
একক এজেন্ট থেকে এজেন্ট সাইলোর (Agent Silos) দিকে
এজেন্ট ফ্রেমওয়ার্কের প্রথম ঢেউ সিস্টেমে সীমানাকে এজেন্টের সীমানা হিসেবে বিবেচনা করত। আপনি একটি রিজনিং লুপ তৈরি করতেন, তাকে কিছু টুলস দিতেন এবং আশা করতেন যে সে একটি ওয়ার্কফ্লোর মধ্য দিয়ে চিন্তা করে সমাধান করতে পারবে। যখন এজেন্টটি একটি নির্দিষ্ট কোডবেস, একটি ক্লাউড অ্যাকাউন্ট বা একটি ভেন্ডর প্ল্যাটফর্মের মধ্যে সীমাবদ্ধ থাকত, তখন এটি যথেষ্ট ভালো কাজ করত।
বাস্তব ব্যবসাগুলো কোনো মনোলিথ (monolith) বা একক কাঠামোর মধ্যে পরিচালিত হয় না। একটি রিফান্ড রিকোয়েস্ট একটি CRM থেকে শুরু হতে পারে, পাইথন (Python) দিয়ে লেখা একটি অভ্যন্তরীণ পেমেন্ট সার্ভিসে যেতে পারে এবং তৃতীয় পক্ষের হোস্ট করা একটি ফ্রড চেক দিয়ে শেষ হতে পারে। যখন আপনি এই প্রতিটি সার্ভিসকে একটি এজেন্ট হিসেবে মডেল করেন, তখন আপনি দ্রুত বুঝতে পারেন যে ভিন্ন ভিন্ন স্ট্যাকের ওপর তৈরি এজেন্টরা একে অপরকে স্বাভাবিকভাবে বুঝতে পারে না। প্রোপাইটারি ফ্রেমওয়ার্কের ওপর তৈরি এন্টারপ্রাইজ এজেন্টরা তাদের সক্ষমতা বাইরের জগতের কাছে প্রকাশ করে না।
কোনো স্ট্যান্ডার্ড বা মান না থাকলে প্রতিটি ইন্টিগ্রেশন একটি কাস্টম প্রজেক্টে পরিণত হয়। ইঞ্জিনিয়ারদের বারবার আলাদা আলাদা 'গ্লু কোড' (glue code) লিখতে হয়। তথ্যের রূপান্তরের সময় কনটেক্সট হারিয়ে যায়। সিকিউরিটি পলিসিগুলো অসামঞ্জস্যপূর্ণ হয়ে পড়ে, কারণ প্রতিটি হস্তান্তর বা হ্যান্ডঅফ হয় স্বতন্ত্রভাবে।
এজেন্ট কার্ড: একটি পাবলিক রেজ্যুমে
এজেন্টরা তারা কে এবং তারা কী করতে পারে তা ঘোষণা করার জন্য A2A 'এজেন্ট কার্ড' (Agent Cards) প্রবর্তন করেছে।
একটি এজেন্ট কার্ডকে একটি মেশিন-রিডেবল রেজ্যুমে হিসেবে ভাবুন। একটি এজেন্ট এমন একটি কার্ড প্রকাশ করে যা তার ডোমেইন, প্রয়োজনীয় ইনপুট, প্রত্যাশিত আউটপুট এবং তার গ্রহণ করা কাজের ক্ষেত্রে কোনো সীমাবদ্ধতা থাকলে তা বর্ণনা করে। একটি পেমেন্ট এজেন্ট ঘোষণা করতে পারে যে, একটি অর্ডার আইডি এবং একটি রিয়জন কোড প্রদান করা হলে সে একটি নির্দিষ্ট পরিমাণের নিচের রিফান্ড রিকোয়েস্ট প্রসেস করে এবং একটি কনফার্মেশন নম্বর বা এরর (error) প্রদান করে। একজন ডেটা স্পেশালিস্ট উল্লেখ করতে পারে যে, সে একটি নির্দিষ্ট সাইজ পর্যন্ত স্ট্রাকচার্ড ফাইল গ্রহণ করে এবং একটি নির্দিষ্ট সময়ের মধ্যে ক্লিন করা টাইম-সিরিজ ডেটা প্রদান করে।
কাজ হস্তান্তরের আগে, অনুরোধকারী এজেন্ট কার্ডটি পড়ে নেয়। সে বুঝতে পারে যে টার্গেট এজেন্টটি সেই কাজটি করার জন্য সক্ষম কি না। সে জানতে পারে যে পেলোড (payload)-এর ফরম্যাট কেমন হওয়া প্রয়োজন। সে বুঝতে পারে যে তাকে একটি সিনক্রোনাস রেসপন্স (synchronous response) নাকি একটি অ্যাসিনক্রোনাস টাস্ক (asynchronous task) যা পরে সম্পন্ন হবে, তার জন্য অপেক্ষা করতে হবে।
এটি অনুমানের প্রয়োজনীয়তা দূর করে। প্রতিটি সম্ভাব্য পার্টনারের জন্য আলাদাভাবে ইন্টিগ্রেশন হার্ডকোড করার পরিবর্তে, একটি এজেন্ট উপলব্ধ সক্ষমতাগুলো ব্রাউজ করতে পারে এবং ডায়নামিকভাবে সঠিক টিমমেট বেছে নিতে পারে।
টাস্ক: শুধুমাত্র API কল নয়, বরং একটি কাঠামোগত কাজ
এজেন্টদের মানুষের মতো চ্যাট করার প্রয়োজন নেই। তাদের কাজগুলো পরিচ্ছন্নভাবে হস্তান্তর করা প্রয়োজন। A2A এই আদান-প্রদানকে একটি 'টাস্ক' (Task) হিসেবে মডেল করে।
একটি টাস্ক হলো আরও বেশি...
