সম্পাদকের নোট: এই নিবন্ধটি OpenAI-এর ডেভেলপার সম্পর্ক দলের সদস্য ডোমিনিক কুন্ডেল থেকে এসেছে, যিনি Codex-এর "goal mode / /goal" ফাংশন ব্যবহারের অভিজ্ঞতা সংক্ষেপে উপস্থাপন করেছেন। এটি একটি সাধারণ prompt টেকনিক নয়, বরং AI প্রোগ্রামিং টুলগুলির মধ্যে একটি ভূমিকা পরিবর্তনের কথা বলে: Codex এখন শুধুমাত্র একক-চক্রের নির্দেশের প্রতিক্রিয়া দেওয়ার জন্য কোডিং সহায়ক নয়, বরং এটি একটি স্পষ্ট লক্ষ্যের চারপাশে ধাপে ধাপে এগিয়ে যাওয়ার জন্য একটি এজেন্ট হয়ে উঠছে।
/goal মোডের অধীনে, প্রয়োজনীয়তা যত বেশি দীর্ঘ ও বিস্তারিত লেখা হবে ততটাই গুরুত্বপূর্ণ নয়; বরং Codex-এর জন্য স্পষ্ট এবং যাচাইযোগ্য আউটপুট মানদণ্ড নির্ধারণ করা অত্যন্ত গুরুত্বপূর্ণ। উদাহরণস্বরূপ: “ডিপ্লয়মেন্ট সময় 30% কমানো”, “টেস্ট কভারেজ 100% parity পৌঁছানো”, “LCP 2.5 সেকেন্ডের নিচে নামানো”। এই মেট্রিকগুলি Codex-কে বুঝতে সাহায্য করে যে কাজটি সম্পন্ন হয়েছে কিনা, এবং অস্পষ্ট লক্ষ্যের মধ্যে অসীমভাবে পরীক্ষা-ভুলের চক্রে ফেঁপে পড়া থেকেও বাঁচায়। একইসাথে, ব্যবহারকারীকে Codex-এর জন্য যথেষ্ট দিকনির্দেশ, টুলস এবং বাস্তবিক পরিবেশ প্রদান করতে হবে, যাতে Codex-এর অগ্রগতির মাপকাঠি, ফলাফলের যাচাইকরণের সম্ভাবনা থাকে—শুধুমাত্র লোকাল বা কল্পিত পরিস্থিতিতে একটি দেখতে সম্ভবপর সমাধানের সমাপ্তির পরিবর্তে।
লেখাটি বিশেষভাবে উল্লেখ করে যে, ভিজুয়াল টাস্কগুলি সবচেয়ে বেশি সম্ভাবনা রাখে Codex-কে বিস্তারিতের গুটিতে আটকে ফেলার। '100% পিক্সেল-লেভেল রিপ্রোডাকশন'-এর মতো দাবির পরিবর্তে, ভিজুয়াল লক্ষ্যগুলিকে ফাংশনাল চেকলিস্ট, ডিজাইন সিস্টেম গাইডলাইন এবং মূল্যায়নযোগ্য মেট্রিক্সে বিভক্ত করুন। ঘণ্টার পর ঘণ্টা বা দিনের পর দিন ধরে চলা দীর্ঘমেয়াদি টাস্কগুলির জন্য, commit, draft PR, প্রগতি ডকুমেন্টেশন, Slack আপডেট বা side chat-এর মতো উপায়ে নিয়মিত ট্র্যাকিং করা প্রয়োজন, যাতে শেষপর্যন্ত অনুসরণযোগ্য নয় এমন পরিবর্তনের একটি স্তূপই পাওয়া না যায়।
এই নিবন্ধের মূল অবদান হল এটি /goal কে একটি “দীর্ঘমেয়াদি কাজ পরিচালনা প্রক্রিয়া” হিসেবে পুনঃসংজ্ঞায়িত করেছে। যখন AI কয়েক দশক বা এর বেশি ঘন্টা ধরে নিরবচ্ছিন্নভাবে কাজ করতে পারে, তখন ডেভেলপারদের মূল দক্ষতা পরিবর্তিত হয়: শুধুমাত্র AI কে কোড তৈরি করতে বলা নয়, বরং এটির জন্য লক্ষ্য সংজ্ঞায়িত করা, মাপদণ্ড তৈরি করা, কার্যক্রমের পরিবেশ কনফিগার করা, এবং শেষে পর্যালোচনা ও পুনর্বিশ্লেষণ সম্পন্ন করা। অর্থাৎ, AI প্রোগ্রামিং এখন “প্রম্পট লেখা” থেকে “একটি নিরবচ্ছিন্নভাবে কাজকর্ম চালিয়ে যাওয়া ইঞ্জিনিয়ারিং এজেন্টকে পরিচালনা”-এর দিকে যাচ্ছে।
নিম্নলিখিত মূল পাঠ:
আমরা কোডেক্সকে একটি নির্দিষ্ট ফলাফলের দিকে নিয়ে যাওয়ার জন্য লক্ষ্য মোড (goal mode, বা /goal) চালু করেছি। আপনি একটি লক্ষ্য নির্ধারণ করলে, কোডেক্স লক্ষ্যটি অর্জন করা পর্যন্ত কাজ করতে থাকবে—এটি কয়েক ঘন্টা হোক বা কয়েক দিন হোক। ইতিমধ্যেই কিছু ব্যবহারকারী 120 ঘন্টারও বেশি সময় ধরে একই লক্ষ্যের জন্য কোডেক্সকে কাজ করাচ্ছেন।

লক্ষ্য মডেলটি খুব শক্তিশালী। এটির সর্বোচ্চ কার্যকারিতা অর্জনের জন্য, /goal ব্যবহার করার সময় 7টি বিষয় মনে রাখুন।
স্পষ্ট এবং যাচাইযোগ্য মানদণ্ড নির্ধারণ করুন
যখন আপনি টার্গেট মোড সক্রিয় করেন, তখন আপনি যে প্রম্পট দেন, তা শুধুমাত্র প্রাথমিক প্রম্পট হিসেবেই কাজ করে না, বরং এটি এই টার্গেটের জন্য আউটপুট মানদণ্ডও হয়ে দাঁড়ায়। কোডেক্স প্রতিটি চক্রের পর চেক করবে: এই টার্গেটটি কি সম্পন্ন হয়েছে?
অতএব, আপনার লক্ষ্য প্রম্পটটি খুব দীর্ঘ হওয়া উচিত নয়, বরং একটি স্পষ্ট মানদণ্ডের উপর ফোকাস করা উচিত: কোন পরিস্থিতিতে, এই লক্ষ্যটি পূরণ হয়েছে বলে বিবেচিত হবে।
অধিকাংশ ক্ষেত্রে, একটি ভালো লক্ষ্য একটি স্পষ্ট সংখ্যাগত মাপদণ্ড অন্তর্ভুক্ত করে, যাতে মডেলটি বুঝতে পারে যে এটি সম্পন্ন হয়েছে কিনা। উদাহরণস্বরূপ:
বিল্ড এবং ডিপ্লয় সময় 30% কমিয়ে আনুন।
এই ফিচারটি TypeScript থেকে Rust-এ মাইগ্রেট করুন এবং 100% টেস্ট কনসিসটেন্সি অর্জন করুন।
উত্পাদন পরিবেশে সর্বাধিক বিষয়বস্তু পেইন্ট (Largest Contentful Paint, পৃষ্ঠার প্রধান বিষয়বস্তুর লোডিং গতির মাপকাঠি) 2.5 সেকেন্ডের কম রাখার জন্য অ্যাপ্লিকেশন স্ক্যাফোল্ডিং অপ্টিমাইজ করুন।
এই প্রম্পটে সবসময় সংখ্যা থাকার দরকার নেই, তবে সাধারণত সংখ্যা থাকলে পরবর্তী ধাপগুলি এগিয়ে নেওয়া সহজ হয়।
যদি আপনি এখনও নিশ্চিত না হন যে কীভাবে লক্ষ্য সংজ্ঞায়িত করবেন, অথবা এই প্রকল্পটি নিয়ে কোডেক্সের সাথে ব্রেইনস্টর্মিং করতে চান, তাহলে শুরুতেই লক্ষ্য মোড ব্যবহার করার দরকার নেই।
কোডেক নিজেই লক্ষ্য নির্ধারণ করতে পারে। আপনি প্রথমে সাধারণভাবে একটি কথোপকথন শুরু করুন, এবং যখন আপনি প্রস্তুত হবেন যে কোডেক কাজ শুরু করবে, তখন কোডেককে আগের আলোচনার ভিত্তিতে লক্ষ্য নির্ধারণ করতে বলুন।
আপনি যেকোনো সময় লক্ষ্য সম্পাদনা করতে পারেন: কোডেক্স অ্যাপে সম্পাদনা বোতামে ক্লিক করুন অথবা CLI-তে আবার /goal ব্যবহার করুন।
যতটা সম্ভব গাইডলাইন প্রদান করুন
"30% সময় কমানোর মতো প্রম্পট দেখতে কুল লাগে এবং কোডেক্সকে কিছু সৃজনশীল সমাধান খুঁজে পেতে সাহায্য করতে পারে। কিন্তু যদি আপনি ইতিমধ্যেই সমস্যাটি কোথায় হতে পারে তা প্রায় জানেন, তবে এই প্রম্পটগুলি কোডেক্সকে বিভ্রান্ত করতে পারে।"
সুতরাং, সম্ভব হলে ভালো হবে যদি আপনি কোডেক্সকে বলে দেন যে কোথা থেকে শুরু করবে, লক্ষ্য অর্জনের জন্য কোন টুলগুলি ব্যবহার করা যাবে, অথবা ভুল দিকে যাওয়া এড়াতে অন্যান্য সূচনা দেওয়া হোক।
উদাহরণস্বরূপ, আমার সহকর্মী @reach_vb একটি পরীক্ষায় এটি করেছিলেন: তিনি Codex-কে বলেছিলেন যে Google Colab-এ Chrome ব্রাউজার ব্যবহার করা যেতে পারে এবং কিছু গ্রহণযোগ্য সীমাবদ্ধতা উল্লেখ করেছিলেন, যেমন Codex-কে মডেল প্রশিক্ষণের সময় নিজেই ডেটাসেট তৈরি করতে দেওয়া যেতে পারে।

একইভাবে, যদি আপনি বিল্ডিং সময় কমাতে চান এবং জানেন যে বেশিরভাগ সময় কোন ধাপে ব্যয় হচ্ছে, তাহলে প্রম্পটে প্রথমেই Codex-কে সেই অঞ্চলের দিকে নির্দেশ করা ভালো।
অন্য একটি পদ্ধতি হলো, আপনি প্রথমে কোডেক্সকে প্ল্যান মোডে কিছু প্রাথমিক গবেষণা করতে দিন এবং এটিকে সম্ভাব্য সমাধানগুলি রেকর্ড করার জন্য একটি প্ল্যান ফাইল তৈরি করতে দিন। তারপর, আপনার লক্ষ্যকে এই প্ল্যানটির দিকে রেফার করতে দিন।
প্রগতিকে পরিমাপযোগ্য করুন
যদি আপনার লক্ষ্য খুব আকাঙ্ক্ষিত হয়, অথবা কোডেক্স লক্ষ্যে পৌঁছানোর জন্য অনেকগুলি পদ্ধতি ব্যবহার করতে পারে, তাহলে গুরুত্বপূর্ণ হলো: আপনাকে কোডেক্সকে প্রগতি পরিমাপের জন্য সরঞ্জাম প্রদান করতে হবে।
কিছু কাজের জন্য এটি প্রাকৃতিকভাবেই প্রযোজ্য। যেমন: বিল্ড সময় অপ্টিমাইজ করা বা টেস্ট কভারেজ বাড়ানো, কারণ Codex সাধারণত সংশ্লিষ্ট টুলগুলি ইতিমধ্যেই ব্যবহার করে বা স্বাভাবিকভাবেই এই টুলগুলি তৈরি করে।
কিন্তু অন্যান্য লক্ষ্যের জন্য, আপনি ভালো করবেন যদি কোডেক্সের সাথে ব্রেইনস্টর্ম করেন: কোন টুলগুলি প্রগতি মূল্যায়নে সহায়তা করে? অথবা এটিকে কিছু হিন্ট দিন যাতে এটি বুঝতে পারে যে এটি কিভাবে নিশ্চিত করবে যে এটি লক্ষ্যের দিকে এগিয়ে যাচ্ছে। উদাহরণস্বরূপ, দুটি স্ক্রিনশটের জন্য ভিজুয়াল ডিফারেন্স কম্পেয়ারিসন টুল তৈরি করুন, অথবা আপনি ডিবাগ করছেন এমন এজেন্টের জন্য একটি মূল্যায়ন সেট তৈরি করুন।
আমি একসময় কোডেক্সকে একটি ভিডিও থেকে কিছু উপাদান পুনর্নির্মাণ করতে বলেছিলাম, যখন কোডেক্স একটি টুল তৈরি করেছিল যা স্ক্রিনশট তুলনা করে পার্থক্য পরীক্ষা করত। পরে, এটি এই টুলটিকে বিভিন্ন পার্থক্য তুলনা মোড যোগ করে নিয়মিত উন্নতি করেছিল।

কাজের ধরন অনুযায়ী, আপনাকে এই বিষয়টিও বিবেচনা করতে হবে যে কোনো অতিরিক্ত মানদণ্ড পরিমাপ বা পরীক্ষা করা প্রয়োজন কিনা। অন্যথায়, কোডেক মনে করতে পারে যে কাজটি শেষ হয়ে গেছে, কিন্তু আপনার দৃষ্টিতে এটি এখনও অসম্পূর্ণ।
উদাহরণস্বরূপ, কোডেক কোনো UI-এর "পিক্সেল-লেভেল রিপ্রোডাকশন" এর জন্য ডিজাইন রেফারেন্স ছবি কেটে পেজের ভিতরে এম্বেড করতে পারে; অথবা টেস্ট পাস রেট ১০০% করার জন্য টেস্ট কভারেজ কমিয়ে ফেলতে পারে। এগুলো আপনার প্রকৃতপক্ষে চাওয়া সম্পন্ন করার উপায় নয়।
একটি বাস্তবিক পরিবেশ তৈরি করুন
যদি আপনি চান যে কোডেক্স তার লক্ষ্যে প্রকৃত এবং কার্যকর অগ্রগতি করুক, তাহলে এটিকে একটি যথেষ্ট বাস্তবিক পরিবেশে চালানো দরকার।
ব্যবহারিকভাবে, এর অর্থ হল: যদি আপনি ডিপ্লয়মেন্ট সময় বা ল্যাটেন্সি সমস্যা অপ্টিমাইজ করতে চান, তাহলে Codex-এর ডিপ্লয়মেন্ট এবং টেস্টিং পরিবেশে অ্যাক্সেস থাকা উচিত, এবং এই পরিবেশগুলি প্রোডাকশন পরিবেশের সাথে যতটা সম্ভব মিলে যাওয়া উচিত। অর্থাৎ, একই টেকনোলজি স্ট্যাক, একই কনফিগারেশন সুইচ, এবং অনুরূপ ডাটাবেস ব্যবহার করুন।
উদাহরণস্বরূপ, আমরা একসময় developers.openai.com-এর বিল্ড এবং ডিপ্লয় সময় অপ্টিমাইজেশনের জন্য ডিবাগিং করছিলাম। সেই সময় আমরা ডিপ্লয় প্রিভিউ ব্যবহার করছিলাম, তাই Codex এই প্রিভিউ পরিবেশগুলি ব্যবহার করে ডিপ্লয় করতে পারত এবং সংশ্লিষ্ট লগগুলি দেখতে পারত। কিন্তু সমস্যা ছিল যে, আমাদের প্রিভিউ ডিপ্লয়গুলি পূর্ণাঙ্গ উৎপাদন পরিবেশের তুলনায় কিছু বিল্ড পথকে অক্ষম করেছিল।
তাই, কোডেক্সকে শেষ পর্যন্ত ম্যানুয়ালি ডিপ্লয় করতে হয়েছিল, যাতে কোডটি প্রোডাকশন কনফিগারেশনের সাথে আরও কাছাকাছি পরিবেশে ডিপ্লয় করে সমস্যাটি পরীক্ষা করা যায়।
একইভাবে, আপনি কোডেক্সকে কম্পিউটার ব্যবহারের (মডেলকে বাস্তব অ্যাপ্লিকেশন ইন্টারফেস নিয়ন্ত্রণ করার ক্ষমতা) সুযোগ দিয়ে বাস্তব অ্যাপ্লিকেশন পরীক্ষা করতে পারেন। @dimillian কিছু পারফরম্যান্স সমস্যা অপ্টিমাইজ করার জন্য সবচেয়ে সঠিক পরীক্ষার পরিবেশ পেতে এমনকি বাস্তব ডিভাইসও ব্যবহার করেছেন।

দৃশ্যমান লক্ষ্যগুলি সাবধানে নির্ধারণ করুন
একটি ভিজুয়াল টার্গেট যেমন "এই ছবিটি থেকে 100% পিক্সেল-লেভেলে এই UI রিক্রিয়েট করুন" বলে কোডেককে দেওয়া সত্যিই আকর্ষণীয়। তবে নির্দিষ্ট সেটিংয়ের উপর নির্ভর করে, এটি সমস্যারও কারণ হতে পারে।
যদি আপনি উপযুক্ত নির্দেশনা এবং সীমাবদ্ধতা প্রদান না করেন, তবে কোডেক্স কিছু বিস্তারিতে আটকে যেতে পারে এবং সামগ্রিক লক্ষ্যকে উপেক্ষা করতে পারে। উদাহরণস্বরূপ, যদি রেফারেন্স চিত্রে কিছু গ্রাফিক্যাল উপাদান থাকে এবং আপনি কোডেক্সকে এই উপাদানগুলি—যেমন SVG আইকন বা ছবি—জেনারেট করতে চান, তবে এটি "এই উপাদানগুলি কীভাবে সঠিকভাবে পুনরুৎপাদন করা যায়" এর উপর বিপুল শক্তি ব্যয় করতে পারে, যদিও সমস্যাটির সঠিকভাবে বিশ্লেষণই প্রয়োজন।
এছাড়াও, কোডেক্স সঠিক দৃশ্য তুলনা করার জন্য টুলসের প্রয়োজন। এর অর্থ আরও বেশি ছবি ইনপুট, উচ্চতর সামগ্রিক টোকেন খরচ, কিন্তু এটি কোডেক্সকে সহজেই প্রকৃতপক্ষে মূল্যবান উন্নতির সুযোগ চিহ্নিত করার পদ্ধতি প্রদান করে না।
সুতরাং, চিত্রগুলি সাধারণত একমাত্র সম্পন্ন মানদণ্ড হিসাবে নয়, বরং লক্ষ্য প্রেক্ষাপট হিসাবে বেশি উপযুক্ত। আপনাকে অন্যান্য উপায়ে খুঁজে বের করা উচিত যে কীভাবে Codex বুঝতে পারবে যে লক্ষ্যটি পূরণ হয়েছে, যেমন ফাংশনাল চেকলিস্ট, বাস্তবায়ন স্পেসিফিকেশন, ডিজাইন সিস্টেমের সাথে সঙ্গতিপূর্ণতা ইত্যাদি।
প্রগতি ট্র্যাক করুন
যদি কোডেক্স কয়েক ঘন্টা বা এমনকি কয়েক দিন ধরে ব্যাকগ্রাউন্ডে কাজ করে, এমনকি অন্য একটি মেশিনে চলে, তাহলে এটি ঠিক কোথায় পৌঁছেছে এবং কী কাজগুলি সম্পন্ন হয়েছে তা ভুলে যাওয়া সহজ।
বিভিন্ন লক্ষ্যের ভিত্তিতে, আমি নিম্নলিখিত কিছু পদ্ধতির সহায়তা পেয়েছি:
কোডেক্সকে কীল পয়েন্টে কোড জমা দিতে এবং একটি ড্রাফ্ট PR-এ পুশ করতে দিন। বিশেষ করে যখন আপনি ওয়েবসাইট তৈরি করছেন এবং প্রিভিউ ডিপ্লয়মেন্ট রয়েছে, তখন এটি খুবই কার্যকর।
· ম্যানেজমেন্টের জন্য একটি ডেলিভারেবল আপডেট করুন। এটি একটি HTML ফাইল হতে পারে, যা আপনি অ্যাপের ইন-অ্যাপ ব্রাউজারে খুলে রাখতে পারেন; অথবা একটি পেজ যা Sites-এর মাধ্যমে টিমকে দেখানোর জন্য ডিপ্লয় করা হয়েছে; একটি রেন্ডারড প্রগতি চার্ট হতে পারে, অথবা শুধুমাত্র একটি সাধারণ Markdown ফাইল।
কোডেক্সকে প্রগতির আপডেট সক্রিয়ভাবে প্রকাশ করার নির্দেশ দিন। আপনি এটিকে লক্ষ্যের মধ্যেও যোগ করতে পারেন: যখন কোডেক্স গুরুত্বপূর্ণ প্রগতি করবে, তখন আপডেটটি Slack চ্যানেলে বা আপনি যেখানে প্রগতি রেকর্ড করতে চান সেখানে পাঠান।
অন্য চ্যাট উইন্ডো ব্যবহার করে স্ট্যাটাস জিজ্ঞাসা করুন। যদি আপনি শুধুমাত্র বর্তমান স্ট্যাটাস দ্রুত জানতে চান, তবে /side চালু করুন এবং একটি নতুন সাইড চ্যাট শুরু করুন, এবং সেখানে প্রশ্ন করুন। এটি বর্তমান থ্রেড থেকে ফাঁকা হয়ে যায়, তাই এটি এখন পর্যন্ত সমস্ত কনটেক্সট রাখে, কিন্তু এর জীবনকাল খুব সংক্ষিপ্ত।
কোডেক অ্যাপের একটি অন্যান্য বিকল্প হলো: একটি সাধারণ নতুন চ্যাট শুরু করুন, যেখানে কোডেক অন্য একটি লক্ষ্য থ্রেড পড়বে এবং আপনার প্রশ্নের উত্তর দেবে। যদি আপনি কোডেককে একটি অটোমেশন টাস্ক সেটআপ করতে বলেন, যা প্রগতি নিয়মিতভাবে চেক করবে, তাহলে এই পদ্ধতিটি বিশেষভাবে শক্তিশালী হবে।
পরিষ্কার করুন এবং ফলাফল চূড়ান্তভাবে নিশ্চিত করুন
অসাধারণ, লক্ষ্য চূড়ান্তভাবে অর্জিত হয়েছে! এখন কি শুধু ফলাফলটি টিমকে দিয়ে কাজ শেষ করা যাবে?
সাধারণত, বিশেষ করে অপ্টিমাইজেশন টাস্কগুলিতে, আমি দেখেছি যে কোডেক্সকে তার নিজের কাজের পুনর্বিবেচনা এবং পর্যালোচনা করতে দেওয়া খুব সহায়ক। আপনি প্রথমে /review ব্যবহার করে একটি স্থানীয় কোড রিভিউ চালাতে পারেন, কিন্তু কোডেক্সকে আরও গভীরভাবে প্রতিফলিত করা উচিত: এটি লক্ষ্যটি অর্জনের জন্য কোন পথগুলি চেষ্টা করেছে? কোন চেষ্টাগুলি কার্যকর ছিল? কোনগুলি অকার্যকর? এবং তারপর সেইভাবে কোডটি পরিষ্কার করুন।
কোডেক্স লক্ষ্য অর্জন পর্যন্ত কাজ করতে থাকে, তাই এটি কিছু অপর্যাপ্ত বা সম্পূর্ণরূপে অকার্যকর পদ্ধতি চেষ্টা করেছে হতে পারে, এবং এই অবশিষ্ট পরিবর্তনগুলি চূড়ান্ত কোডে এখনও রয়ে যেতে পারে।
আপনার পরবর্তী কাজের জন্যও একটি লক্ষ্য নির্ধারণ করুন
কোডেক্সের লক্ষ্য হল এমন একটি অত্যন্ত শক্তিশালী টুল যা আপনাকে সবচেয়ে অর্থপূর্ণ ইঞ্জিনিয়ারিং চ্যালেঞ্জগুলি সমাধানে সাহায্য করবে। কিন্তু শুধুমাত্র আপনি সঠিক পরিবেশ এবং নির্দেশনা প্রদান করলেই এটি লক্ষ্যের দিকে আরও দক্ষতার সাথে পৌঁছাবে।
আপনি /goal ব্যবহার করে কী করেছেন?
