AI এজেন্টদের কাছে জিজ্ঞাসা করা বনাম দায়িত্ব অর্পণ করা

বেশিরভাগ ডেভেলপার AI-কে Stack Overflow-এর একটি উন্নত সংস্করণ হিসেবে ব্যবহার করেন।

আপনি একটি প্রশ্ন টাইপ করেন। আপনি একটি উত্তর পান। তারপর আপনি নিজেই কাজটি করেন। এই পদ্ধতিটি ধীরগতির।

এর চেয়ে দ্রুততর একটি উপায় আছে। আপনাকে জিজ্ঞাসা করা বন্ধ করে দায়িত্ব অর্পণ (delegating) শুরু করতে হবে।

যখন আপনি একটি AI-কে জিজ্ঞাসা করেন: "আমি আমার auth module-এর জন্য কীভাবে টেস্ট লিখব?" আপনি একটি ব্যাখ্যা পান। টেস্টগুলো আপনাকে নিজেকেই লিখতে হয়। কাজটা আপনাকে নিজেকেই করতে হয়।

যখন আপনি একটি AI এজেন্টকে দায়িত্ব অর্পণ করেন: "/src/auth.py-এর জন্য টেস্ট লিখুন। login, logout এবং invalid token কেসগুলো কভার করুন। সেগুলো রান করুন। যদি সেগুলো ফেইল করে, তবে পাস না হওয়া পর্যন্ত কোড ঠিক করুন। আপনি কী কী পরিবর্তন করেছেন তা আমাকে জানান।"

এজেন্ট আপনার ফাইলগুলো ওপেন করে। এটি টেস্টগুলো লেখে। এটি সেগুলো রান করে। এটি ফেইলরগুলো পড়ে। এটি কোড ঠিক করে। এটি আপনাকে একটি কার্যকর test suite প্রদান করে।

আপনি ফলাফলটি রিভিউ করেন। আপনি নিজে কাজটি করেননি।

কার্যকরভাবে দায়িত্ব অর্পণের জন্য চারটি অংশ প্রয়োজন:

  • লক্ষ্য (Goal): এজেন্টকে কী তৈরি করতে হবে?
  • পরিধি (Scope): এটি কোন ফাইল বা ক্ষেত্রগুলোতে কাজ করবে?
  • সফলতার শর্ত (Success condition): আমরা কীভাবে বুঝব যে এটি সঠিকভাবে সম্পন্ন হয়েছে?
  • রিপোর্ট প্রদান (Report back): এটি কী পরিবর্তন করেছে এবং কেন করেছে?

ব্যবহারিক উদাহরণ:

ডিবাগিং (Debugging): "এই এরর এবং stack trace-এর মূল কারণ খুঁজে বের করুন। এটি ঠিক করুন এবং সমস্যাটি কেন হয়েছে তা ব্যাখ্যা করুন।"

রিফ্যাক্টরিং (Refactoring): "এই ফাইলটি রিফ্যাক্টর করুন। সর্বোচ্চ দুটি nesting level ব্যবহার করুন। ৩০ লাইনের বেশি বড় কোনো ফাংশন রাখা যাবে না। প্রতিটি call site আপডেট করুন।"

ডাটাবেস মাইগ্রেশন (Database migration): "এই schema change-এর জন্য একটি idempotent migration script লিখুন। এটি সফল হয়েছে কিনা তা নিশ্চিত করতে একটি লোকাল ডাটাবেসের বিরুদ্ধে রান করুন।"

রিভিউ করা (Reviewing): "এই PR diff-টি পড়ুন। প্রোডাকশনে যা কিছু ফেইল করতে পারে তা খুঁজে বের করুন। আমি যে টেস্টগুলো বাদ দিয়েছি সেগুলো লিখে ফেলুন।"

এজেন্টরা দ্রুত কাজ করে। তবে মাঝে মাঝে তারা ভুলও করে। তাদের কাজ যাচাই করার জন্য এই তিনটি চেক ব্যবহার করুন:

১. এটি কি সমস্যার সমাধান করেছে? কোডটি রান করুন। শুধু পড়ে যাবেন না। টেস্টগুলো এক্সিকিউট করুন। এজ কেস (edge case) ফেইলর খুঁজে পাওয়ার একমাত্র উপায় হলো কোড রান করা।

২. এটি কি আপনার codebase-এর সাথে সামঞ্জস্যপূর্ণ? এজেন্ট আপনার টিমের নিয়মকানুন (conventions) জানে না। আউটপুটে কোনো অস্বাভাবিক প্যাটার্ন বা আপনার টিম এড়িয়ে চলে এমন লাইব্রেরি আছে কিনা তা পরীক্ষা করুন।

৩. এটি কি স্কোপের বাইরে কিছু পরিবর্তন করেছে? এজেন্ট কোন কোন ফাইল স্পর্শ করেছে তা পরীক্ষা করুন। একজন জুনিয়র ডেভেলপারের পাঠানো PR-এর মতো করে diff-টি পড়ুন। নিশ্চিত করুন যে সাহায্য করতে গিয়ে এটি কোনো কিছু নষ্ট করে ফেলেনি।

আপনার কাজ এখন কাজ করা থেকে সরে এসে লক্ষ্য নির্ধারণ করা এবং ফলাফল রিভিউ করার দিকে পরিবর্তিত হয়েছে। আপনি বিচারবুদ্ধি (judgment) প্রদান করেন, আর এজেন্ট প্রদান করে গতি।

উৎস: https://dev.to/omerberatsezer/asking-vs-delegating-agents-43ii

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