আমার AI কোডিং এজেন্ট বারবার ভেঙে পড়ছিল — আমি কী পরিবর্তন করেছি

ছয় সপ্তাহ আগে, আমার AI কোডিং এজেন্ট দিয়ে আমি শুধু অকেজো কোড পাচ্ছিলাম।

এটি এমন সব ফাংশন লিখত যা কম্পাইল হতো কিন্তু কোনো কাজ করত না। এটি ভুল কারণে টেস্ট পাস করত। এটি একটি বাগ ঠিক করত কিন্তু তিনটি নতুন বাগ তৈরি করত।

আমি ভেবেছিলাম সমস্যাটি এজেন্টের। আমি ভুল ছিলাম। সমস্যাটি ছিল আমার নিজের শৃঙ্খলার অভাব।

আমি আমার ইঞ্জিনিয়ারিং কাজের ৪০% এর জন্য একটি AI এজেন্ট ব্যবহার করি। এটি রিফ্যাক্টর (refactor), টেস্ট জেনারেশন এবং বাগ ইনভেস্টিগেশন সামলায়। যখন আমার কোডবেস অগোছালো ছিল, AI সেই অগোছালো অবস্থাকে ৩ গুণ বাড়িয়ে দিয়েছিল।

AI শৃঙ্খলার বিকল্প নয়। এটি আপনার মধ্যে যা আছে তাকে বহুগুণ বাড়িয়ে দেয়।

আউটপুট ঠিক করার জন্য আমি যেভাবে আমার কাজের ধারা (workflow) পরিবর্তন করেছি তা নিচে দেওয়া হলো:

  • টেস্ট অবশ্যই আচরণের (behavior) ওপর ভিত্তি করে হতে হবে, অবস্থার (state) ওপর নয়। "assert user is not None" এর মতো টেস্ট লেখা বন্ধ করুন। এটি একটি মিথ্যা। একটি টেস্টের উচিত নির্দিষ্ট ডেটা পরীক্ষা করা, যেমন "assert user.email == expected_email।" যদি টেস্ট দুর্বল হয়, তবে AI সেটিকে কাজে লাগিয়ে ভুল ফলাফল দেবে।

  • প্রতিটি ডিফ (diff) পড়ুন। আমি আগে কোড না দেখেই রিফ্যাক্টর গ্রহণ করে ফেলতাম। এর ফলে সার্কুলার ডিপেন্ডেন্সি (circular dependencies) এবং অগোছালো আর্কিটেকচার তৈরি হতো। আপনি যদি ব্যাখ্যা করতে না পারেন যে কেন একটি পরিবর্তন আগের চেয়ে ভালো, তবে সেটি প্রত্যাখ্যান করুন।

  • স্টেট (state) স্পষ্ট রাখুন। ক্যাশ (cache) বা সেশন (session) কীভাবে হ্যান্ডেল করতে হবে তা AI-এর ওপর ছেড়ে দেবেন না। এগুলো আপনার প্রম্পট বা স্কিমাতে (schema) সংজ্ঞায়িত করুন। অনুমিত স্টেট (inferred state) এমন সব নীরব বাগ তৈরি করে যা প্রোডাকশন ক্র্যাশ করতে পারে।

  • এজেন্টের করা পরিবর্তনের জন্য নিজের টেস্ট লিখুন। প্রতিবার যখন এজেন্ট কোড পরিবর্তন করে, আমি প্রথমে নিজে একটি টেস্ট লিখি। এতে ১৫ মিনিট সময় লাগে কিন্তু ঘণ্টার পর ঘণ্টা ডিবাগিংয়ের ঝামেলা থেকে বাঁচা যায়।

  • স্পষ্ট ব্যর্থতা (loud failures) দাবি করুন। যদি কোনো পরিবর্তন টেস্ট পাস করে কিন্তু লজিক ভেঙে ফেলে, তবে সিস্টেমকে অবশ্যই সেটি চিহ্নিত করতে হবে। "টেস্ট পাস হয়েছে, পাঠিয়ে দাও" (tests pass, ship it)—এটিকে কখনোই সঠিক মাপকাঠি হিসেবে গ্রহণ করবেন না।

ফলাফল:

  • প্রতি সপ্তাহে বাগের সংখ্যা ৫ থেকে কমে ১-এর নিচে নেমে এসেছে।
  • প্রতি সপ্তাহে ডিবাগিংয়ের সময় ৬ ঘণ্টা থেকে কমে ১ ঘণ্টায় নেমে এসেছে।

এজেন্ট পরিবর্তন হয়নি। আমি পরিবর্তিত হয়েছি।

আপনি যদি AI এজেন্ট ব্যবহার করেন, তবে আগে আপনার কোডবেস ঠিক করুন। আপনার টেস্ট উন্নত করুন, স্টেট স্পষ্ট করুন এবং রিভিউ আরও কঠোর করুন।

এজেন্ট হলো একটি আয়নার মতো। নিশ্চিত করুন যে আপনার কাছে এমন কিছু আছে যা বহুগুণ বাড়িয়ে দেওয়ার মতো যোগ্য।

উৎস: https://dev.to/susiloharjo/my-ai-coding-agent-kept-breaking-what-i-changed-4l5f

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