একটি AI এজেন্টের সবচেয়ে কঠিন অংশ হলো 'Unhappy Path'

বেশিরভাগ AI এজেন্টের ডেমো একটি নিখুঁত পরিস্থিতি দেখায়। একটি পরিষ্কার প্রশ্নের বিপরীতে একটি গোছানো উত্তর পাওয়া যায়। সবাই হাততালি দেয়।

প্রকৃত ইঞ্জিনিয়ারিং তখনই ঘটে যখন কোনো কিছু ভেঙে পড়ে।

একটি API ডাউন হয়ে গেলে কী হয়? যদি একটি এজেন্ট অবিরাম লুপে (loop) আটকে থাকে এবং আপনার ক্রেডিট কার্ডের ব্যালেন্স শেষ করে দেয় তবে কী হবে? যদি এজেন্টের কাছে কোনো ডেটা না থাকে কিন্তু তবুও সে এমন একটি রিপোর্ট লেখে যা দেখতে একদম আসল মনে হয়, তখন কী হবে?

জিনোমিক্সের এই সমস্যাগুলো সমাধানের জন্য আমি BioAgent তৈরি করেছি। এটি একটি স্বায়ত্তশাসিত (autonomous) অ্যানালিস্ট যা ডেটা সংগ্রহ করে, PubMed-এ অনুসন্ধান করে এবং ক্লিনিক্যাল রিপোর্ট লেখে।

এটি তৈরি করতে আমি LangGraph এবং Claude ব্যবহার করেছি। ব্যর্থতার কথা মাথায় রেখে কীভাবে তৈরি করতে হয়, সে সম্পর্কে আমি যা শিখেছি তা নিচে দেওয়া হলো।

  • প্রতিটি লুপের সীমা নির্ধারণ করুন (Bound every loop) একটি এজেন্টের অবশ্যই একটি নির্দিষ্ট 'retry limit' থাকতে হবে। যদি আপনার এজেন্ট পেইড API কল করে, তবে একটি লুপ আপনার জন্য আর্থিক ঝুঁকির কারণ হতে পারে। একটি লিমিট তখনই কাজ করবে যদি আপনি প্রতিটি ধাপে কাউন্টারটি বৃদ্ধি (increment) করেন। আপনি যদি কোডের সেই একটি লাইন ভুলে যান, তবে সিস্টেম ক্র্যাশ না হওয়া পর্যন্ত এজেন্ট লুপ করতে থাকবে।

  • সফলতার নয়, ব্যর্থতার পরীক্ষা করুন (Test the failure, not the success) ডেভেলপমেন্টের সময় 'happy path' বা স্বাভাবিক পরিস্থিতি সব সময় কাজ করে। আপনাকে টেস্টিংয়ের সময় আপনার ডিপেন্ডেন্সিগুলোকে (dependencies) ব্যর্থ হতে বাধ্য করতে হবে। এমন টেস্ট লিখুন যা নিশ্চিত করে যে, একটি API অফলাইন থাকলে এজেন্ট লুপে না গিয়ে কীভাবে মার্জিতভাবে (gracefully) পরিস্থিতি সামলে নেয়।

  • আত্মবিশ্বাসের সাথে ভুল তথ্য দেওয়া রোধ করুন (Prevent confident nonsense) সবচেয়ে বড় বিপদ সিস্টেম ক্র্যাশ করা নয়। বিপদ হলো এমন একটি রিপোর্ট যা দেখতে পেশাদার মনে হয় কিন্তু তাতে ভুয়া ডেটা থাকে। হ্যালুসিনেশন (hallucinations) বন্ধ করার জন্য শুধুমাত্র প্রম্পট ইন্সট্রাকশনের ওপর নির্ভর করবেন না। এজেন্ট যেন কখনোই নিজে থেকে কোনো মেট্রিক্স উদ্ভাবন না করে, তা নিশ্চিত করতে টেস্ট ব্যবহার করুন।

  • ফলাফলকে বাস্তব তথ্যের ওপর ভিত্তি করে রাখুন (Ground your results) রিট্রিভাল (Retrieval) তখনই কার্যকর হয় যখন টেক্সটটি রাইটারের কাছে পৌঁছায়। আমি দেখেছি যে, পূর্ণাঙ্গ অ্যাবস্ট্রাক্টের (abstracts) পরিবর্তে শুধুমাত্র ID পাস করলে মডেলটি প্রাসঙ্গিকতা তৈরির জন্য নিজে থেকে তথ্য বানিয়ে ফেলে। রিপোর্টটি যেন বাস্তব তথ্যের ওপর ভিত্তি করে থাকে তা নিশ্চিত করতে আপনাকে অবশ্যই মডেলে প্রকৃত টেক্সটটি পাস করতে হবে।

প্রম্পটে দেওয়া একটি নিয়ম হলো একটি আশা। কিন্তু একটি টেস্টে দেওয়া নিয়ম হলো একটি নিশ্চয়তা।

'Unhappy path'-এর কথা মাথায় রেখেই তৈরি করুন। কারণ এটাই আসলে সবচেয়ে গুরুত্বপূর্ণ অংশ।

Source: https://dev.to/gbadedata/the-hardest-part-of-an-autonomous-ai-agent-is-the-unhappy-path-3p2c

ঐচ্ছিক লার্নিং কমিউনিটি: https://t.me/GyaanSetuAi