আমার Python প্রজেক্টের প্রথম commit থেকেই একটি নিয়ম সবচেয়ে গুরুত্বপূর্ণ ছিল: কোডিং এজেন্ট কখনোই গ্রহণযোগ্যতার মানদণ্ড দেখতে পারবে না। তাই আমি দুটি এজেন্ট বানিয়েছি, যারা কখনো নোট আদান-প্রদান করে না। একটি সম্পূর্ণ স্পেসিফিকেশন থেকে টেস্ট লেখে, আর আলাদা একটি কোডিং এজেন্ট একই স্পেসিফিকেশন থেকে কোড লেখে, কিন্তু মানদণ্ডের অংশটি বাদ দিয়ে। বেশিরভাগ কোডিং পরিবেশে একই এজেন্ট দুটোই লেখে, যা টেস্ট ফলাফলের বৈধতা ক্ষুণ্ণ করে।
আমি এই বিচ্ছেদটি কোডের ভেতরেই প্রসঙ্গ সংযোজনের (context assembly) মাধ্যমে কার্যকর করেছি। এটি সেই ধাপ যা কোডিং এজেন্টের প্রম্পট তৈরি করে, এবং প্রম্পট তৈরির আগে টাস্ক ফাইলের মানদণ্ড অংশটি সরিয়ে ফেলা হয়। কিছুদিন আমার মনে হয়েছিল এই বিচ্ছেদ নিখুঁত। তারপর দেখলাম একটি মাত্র মন্তব্যের লাইন এটি ভেঙে দিতে পারে: সেখানেই বিচ্ছেদ থেমে যেত, আর মন্তব্যের পরের প্রতিটি মানদণ্ড কোডিং এজেন্টের কাছে পৌঁছে যেত। এক সপ্তাহ পরে, দ্বিতীয় লাইনে মোড়ানো একটি মানদণ্ডও একই কাজ করল। দুটো ত্রুটিই আমার নিজের ছিল। এবার সেগুলো ঠিক করার পর আমি টেস্ট যোগ করেছি, যাতে ভবিষ্যতে বিচ্ছেদটি সঠিকভাবে প্রয়োগ না হলে যেকোনো build ব্যর্থ হয়।
Skill ও MCP সার্ভারকে প্রায়ই একে অপরের সঙ্গে তুলনা করা হয়, কিন্তু আমার প্রজেক্ট যে নিয়মের ওপর নির্ভরশীল, সেখানে উত্তর দাঁড়াল: কোনোটিই নয়। আমি চেয়েছিলাম ব্যবহারকারীরা Claude Code বা Cursor-এর মতো AI সহকারী থেকে আমার command-line টুল qikly ব্যবহার করতে পারুক। এতে দুটি LLM জড়িত হয়, এবং কোনোটিরই গ্রহণযোগ্যতার মানদণ্ড দেখা উচিত নয়। সহকারী আগে থেকেই qikly চালাতে পারত, কিন্তু কখন তা ব্যবহার করতে হবে জানত না। তাই আমি একটি Skill লিখেছি: Markdown নির্দেশের একটি ফোল্ডার, যা অনুরোধ তার বিবরণের সঙ্গে মিললে সহকারী লোড করে।
Skill লিখতে গিয়ে দুটি আলাদা কাজ স্পষ্ট হলো। Skill-এর কাজ হলো পরামর্শ দেওয়া যে প্রয়োজনীয়তার মধ্যে কী থাকবে আর গ্রহণযোগ্যতার মানদণ্ডে কী থাকবে। এটি শেখানো যায়, কিন্তু নিশ্চিত করা যায় না। প্রসঙ্গ সংযোজনের কাজ হলো প্রতিবার মানদণ্ড বাদ দেওয়া, Skill ইনস্টল থাকুক বা না থাকুক। তবু পরামর্শ গুরুত্বপূর্ণ, কারণ প্রয়োজনীয়তার মধ্যেও লেখা কোনো মানদণ্ড কোডিং এজেন্টের কাছে পৌঁছে যায়। তাই আমি qikly --validate-এ এমন পুনরাবৃত্তির বিষয়ে সতর্কবার্তা দেওয়ার একটি পরীক্ষা যোগ করেছি।
প্রায়ই জিজ্ঞাসিত প্রশ্ন
প্রশ্ন: LLM-কে মানদণ্ড দেখা থেকে আটকাতে একটি ভালো মডেল বা শূন্য temperature-এর ওপর নির্ভর করা যাবে না কেন?
উত্তর: ভালো মডেল নির্দেশ বেশি মানে, কিন্তু সবসময় নয়। temperature শূন্য করলে উত্তর আরও পুনরাবৃত্তিযোগ্য হয়, বাধ্য নয়। যেসব নিয়ম সবসময় মানতেই হবে, সেগুলো কোডে প্রয়োগ করতে হবে, যেমন প্রসঙ্গ সংযোজনে। আর বিচার-বিবেচনানির্ভর নির্দেশনা Skill-এ থাকতে পারে।
উৎস: Towards Data Science · সারাংশ: HeadlinesBriefing