Codex ইন্টেলিজেন্ট এজেন্ট বুঝতে চান? এই গভীর বিশ্লেষণটি মিস করবেন না!
Codex ইন্টেলিজেন্ট এজেন্ট বুঝতে চান? এই গভীর বিশ্লেষণটি মিস করবেন না!
OpenAI এইমাত্র একটি "অস্বাভাবিক" কাজ করেছে।
সাধারণত, OpenAI আরও শক্তিশালী মডেল (যেমন o1) প্রকাশ করে, কিন্তু এইবার, তারা একটি গভীর প্রযুক্তিগত ব্লগ প্রকাশ করেছে 《Unrolling the Codex agent loop》, শুধু Codex CLI-এর মূল যুক্তিই ওপেন সোর্স করেনি, বরং হাতে-কলমে একটি পরিপক্ক কোডিং ইন্টেলিজেন্ট এজেন্ট (Coding Agent) কীভাবে কাজ করে, তা ভেঙে দেখিয়েছে।

Claude Code এবং Cursor-এর জনপ্রিয়তা যখন তুঙ্গে, তখন OpenAI-এর এই লেখা শুধু পেশী দেখানোই নয়, বরং একটি "এজেন্ট আর্কিটেক্টের জন্য গাইডলাইন"। আপনি যদি AI প্রোগ্রামিং টুল ভালোভাবে ব্যবহার করতে চান, অথবা নিজের একটি এজেন্ট তৈরি করতে চান, তাহলে এই লেখাটি প্রতিটি শব্দ মনোযোগ দিয়ে পড়ার মতো।
পুরো লেখায় ৮৩০০+ শব্দ আছে, পড়তে প্রায় ২০ মিনিট লাগবে।
প্রথমে, Codex CLI কী?
Codex CLI হল OpenAI-এর তৈরি একটি ওপেন সোর্স কোডিং এজেন্ট টুল, যা স্থানীয় কম্পিউটারে চালানো যায়, অথবা কোড এডিটরে ইনস্টল করা যায়। এটি VS Code, Cursor, Windsurf ইত্যাদি সমর্থন করে।
ওপেন সোর্স ঠিকানা: https://github.com/openai/codex

আর এইবার যে Agent Loop (এজেন্ট লুপ) নিয়ে আলোচনা করা হবে, সেটি হল Codex CLI-এর মূল যুক্তি: এটি ব্যবহারকারী, মডেল এবং মডেল কলের মধ্যে সমন্বয় করে, যাতে মূল্যবান টুলের মধ্যে মিথস্ক্রিয়া কার্যকর করা যায়।
Agent Loop (ইন্টেলিজেন্ট এজেন্ট লুপ)
মডেল হল শুধু কম্পোনেন্ট, এজেন্ট (ইন্টেলিজেন্ট এজেন্ট)-ই একটি প্রোডাক্ট তৈরি করতে পারে।
প্রত্যেক AI এজেন্টের কেন্দ্রে থাকে তথাকথিত "ইন্টেলিজেন্ট এজেন্ট লুপ (Agent Loop)"। ইন্টেলিজেন্ট এজেন্ট লুপের একটি চিত্র নিচে দেওয়া হল:

আমরা সাধারণত মনে করি AI প্রোগ্রামিং মানে হল: "আমি প্রশ্ন করি, এটি উত্তর দেয়"। কিন্তু Codex CLI-এর ভিতরে, এটি একটি জটিল অসীম লুপ প্রক্রিয়া...
একটি স্ট্যান্ডার্ড এজেন্ট লুপে নিম্নলিখিত ধাপগুলি থাকে:
- ব্যবহারকারীর নির্দেশ: ব্যবহারকারীর দেওয়া একগুচ্ছ টেক্সট নির্দেশ (যেমন "এই ফাংশনটি রিফ্যাক্টর করো")।
- মডেলের অনুমান: মডেল সিদ্ধান্ত নেয় সরাসরি উত্তর দেবে, নাকি টুল কল করবে (Tool Call)।
- টুল কল: যদি মডেল list files অথবা run shell কল করার সিদ্ধান্ত নেয়, তাহলে CLI স্থানীয়ভাবে এই কমান্ডগুলি চালায়।
- পর্যবেক্ষণ (Observation): টুল চালানোর ফলাফল (কোড, এরর, ফাইলের তালিকা) ধরা হয়।
- লুপ: এই ফলাফলগুলি কথোপকথনের ইতিহাসে যোগ করা হয়, এবং আবার মডেলকে দেওয়া হয়। ফলাফল দেখে মডেল পরবর্তী পদক্ষেপের সিদ্ধান্ত নেয়।
- সমাপ্তি: যতক্ষণ না মডেল মনে করে কাজটি শেষ হয়েছে, ততক্ষণ পর্যন্ত ফাইনাল উত্তর আউটপুট করে।
"ব্যবহারকারীর ইনপুট" থেকে "ইন্টেলিজেন্ট এজেন্টের প্রতিক্রিয়া"-এর পুরো প্রক্রিয়াটিকে কথোপকথনের একটি রাউন্ড বলা হয় (Codex-এ এটিকে একটি থ্রেড বলা হয়)।

কথোপকথন যত এগোয়, মডেলকে অনুমান করার জন্য যে প্রম্পট (Prompt) ব্যবহার করা হয়, তার দৈর্ঘ্যও বাড়তে থাকে। এই দৈর্ঘ্যটি গুরুত্বপূর্ণ, কারণ প্রতিটি মডেলের একটি কনটেক্সট উইন্ডো থাকে, যা একটি অনুমান কলের মধ্যে মডেলটি সর্বাধিক কতগুলি টোকেন ব্যবহার করতে পারবে, তা নির্দেশ করে।
মডেল অনুমান
Codex CLI মডেল অনুমানের জন্য Responses API-তে HTTP রিকোয়েস্ট পাঠায়। Codex এজেন্ট লুপ চালানোর জন্য Responses API ব্যবহার করে।
Responses API কী?
Responses API হল OpenAI কর্তৃক ২০২৫ সালের মার্চ মাসে প্রকাশিত নতুন প্রজন্মের ইন্টেলিজেন্ট এজেন্ট ডেভেলপমেন্ট ইন্টারফেস। এর লক্ষ্য হল কথোপকথন, টুল কল এবং মাল্টিমোডাল প্রক্রিয়াকরণের ক্ষমতাকে একত্রিত করা, যাতে ডেভেলপারদের আরও নমনীয় এবং শক্তিশালী AI অ্যাপ্লিকেশন তৈরির অভিজ্ঞতা প্রদান করা যায়।
Codex CLI যে Responses API এন্ডপয়েন্ট ব্যবহার করে, সেটি কনফিগার করা যায়, এবং Responses API বাস্তবায়িত হয়েছে এমন যেকোনো এন্ডপয়েন্টের সাথে ব্যবহার করা যেতে পারে।

মডেল স্যাম্পলিং (রেসপন্স তৈরি)
Responses API-তে পাঠানো HTTP রিকোয়েস্ট Codex কথোপকথনের প্রথম «টার্ন» শুরু করে। সার্ভার Server-Sent Events (SSE) স্ট্রিমিংয়ের মাধ্যমে রেসপন্স ফেরত পাঠায়।

লক্ষ্য করুন, আগের রাউন্ডের প্রম্পটটি হল নতুন প্রম্পটের একদম প্রথম অংশ। এই ডিজাইনটি পরবর্তী রিকোয়েস্টের দক্ষতা উল্লেখযোগ্যভাবে বাড়িয়ে তোলে - প্রম্পট ক্যাশিং মেকানিজম ব্যবহার করা যেতে পারে।

রাউন্ড বাড়ার সাথে সাথে প্রম্পটের দৈর্ঘ্য বাড়ার প্রভাব
1. পারফরম্যান্সের দিক থেকে
- মডেল স্যাম্পলিংয়ের খরচ বৃদ্ধি: প্রম্পটের দৈর্ঘ্য বাড়তে থাকলে মডেল স্যাম্পলিংয়ের খরচ বাড়বে, কারণ স্যাম্পলিং প্রক্রিয়ার জন্য আরও বেশি ডেটা প্রসেস করতে হবে, যার ফলে কম্পিউটেশনাল লোড বাড়বে।
- ক্যাশের সুবিধা হ্রাস: রাউন্ড বাড়ার সাথে সাথে প্রম্পটের দৈর্ঘ্য বাড়তে থাকলে, একদম প্রথম অংশের সাথে মিল খুঁজে বের করা কঠিন হয়ে যায়, ফলে ক্যাশ হিট করার সম্ভাবনা কমে যায়।
2. কনটেক্সট উইন্ডো ব্যবস্থাপনার দিক থেকে
- কনটেক্সট উইন্ডো দ্রুত শেষ হয়ে যাওয়া: প্রম্পটের দৈর্ঘ্য বাড়তে থাকলে, কথোপকথনে টোকেনের সংখ্যা দ্রুত বাড়তে থাকে, এবং কনটেক্সট উইন্ডোর থ্রেশহোল্ড অতিক্রম করলে কনটেক্সট উইন্ডো শেষ হয়ে যেতে পারে।
- কম্প্রেশন অপারেশনের প্রয়োজনীয়তা বৃদ্ধি: কনটেক্সট উইন্ডো শেষ হয়ে যাওয়া এড়াতে, টোকেনের সংখ্যা থ্রেশহোল্ড অতিক্রম করলে কথোপকথন কম্প্রেস করার প্রয়োজন হতে পারে।
3. ক্যাশ মিস হওয়ার ঝুঁকির দিক থেকে
- বিভিন্ন অপারেশনের কারণে ক্যাশ মিস হওয়ার সম্ভাবনা: প্রম্পটের দৈর্ঘ্য বাড়ার কারণে যদি মডেলের উপলব্ধ টুল, টার্গেট মডেল, স্যান্ডবক্স কনফিগারেশন ইত্যাদি পরিবর্তন করার প্রয়োজন হয়, তাহলে ক্যাশ মিস হওয়ার ঝুঁকি আরও বাড়বে।
- MCP টুলের জটিলতা বৃদ্ধি: MCP সার্ভার ডায়নামিকভাবে প্রদত্ত টুলের তালিকা পরিবর্তন করতে পারে, এবং দীর্ঘ কথোপকথনে সম্পর্কিত নোটিফিকেশনের প্রতিক্রিয়া জানালে ক্যাশ মিস হতে পারে।
রেফারেন্স তথ্য: 《Unrolling the Codex agent loop》 উৎস: OpenAI





