দ্য আউটার এজেন্ট লুপ: ২০২৬ সালে এআই সিস্টেম তৈরি করা
সফটওয়্যার ইঞ্জিনিয়ারিং পরিবর্তিত হচ্ছে।
সবচেয়ে উৎপাদনশীল ইঞ্জিনিয়াররা এখন আর ম্যানুয়ালি মডেলগুলোকে প্রম্পট করেন না। তারা এমন সিস্টেম ডিজাইন করেন যা তাদের হয়ে মডেলগুলোকে প্রম্পট করে। তারা হারনেস (harnesses) তৈরি করেন। তারা লুপ (loops) লেখেন।
প্রোডাকশন-গ্রেড এআই তৈরি করতে হলে, আপনাকে দুটি লুপের মধ্যে পার্থক্য বুঝতে হবে:
দ্য ইনার লুপ (The Inner Loop) এটি মডেল কনটেক্সটের ভেতরে থাকে। LLM একটি টুল কল করে, ফলাফল পায় এবং কাজ শেষ হয়েছে বলে মনে না হওয়া পর্যন্ত এটি পুনরাবৃত্তি করতে থাকে। এটি শক্তিশালী কিন্তু কনটেক্সট উইন্ডো (context windows) এবং অ্যাটেনশন ড্রিফট (attention drift) দ্বারা সীমাবদ্ধ।
দ্য আউটার লুপ (The Outer Loop) এটি হলো হারনেস। এটি মডেল কনটেক্সটের বাইরে থাকে। এটি হলো সেই কোড যা আপনি LLM-কে র্যাপ (wrap) করার জন্য লেখেন। এটি সিদ্ধান্ত নেয় যে কাজটি ঠিক আছে কি না, পুনরায় চেষ্টা করার প্রয়োজন আছে কি না, অথবা কোনো মানুষের হস্তক্ষেপ প্রয়োজন কি না।
একটি প্রোডাকশন-গ্রেড আউটার লুপের জন্য এই ছয়টি উপাদানের প্রয়োজন:
- Task Queues: কাজ পরিচালনা করতে Redis বা SQS ব্যবহার করুন। এটি নিশ্চিত করে যে ক্র্যাশ হলেও টাস্কগুলো টিকে থাকে এবং রেট লিমিটিং (rate limiting) করতে সাহায্য করে।
- Context Builders: এগুলো সিস্টেম প্রম্পট এবং সীমাবদ্ধতা (constraints) প্রস্তুত করে। খারাপ কনটেক্সট খারাপ ইটারেশনের দিকে পরিচালিত করে।
- Session Management: এটি কথোপকথনের ইতিহাস ট্র্যাক করে যাতে এজেন্ট তার অবস্থান বা প্রসঙ্গ হারিয়ে না ফেলে।
- Completion Signals: কখন থামতে হবে তা জানার জন্য আপনার একটি উপায় প্রয়োজন। মেকানিক্যাল টেস্ট (mechanical tests), JSON parsing, অথবা LLM-as-judge ব্যবহার করুন।
- Budget Enforcers: টাকা অপচয়কারী ইনফিনিট লুপ (infinite loops) প্রতিরোধ করতে ইটারেশন এবং টোকেনের ওপর কঠোর সীমা নির্ধারণ করুন।
- Committers: এটি হলো সেই সীমানা যা চূড়ান্ত আউটপুট একটি ফাইল বা একটি পুল রিকোয়েস্টে (pull request) লিখে রাখে।
যে কাজগুলো সাধারণ টেস্ট দিয়ে ধরা যায় না, সেগুলোর জন্য LLM-as-judge ব্যবহার করুন। আপনার দামী এবং রিজনিং (reasoning) মডেলের আউটপুট মূল্যায়ন করতে একটি দ্রুত ও সস্তা মডেল ব্যবহার করুন। এটি হলো দক্ষ কম্পিউট অ্যালোকেশন (compute allocation)।
আর্কিটেকচার ডেট ট্র্যাপ (architecture debt trap) সম্পর্কে সতর্ক থাকুন।
LLM-গুলো প্রায়ই try/except ব্লকের মতো ডিফেন্সিভ কোড যোগ করে ত্রুটিগুলো ঠিক করার চেষ্টা করে। যদি একটি লুপ অনেকবার চলে, তবে এটি আপনার কোডবেসকে অগোছালো ফলব্যাক (fallbacks) দিয়ে পূর্ণ করে দিতে পারে। এর পরিবর্তে, আপনার এজেন্টকে মূল কারণ (root cause) সমাধান করতে এবং সিস্টেম ইনভ্যারিয়েন্ট (system invariants) বজায় রাখতে নির্দেশ দিন।
লক্ষ্য সর্বোচ্চ স্বায়ত্তশাসন (autonomy) অর্জন করা নয়। লক্ষ্য হলো এমন লুপ তৈরি করা যা মানুষের জন্য রক্ষণাবেক্ষণযোগ্য এবং বোধগম্য থাকে।
আপনার লুপগুলো সুপরিকল্পিতভাবে তৈরি করুন।
ঐচ্ছিক লার্নিং কমিউনিটি: https://t.me/GyaanSetuAi
