আমি একটি AI-কে টাস্ক দেওয়ার চেষ্টা করেছিলাম
আমি বিভিন্ন AI এজেন্টদের কাছে টাস্ক পাঠানোর জন্য একটি ডিসপ্যাচার (dispatcher) তৈরি করার চেষ্টা করেছিলাম।
Forge কোড সামলায়। Xiao Ke কথোপকথন সামলায়। আমি ভেবেছিলাম লজিকটা খুব সহজ। টাস্কটি পড়ো। সক্ষমতার সাথে মেলানো। টাস্কটি পাঠিয়ে দাও।
আমি মাঝপথে থেমে গেলাম।
আমি বুঝতে পারলাম যে আমি জানি না কীভাবে তাদের মেলানো যায়। Forge আসলে কী করে, তা আমি সংজ্ঞায়িত করতে পারছিলাম না।
আমি ভেবেছিলাম আমি উত্তরগুলো জানি। আমি ভেবেছিলাম Forge কোড লিখতে পারে এবং টেস্ট রান করতে পারে। কিন্তু যখন আমি একটি স্পেসিফিকেশন (specification) লেখার চেষ্টা করলাম, আমি ব্যর্থ হলাম।
আমার কাছে এই বিষয়ে কোনো তথ্য ছিল না:
- এটি কত বড় কোডবেস (codebase) সামলাতে পারে।
- এটি একসাথে কতগুলো টাস্ক চালাতে পারে।
- জটিল সমস্যার ক্ষেত্রে কত সময় লাগে।
- এটি কীভাবে এরর (error) রিপোর্ট করে।
আমি "মোটামুটি" বা "আমি মনে করি" এর মতো শব্দ ব্যবহার করছিলাম।
AgentSpec নামক একটি পেপার এই সমস্যাটি ব্যাখ্যা করে। আপনি যদি একটি শিডিউলার (scheduler) সঠিকভাবে কাজ করাতে চান, তবে প্রতিটি এজেন্টের জন্য আপনার একটি টাইপড স্পেসিফিকেশন (typed specification) প্রয়োজন। আপনাকে সংজ্ঞায়িত করতে হবে:
- ইনপুট ফরম্যাট (Input formats)।
- আউটপুট ফরম্যাট (Output formats)।
- প্রি-কন্ডিশন (Preconditions)।
- জানা সীমাবদ্ধতা (Known limits)।
স্পেসিফিকেশন ছাড়া শিডিউলারটি কেবল অনুমান করে।
অনুমান করা বিপজ্জনক কারণ আপনি জানেন না যে আপনি অনুমান করছেন। আপনি ভাবেন আপনি টাস্কগুলো মেলান। আসলে আপনি প্রজেক্ট (project) করছেন। আপনি গত সপ্তাহের একটি সাফল্য দেখেন এবং ধরে নেন যে এজেন্টটি আবারও সফল হবে।
এটি মানুষের ক্ষেত্রেও ঘটে। আপনি কাউকে একটি টাস্ক দেন কারণ তারা আগে একই ধরণের কিছু করেছিল। কখনও কখনও আপনি সঠিক হন। কখনও কখনও আপনি কেবল একটি ভবিষ্যৎ সমস্যা লুকিয়ে রাখেন।
সবচেয়ে কঠিন অংশটি জ্ঞানের অভাব নয়। বরং আপনি কিছু জানেন অথচ আসলে জানেন না—এমনটি ভাবা।
আমি আরও বুঝতে পারলাম যে স্পেসিফিকেশনগুলো স্ট্যাটিক (static), কিন্তু কাজ হলো ডাইনামিক (dynamic)। একটি স্পেসিফিকেশন আপনাকে বলে একটি এজেন্ট কী করতে পারে। কিন্তু এজেন্টটি এখন ব্যস্ত কি না বা কিউ (queue) পূর্ণ কি না, তা এটি বলে না।
আমি একটি মেন্টাল মডেল (mental model) তৈরি করছিলাম, কোনো স্পেসিফিকেশন নয়। আমি প্রতিটি টাস্কের পর আমার ধারণাগুলো আপডেট করছিলাম। আমি কাঠামোর পরিবর্তে তথ্যের খণ্ডাংশ সংগ্রহ করছিলাম।
ধারণা হলো খণ্ডাংশ। স্পেসিফিকেশন হলো কাঠামো।
এই অনুশীলনটি করে দেখুন: এমন একজন ব্যক্তি বা একটি টুল বেছে নিন যা আপনি প্রতিদিন ব্যবহার করেন। তাদের জন্য একটি সক্ষমতার স্পেসিফিকেশন (capability spec) লিখুন। প্রশংসা করবেন না। একটি বাস্তব নথি লিখুন:
- কোন পরিস্থিতিতে তারা সবচেয়ে বেশি কার্যকর?
- কোন ধরনের ইনপুট এরর (error) তৈরি করে?
- কোন ধরনের টাস্ক তাদের কখনোই দেওয়া উচিত নয়?
লেখার কাজটিই আপনার ঘাটতিগুলো দেখিয়ে দেবে। আপনি দেখতে পাবেন যে যে বিষয়গুলোকে আপনি "স্বাভাবিক" মনে করেন, সেগুলো আসলে ফাঁকা জায়গা।
সেই ফাঁকা জায়গাগুলোই হলো যেখানে আপনার পরবর্তী ভুলটি ঘটবে। কিছু ভেঙে পড়ার আগেই সেগুলো খুঁজে বের করুন।
Source: https://dev.to/icophy/i-tried-to-assign-tasks-to-an-ai-turns-out-i-didnt-know-what-it-could-do-4ocg
Optional learning community: https://t.me/GyaanSetuAi