কোড নয়, প্রক্রিয়াকে কম্পাইল করুন
কোডিং এজেন্টরা হলো উচ্চ-গতির জেনারেটর। তারা সৃজনশীল কিন্তু অনির্ভরযোগ্য। প্রেক্ষাপট যখন জটিল হয়ে ওঠে, তারা প্রায়ই নিয়ম ভুলে যায়।
এটি ঠিক করার জন্য, আপনার এজেন্টের ওপর উপদেশ চাপিয়ে দেওয়া উচিত নয়। পরিবর্তে, একটি ভেরিফায়ার (verifier) তৈরি করুন।
ভেরিফায়ার হলো একটি সাশ্রয়ী, ডিটারমিনিস্টিক (deterministic) চেক যা জেনারেটরের সামনে অবস্থান করে। যদি এজেন্ট কোনো নিয়ম ভঙ্গ করে, তবে এই চেকটি কাজ থামিয়ে দেয়। এটিই হলো জেনারেটর/ভেরিফায়ার বিভাজন।
বেশিরভাগ মানুষ এই চেকগুলো কোডের জন্য ব্যবহার করেন। তারা টাইপো বা সিনট্যাক্স এরর খোঁজে। কিন্তু আসল শক্তি অন্য জায়গায়। আপনি আপনার পুরো ওয়ার্কফ্লো কম্পাইল করতে এই চেকগুলো ব্যবহার করতে পারেন।
আমি পেশাদার শৃঙ্খলা বজায় রাখতে চেক ব্যবহার করি:
• একটি চেক নিশ্চিত করে যে কাজ শুরু করার আগে তার একটি লিখিত স্পেসিফিকেশন আছে। • অন্যটি এমন ডিপেন্ডেন্সিগুলোকে চিহ্নিত করে যা পুরনো বা অকেজো হয়ে গেছে। • তৃতীয়টি একটি কঠোর লাইফসাইকেল নিশ্চিত করে: প্রস্তাবিত (proposed), পর্যালোচিত (reviewed), এবং তারপর গৃহীত (accepted)।
একটি মানুষের টিমে, এই নিয়মগুলো মানুষের মাথায় থাকে। এগুলোকে যান্ত্রিক করা প্রায়শই অনেক ব্যয়বহুল। কিন্তু এজেন্টের ক্ষেত্রে হিসাবটা বদলে যায়।
একজন মানুষের তুলনায় একটি এজেন্ট দ্রুত বিচ্যুতি (drift) ঘটাতে পারে। কিন্তু একটি এজেন্ট কয়েক সেকেন্ডের মধ্যেই এনফোর্সমেন্ট স্ক্রিপ্ট লিখে দিতে পারে। ফলে আপনার প্রক্রিয়াটিকে যান্ত্রিক করার খরচ এখন প্রায় শূন্য।
যখন নিয়ম প্রয়োগের খরচ কমে যায়, তখন আপনি আপনার পদ্ধতিটিকে আনুষ্ঠানিক রূপ দিতে পারেন। আপনি একটি "চেকলিস্ট" থেকে "গ্রামার"-এ উন্নীত হন। আপনার নির্দেশাবলী আরও সংক্ষিপ্ত এবং নির্ভুল হয়ে ওঠে কারণ গেটগুলো (gates) মনে রাখার কাজটি করে দেয়।
তবে, তিনটি বিষয়ে সতর্ক থাকুন:
- এগুলো লিন্টার (linters), কোনো নিখুঁত টাইপ সিস্টেম নয়। এগুলো পরিচিত ভুলগুলো ধরতে পারে কিন্তু সম্পূর্ণ নির্ভুলতার নিশ্চয়তা দিতে পারে না।
- এখানে কোনো মাস্টার ব্লুপ্রিন্ট নেই। আপনার নিয়মগুলো অতীতের ব্যর্থতার ভিত্তিতে প্রতিক্রিয়াশীলভাবে (reactively) গড়ে ওঠে।
- এজেন্ট প্রায়ই তার নিজস্ব গেটগুলো লিখে ফেলে। এর মানে হলো, একটি গেট হয়তো কেবল সেই ভুলগুলোই ধরতে পারে যা এজেন্ট ইতিমধ্যে এড়াতে জানে।
আপনার ইনস্ট্রাকশন ফাইলগুলোকে ম্যানুয়াল হিসেবে দেখা বন্ধ করুন। সেগুলোকে 'উদ্দেশ্য' (intent) হিসেবে বিবেচনা করুন। নির্ভুলতাকে বর্ণনার (prose) বাইরে নিয়ে এসে চেকের মধ্যে নিয়ে আসুন।
শুধু আপনার কোড নয়, আপনার প্রক্রিয়াকেও কম্পাইল করুন।
ঐচ্ছিক লার্নিং কমিউনিটি: https://t.me/GyaanSetuAi