কোনো এজেন্টই নিজের কাজ নিজে মূল্যায়ন করে না
আপনি Claude-কে আপনার কোড রিভিউ করতে বললেন। এটি বলল যে কোডটি পরিষ্কার দেখাচ্ছে। অবশ্যই বলবে। এটি মাত্র পাঁচ মিনিট আগে সেই কোডটি লিখেছিল। আপনি লেখককে তার নিজের খাতা মূল্যায়ন করতে বললেন। সে নিজেকেই 'A' গ্রেড দিয়ে দিল।
AI কোড রিভিউ কার্যকর। কিন্তু যখন আপনি লেখককে তার নিজের কাজ রিভিউ করতে বলেন, তখন তা ব্যর্থ হয়। গুণমান আসে এমন একটি আর্কিটেকচার থেকে যেখানে কোনো ভূমিকা বা রোল নিজেই নিজেকে যাচাই করে না।
২০২৪ সালের গবেষণা একটি self-preference bias বা স্ব-পছন্দমূলক পক্ষপাতিত্ব দেখায়। একটি মডেল সমমানের অন্য আউটপুটের তুলনায় নিজের আউটপুটকে বেশি রেটিং দেয়। মডেলটি তার নিজস্ব স্টাইল চিনতে পারে এবং সেটিকেই পছন্দ করে।
"লিখুন, তারপর যা লিখেছেন তা রিভিউ করুন"—এই চক্রটি ত্রুটিপূর্ণ। আপনি কোনো রিভিউ পান না, বরং আপনি পান একটি যৌক্তিকতা (justification)। এজেন্ট আগেই সিদ্ধান্ত নিয়ে নিয়েছে যে কোডটি ভালো ছিল। পুনরায় জিজ্ঞাসা করা কেবল সেই সিদ্ধান্তকেই নিশ্চিত করে।
আরও উন্নত এজেন্ট ওয়ার্কফ্লো তৈরি করতে এই নিয়মগুলো অনুসরণ করুন:
- রিভিউয়ার কখনোই লেখক হবেন না। স্টাইল চিনে ফেলার প্রবণতা ভাঙতে রিভিউয়ারের জন্য ভিন্ন একটি মডেল ফ্যামিলি ব্যবহার করুন।
- একটি পরিষ্কার কনটেক্সট ব্যবহার করুন। রিভিউয়ারকে মূল ইমপ্লিমেন্টেশন প্রম্পট বা লেখকের দেওয়া সীমাবদ্ধতাগুলো (constraints) দেখানো উচিত নয়।
- পরিচয় মুছে ফেলুন। কোডটি কে লিখেছে তা রিভিউয়ারকে বলবেন না। লেখকের পরিচয় পক্ষপাতিত্ব তৈরি করে।
- অতিরিক্ত ফ্ল্যাগিং (over-flagging) এড়িয়ে চলুন। AI রিভিউয়াররা প্রায়ই নিজেকে দরকারী প্রমাণ করার জন্য কাল্পনিক সমস্যা তৈরি করে। এর ফলে আপনি তাদের কথা শোনা বন্ধ করে দেবেন।
ভুল সতর্কতা (false alarms) এড়াতে 'receipt rule' ব্যবহার করুন। প্রতিটি প্রাপ্ত তথ্যের (finding) সাথে প্রমাণ থাকতে হবে, তা দেখার আগে।
যদি একজন রিভিউয়ার SQL injection ঝুঁকির দাবি করেন, তবে তাকে অবশ্যই প্রদান করতে হবে:
- ইউজার ইনপুটের একটি grep।
- কুয়েরি ফ্লো-এর একটি trace।
যদি মানটি একটি constant হয়, তবে সেই তথ্যটি বাদ দিন। যদি এটি একটি HTTP রিকোয়েস্ট থেকে আসে, তবে সেটি রাখুন। বিচারের আগে প্রমাণ প্রয়োজন।
গুরুত্বপূর্ণ তথ্যের ক্ষেত্রে, সংশয়বাদীদের (skeptics) একটি প্যানেল ব্যবহার করুন। তাদের কাজ বাগ (bug) নিশ্চিত করা নয়। তাদের কাজ হলো সেটিকে খণ্ডন করা। তাদের প্রমাণ করার চেষ্টা করতে হবে কেন সেই তথ্যটি আসলে কোনো বাগ নয়। যদি সংখ্যাগরিষ্ঠ সদস্য সেই তথ্যটিকে ভুল প্রমাণ করতে না পারে, তবেই সেটি পাস হবে।
সত্য আসে বিরোধ বা বৈপরীত্য থেকে, স্ব-ঘোষণা থেকে নয়।
এমন একটি সিস্টেম তৈরি করুন যেখানে ভূমিকা বা রোলগুলো কখনোই একে অপরের ওপর ওভারল্যাপ করবে না:
- লেখক কোড লিখবেন।
- টেস্টার শুধুমাত্র spec থেকে টেস্ট লিখবেন।
- রিভিউয়ার কোডটি লিখবেন না।
- কোনো মানুষ বা LLM দেখার আগে linting এবং টেস্টের মতো অবজেক্টিভ গেটগুলো অবশ্যই পাস করতে হবে।
যে সংশোধনকারী নিজেই নিজেকে সংশোধন করে, সে আসলে কিছুই সংশোধন করতে পারে না। একটি AI রিভিউয়ের গুণমান নির্ভর করে আপনি কতবার এটিকে নিজেকে গ্রেড করা থেকে বিরত রাখছেন তার ওপর।
Source: https://dev.to/ohugonnot/no-agent-grades-its-own-homework-8lb
ঐচ্ছিক লার্নিং কমিউনিটি: https://t.me/GyaanSetuAi
