আপনার এজেন্ট সবকিছু পরীক্ষা করেছে। তবুও তা ভুল ছিল।
আমি একটি মাল্টি-এজেন্ট ওয়ার্কফ্লো (multi-agent workflow) চালাই। একটি মডেল ডিজাইন করে। একটি কোড লেখে। একটি সেটি রিভিউ করে। আমি চূড়ান্ত ফলাফল অনুমোদন করি।
সম্প্রতি, এই পাইপলাইনের মধ্য দিয়ে তিনটি ব্যর্থতা পার হয়ে গেছে। প্রতিটি এজেন্ট তার কাজ নিখুঁতভাবে করেছে। সিস্টেমটি সামঞ্জস্যপূর্ণ ছিল, তবুও এটি ধারাবাহিকভাবে ভুল ছিল।
এটি বুদ্ধিমত্তার সমস্যা নয়। এটি একটি সীমানার (boundary) সমস্যা। একটি এজেন্ট আপনি যে প্রেক্ষাপট (context) প্রদান করেন তার মধ্যে ঠিক তাই করে যা আপনি তাকে করতে বলেন। এটি নিজে থেকে যাচাই করার জন্য নতুন কিছু খুঁজে বের করবে না।
এখানে তিনটি বাস্তব জগতের ব্যর্থতা এবং সেগুলো কীভাবে সমাধান করবেন তা দেওয়া হলো:
১. সাফল্যের আড়ালে ব্যর্থতা একটি ETL পাইপলাইন একটি API থেকে ডেটা সংগ্রহ করছিল। API সেশনটি শেষ হয়ে গিয়েছিল। একটি এরর কোড (error code) দেওয়ার পরিবর্তে, API একটি HTTP 200 রিটার্ন করেছিল যার ভেতরে JSON-এ একটি এরর মেসেজ ছিল। এজেন্টটি এরর কোড চেক করেছিল, কোনো এরর পায়নি এবং ধরে নিয়েছিল যে ডেটাটি সঠিক।
- সমাধান: সিম্যান্টিক ভ্যালিডেশন (semantic validation) ব্যবহার করুন। শুধুমাত্র একটি কল সফল হয়েছে কিনা তা চেক করবেন না। রিটার্ন করা ডেটা প্রত্যাশিত স্ট্রাকচার এবং রো কাউন্টের (row count) সাথে মিলছে কিনা তা যাচাই করুন।
২. অনুপস্থিত আর্টিফ্যাক্টস (Missing artifacts) একটি কোড জেনারেটর একটি চিপের জন্য C ফাইল তৈরি করেছিল। রিভিউয়ার নিশ্চিত করেছিলেন যে কোডটি সঠিক ছিল। তবে, জেনারেটরটি প্রয়োজনীয় উইজেট টেবিল ফাইলটি (widget table file) তৈরি করেনি। রিভিউয়ার বিদ্যমান ফাইলগুলো পরীক্ষা করেছিলেন কিন্তু কোন ফাইল অনুপস্থিত আছে তা পরীক্ষা করেননি।
- সমাধান: আউটপুটের পূর্ণতা যাচাই করুন। সর্বদা প্রয়োজনীয় ফাইলগুলোর একটি তালিকা আগে তৈরি করুন। পরবর্তী ধাপে যাওয়ার আগে নিশ্চিত করুন যে প্রতিটি ফাইল বিদ্যমান এবং খালি নয়।
৩. ভুল প্রযুক্তিগত দাবি একটি SDK ফোল্ডার দাবি করেছিল যে এটি একটি RISC-V চিপের জন্য, কিন্তু হেডার কমেন্টে বলা হয়েছিল এটি একটি CSKY প্রসেসরের জন্য। এজেন্ট ফোল্ডারের নাম এবং কমেন্টগুলোর ওপর বিশ্বাস করেছিল। এটি প্রকৃত মেশিন ইন্সট্রাকশনগুলোকে (machine instructions) উপেক্ষা করেছিল যা প্রমাণ করেছিল যে দাবিটি ভুল ছিল।
- সমাধান: গ্রাউন্ড-ট্রুথ ভেরিফিকেশন (ground-truth verification) ব্যবহার করুন। যদি কোনো ফাইল কোনো দাবি করে, তবে একটি কমান্ডের মাধ্যমে সেই দাবিটি পরীক্ষা করুন। কমেন্ট বা ডিরেক্টরি নামের ওপর ভরসা করবেন না। র (raw) ডেটার ওপর ভরসা করুন।
এজেন্টরা কেবল তাই যাচাই করবে যা আপনি তাদের যাচাই করতে বলবেন। তারা জিজ্ঞেস করবে না, "আর কী কী ভুল হতে পারে?"
আপনাকে সীমানা (boundaries) ডিজাইন করতে হবে। আপনাকে আপনার ওয়ার্কফ্লোর প্রান্তগুলোতে ভেরিফিকেশন চেকপয়েন্ট তৈরি করতে হবে।
Source: https://dev.to/antonio_zhu_e726fd856cd86/your-agent-checked-everything-it-was-still-wrong-18kd
Optional learning community: https://t.me/GyaanSetuAi