আমার এজেন্ট এক সন্ধ্যায় ৩টি PR শিপ করেছে। আমার মেসেজগুলোর ৪০% ছিল সংশোধন।

আমার AI-চালিত কোডিং এজেন্ট একটি মাত্র সন্ধ্যায় তিনটি pull request পুশ করেছে, কিন্তু আমার পাঠানো ৩০টি মেসেজের মধ্যে ৪০% ছিল সংশোধন।

এই সেশনে একটি MCP client, একটি Azure AI Agent এবং একটি M365 Copilot Agent তৈরি করা হয়েছে। অটোমেটেড চেকগুলো তিনটি PR-ই পাস করে দিয়েছে এবং আমি কোডের একটি লাইনও এডিট করিনি। তবুও ট্রান্সক্রিপ্ট অন্য একটি গল্প বলছে: মোট ৭১০টি মেসেজের মধ্যে আমি টাইপ করেছি ৩০টি, এবং তার মধ্যে ১২টি মেসেজ এজেন্টকে সঠিক পথে ফিরিয়ে আনতে সাহায্য করেছে। “steering rate” বা স্টিয়ারিং রেট—অর্থাৎ আমার পাঠানো মেসেজগুলোর মধ্যে কত শতাংশ সংশোধন ছিল—তা দাঁড়িয়েছে ৪০%।

পাইপলাইনটি কীভাবে সাজানো ছিল

  • Claude একটি হাই-লেভেল ইমপ্লিমেন্টেশন প্ল্যান তৈরি করেছিল।
  • DeepSeek V4-Flash অর্কেস্ট্রেটর হিসেবে কাজ করেছিল এবং প্ল্যানটি রিভিউ করেছিল।
  • Codex আসল কোডটি জেনারেট করেছিল।
  • অর্কেস্ট্রেটর কোডটি পরীক্ষা করেছিল এবং pull request গুলো ওপেন করেছিল।

অরকেস্ট্রেটরের মূল ভূমিকা ছিল শুধুমাত্র সংযোগকারী হিসেবে—এর কাজ ছিল কম্পোনেন্টগুলোর মধ্যে দ্বন্দ্ব বা কনফ্লিক্ট সমাধান করা, নিজে কোড লেখা নয়। বাস্তবে, এজেন্টটি প্রায় ৪০ মিনিটে তিনটি PR-এর মাধ্যমে ৩,৫০০ লাইনের কোড তৈরি করেছে, তবে এটি দুটি পুনরাবৃত্তিমূলক ত্রুটির (error classes) সম্মুখীন হয়েছিল।

ত্রুটির দুটি ধরন

১. Workflow violations (ওয়ার্কফ্লো লঙ্ঘন) – অর্কেস্ট্রেটর মাঝে মাঝে কোডিং ধাপটি নিজে দখল করে নিত, তার “glue” বা সংযোগকারী ভূমিকা উপেক্ষা করে নিজে ইমপ্লিমেন্টেশনের বিস্তারিত লিখতে শুরু করত। ২. Context-retrieval failures (কনটেক্সট-রিট্রিভাল ব্যর্থতা) – সুনির্দিষ্ট নির্দেশ থাকা সত্ত্বেও, এজেন্ট ভুল SDK বা ভার্সন নির্বাচন করেছিল। সঠিক তথ্যটি প্রম্পট কনটেক্সটে ছিল, কিন্তু মডেলটি সঠিক সময়ে সেটি উপস্থাপন করতে ব্যর্থ হয়েছিল।

এগুলো যুক্তিবোধের অভাব নয়; বরং ওয়ার্কফ্লো কীভাবে সীমাবদ্ধ করা হয়েছে তার মধ্যে থাকা ইঞ্জিনিয়ারিং বাগ। এমনকি আরও শক্তিশালী ল্যাঙ্গুয়েজ মডেল হলেও অর্কেস্ট্রেটরকে তার নন-কোডিং দায়িত্বের মধ্যে আটকে রাখতে এবং সঠিক SDK নির্বাচন করতে বাধ্য করার জন্য একটি কঠোর ও অকাট্য নিয়মের প্রয়োজন হবে।

এজেন্টকে নিয়ন্ত্রণে আনতে আমি যা পরিবর্তন করেছি

আমি ধরে নেওয়া বন্ধ করেছি যে সিস্টেমটি ধাপের তালিকা থেকে তার ভূমিকা নিজে থেকেই বুঝে নেবে। আমি একটি সরাসরি বিবৃতি যোগ করেছি: “You are an orchestrator. You do not implement.” এই নির্দেশটি কার্যকর হতে পাঁচটি সংশোধনমূলক মেসেজ লেগেছিল, যার পরে এজেন্টটি সেই সীমানা মেনে চলে।

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

AI-সহায়ক ডেভেলপমেন্টের জন্য ব্যবহারিক শিক্ষা

  • আপনার নিজের মেসেজগুলো গণনা করুন। অনেক বেশি সংখ্যক গৃহীত PR একটি ত্রুটিপূর্ণ প্রক্রিয়াকে আড়াল করতে পারে। আপনার সংশোধনের সংখ্যা একটি প্রধান নির্দেশক যে কোথায় সিস্টেমটি দুর্বল হচ্ছে।
  • ভূমিকা স্পষ্টভাবে উল্লেখ করুন। এজেন্টরা চেকলিস্ট থেকে তাদের পরিচয় নিজে থেকে অনুমান করতে পারে না; তারা কে এবং তারা কী করতে পারে সে সম্পর্কে তাদের একটি স্পষ্ট ও সুনির্দিষ্ট নির্দেশনার প্রয়োজন।
  • টুল নির্বাচনের ভুলগুলোকে ইঞ্জিনিয়ারিং বাগ হিসেবে গণ্য করুন। যদি এজেন্ট একটি নির্দিষ্ট SDK উপেক্ষা করে, তবে দোষটি মডেলের “জ্ঞান”-এর নয়, বরং কনটেক্সট-ডেলিভারি মেকানিজমের।
  • ভুলগুলোকে পুনরায় ব্যবহারযোগ্য দক্ষতায় রূপান্তর করুন। আমি এজেন্টকে তার নিজের ভুল থেকে একটি ভ্যালিডেশন রুটিন তৈরি করতে দিয়েছি, যা একটি ব্যর্থতাকে ভবিষ্যতের সুরক্ষায় পরিণত করেছে।

বৃহত্তর প্রেক্ষাপট