সবাই প্রম্পট নিয়ে কথা বলছে। লুপই হলো সেই জায়গা যেখানে এজেন্টরা আসলে ব্যর্থ হয়

প্রম্পট ইঞ্জিনিয়ারিং সব মনোযোগ কেড়ে নিচ্ছে। মানুষ প্রম্পট শেয়ার করে এবং নিজেকে বুদ্ধিমান মনে করে। কিন্তু আমি যে এজেন্টিক সিস্টেমগুলো (agentic systems) তৈরি করি, সেখানে প্রম্পট ভেঙে যায় না। লুপ ভেঙে যায়।

একটি এজেন্ট মানে কেবল একটি প্রম্পট এবং একটি রেসপন্স নয়। এটি একটি লুপ।

  • অবস্থা পর্যবেক্ষণ করা (Observe the state)।
  • একটি পদক্ষেপ নেওয়া (Take an action)।
  • ফলাফল মূল্যায়ন করা (Evaluate the result)।
  • চালিয়ে যাওয়া বা থামার সিদ্ধান্ত নেওয়া (Decide to continue or stop)।

যদি এই ধাপগুলোর কোনো একটি ব্যর্থ হয়, তবে এজেন্টটিও ব্যর্থ হয়। এটি অধ্যয়নের জন্য আমি ১,৪১২টি রান জুড়ে ১২টি মডেল বিশ্লেষণ করেছি। লুপ কীভাবে ব্যর্থ হয় এবং কীভাবে তা ঠিক করা যায়, তা নিচে দেওয়া হলো।

সাধারণ লুপ ব্যর্থতা (Common Loop Failures):

  • টোকেন স্পাইরাল (Token Spirals): এজেন্ট নিজেকে পুনরাবৃত্তি করে এবং অতিরিক্ত টোকেন ব্যবহার করে।
  • ব্লাইন্ড স্পট (Blind Spots): এজেন্ট তার পরিবেশ দেখতে পায় না এবং একই ভুল বারবার করে।
  • মিথ্যা সাফল্য (False Success): এজেন্ট ভুল উত্তর দেয় কিন্তু মনে করে সেটি সঠিক।
  • ডেড এন্ড (Dead Ends): এজেন্ট একটি ত্রুটি খুঁজে পায় কিন্তু সেই ডেটা ব্যবহার করে নিজেকে উন্নত করতে পারে না।

একটি উন্নত প্রম্পট এই সমস্যাগুলো সমাধান করতে পারে না। আপনার প্রয়োজন লুপ ইঞ্জিনিয়ারিং (loop engineering)।

উন্নত লুপের জন্য চারটি ডিজাইন প্রিন্সিপল (Design Principles):

  • লুপের সীমা নির্ধারণ করুন (Bound the loop): ইটারেশন এবং টোকেনের ওপর একটি কঠোর সীমা নির্ধারণ করুন। যদি এজেন্ট একটি সীমায় পৌঁছে যায়, তবে তাকে অবশ্যই থামতে হবে এবং সাহায্য চাইতে হবে।
  • পরিবেশকে পাঠযোগ্য করুন (Make the environment legible): নিশ্চিত করুন যে 'অবজার্ভ' (observe) ধাপটি এজেন্টকে সমস্ত তথ্য প্রদান করে। যদি একটি এজেন্ট বারবার ব্যর্থ পদক্ষেপ নেয়, তবে বুঝতে হবে তার কাছে সঠিক তথ্যের অভাব রয়েছে।
  • অ্যাক্টর এবং ইভ্যালুয়েটরকে আলাদা করুন (Separate the actor from the evaluator): একই মডেলকে তার নিজের কাজ যাচাই করতে দেবেন না। আউটপুট বিচার করার জন্য অন্য একটি মডেল বা রুল-বেসড (rule-based) চেক ব্যবহার করুন।
  • লুপটি সম্পন্ন করুন (Close the loop): প্রকৃত সমাধান পেতে ত্রুটিগুলোকে কাজে লাগান। যখন একটি লুপ ব্যর্থ হয়, তখন একটি রিগ্রেশন টেস্ট (regression test) যোগ করুন যাতে এটি আর কখনও না ঘটে।

আমি এই নিয়মগুলো ব্যবহার করে RelayOps নামে একটি সাপোর্ট এজেন্ট তৈরি করেছি। আমরা এজেন্টকে গ্রেড করার জন্য একটি স্বাধীন বিচারক (independent judge) ব্যবহার করেছি।

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

এজেন্টকে আরও বুদ্ধিমান হওয়ার প্রয়োজন ছিল না। লুপটিকে আরও উন্নত ডিজাইনের প্রয়োজন ছিল।

শুধুমাত্র প্রম্পটের ওপর মনোযোগ দেওয়া বন্ধ করুন। কাঠামোর (structure) ওপর মনোযোগ দিন।

আপনি কোন ধরনের লুপ ব্যর্থতা দেখেছেন? টোকেন স্পাইরাল, ব্লাইন্ড স্পট, নাকি এমন কোনো এজেন্ট যে আত্মবিশ্বাসের সাথে ভুল করছিল?

Source: https://dev.to/manideep_patibandla/everyone-talks-about-prompts-the-loop-is-where-agents-actually-fail-1cej

Optional learning community: https://t.me/GyaanSetuAi