Automatic Prompt Engineer (APE) একটি ল্যাঙ্গুয়েজ মডেলকে কোনো নির্দিষ্ট কাজের জন্য সেরা প্রম্পট লিখতে, পরীক্ষা করতে এবং বেছে নিতে সাহায্য করে, যা আগে কেবল একটি পরীক্ষা-নিরীক্ষা ভিত্তিক শিল্প ছিল, তাকে এখন একটি পুনরাবৃত্তিযোগ্য ডেটা-চালিত অনুসন্ধানে পরিণত করেছে।

কেন প্রম্পট রাইটিং একটি প্রতিবন্ধক হয়ে দাঁড়িয়েছে

প্রম্পট ইঞ্জিনিয়ারিং—অর্থাৎ একটি মডেলকে কী করতে হবে তা জানানোর জন্য সঠিক শব্দ চয়ন করা—দীর্ঘদিন ধরে মূলত অন্তর্দৃষ্টি এবং ভাগ্যের সংমিশ্রণ ছিল। ব্যবহারকারীরা এখানে একটি শব্দ পরিবর্তন করেন, সেখানে একটি বাক্যাংশ বদলে দেন, মডেলটি চালান এবং আউটপুট যখন "সঠিক মনে হয়" তখন থেমে যান। এই পদ্ধতিটি দীর্ঘায়িত হয়, ইঞ্জিনিয়ারের কল্পনার ওপর নির্ভর করে এবং পারফরম্যান্সকে সীমাবদ্ধ করে দেয়। প্রোডাকশনের ক্ষেত্রে এর অর্থ হলো দীর্ঘতর সাইকেল, অনিশ্চিত ফলাফল এবং লুকানো খরচ যা লঞ্চ করার পরেই প্রকাশ পায়।

APE-এর তিন-ধাপের ওয়ার্কফ্লো

APE প্রম্পট তৈরিকে একটি সার্চ প্রবলেম বা অনুসন্ধানের সমস্যা হিসেবে বিবেচনা করে। ব্যবহারকারী ইনপুট-আউটপুট উদাহরণের একটি ছোট সেট প্রদান করেন। এরপর সিস্টেমটি তিনটি স্বয়ংক্রিয় ধাপ সম্পন্ন করে:

  1. Propose (প্রস্তাব করা) – মডেলটি উদাহরণগুলো স্ক্যান করে এবং একগুচ্ছ সম্ভাব্য নির্দেশাবলী প্রদান করে, যেমন "বিপরীতটি প্রদান করুন" বা "বিপরীত শব্দ লিখুন।"
  2. Score (স্কোর করা) – সিস্টেমটি প্রতিটি সম্ভাব্য নির্দেশাবলীকে নতুন কিছু উদাহরণের ওপর পরীক্ষা করে এবং কতগুলো উত্তর প্রত্যাশিত আউটপুটের সাথে মিলেছে তা গণনা করে, যার ফলে একটি র (raw) অ্যাকুরেসি বা নির্ভুলতার সংখ্যা পাওয়া যায়। এই ধাপে মানুষের কোনো বিচারবুদ্ধি কাজ করে না।
  3. Select (নির্বাচন করা) – যে নির্দেশটির নির্ভুলতা সবচেয়ে বেশি, সেটিই চূড়ান্ত প্রম্পট হিসেবে নির্বাচিত হয়।

এই লুপটি পুনরাবৃত্তি হতে পারে। বিজয়ী প্রম্পটটি নতুন সিড (seed) হিসেবে কাজ করে এবং মডেলটি এর বিভিন্ন সংস্করণ প্রস্তাব করে। রিপোর্ট করা তথ্য অনুযায়ী, একটি সাধারণ নির্দেশ যা ৮৩% স্কোর করেছিল, সেটিকে পরিমার্জিত করে এমন একটি সংস্করণে নিয়ে আসা সম্ভব হয়েছে যা টেস্ট সেটে ১০০% নির্ভুলতা অর্জন করেছে।

কেন এই পদ্ধতিটি মানুষের চেয়ে বেশি শক্তিশালী

  • কভারেজ (Coverage) – একটি LLM কয়েক সেকেন্ডের মধ্যে ডজন ডজন বিকল্প শব্দবিন্যাস তৈরি করতে পারে, যা একজন মানুষের পক্ষে পরীক্ষা করা অসম্ভব।
  • বস্তুনিষ্ঠতা (Objectivity) – নির্বাচন নির্ভর করে পরিমাপযোগ্য নির্ভুলতার ওপর, শব্দবিন্যাস কতটা মার্জিত তার ওপর নয়। একটি পাঠ্যপুস্তক-শৈলীর নির্দেশিকা হয়তো একটি সংক্ষিপ্ত ও অদ্ভুত শোনা নির্দেশিকার কাছে হেরে যেতে পারে, যা মডেলটি আরও ভালোভাবে বুঝতে পারে।

যেহেতু স্কোরিং মেট্রিকটি ব্যবহারকারী থেকে আসে—সাধারণত একটি এক্স্যাক্ট-ম্যাচ চেক বা ইউনিট টেস্টের মাধ্যমে—তাই সিস্টেমটিকে কোড জেনারেশন থেকে শুরু করে সেন্টিমেন্ট অ্যানালাইসিস পর্যন্ত যেকোনো ডাউনস্ট্রিম রিকোয়ারমেন্টের জন্য টিউন করা সম্ভব।

অটোমেশনের মূল্য

এর বিনিময়ে খরচ হয় কম্পিউট (compute)। প্রতিটি সম্ভাব্য নির্দেশ যাচাই করতে অনেকবার মডেল কল করতে হয়, তাই ডেভেলপমেন্ট পর্যায়ে উল্লেখযোগ্য পরিমাণ API ব্যবহার হয়। APE এই খরচকে একটি এককালীন বিনিয়োগ হিসেবে বিবেচনা করে: একবার সর্বোত্তম প্রম্পটটি শনাক্ত হয়ে গেলে, আপনি কোনো অতিরিক্ত খরচ ছাড়াই এটি চিরকাল ব্যবহার করতে পারেন।

দুটি পূর্বশর্তও এর ব্যবহারকে কিছুটা সীমাবদ্ধ করে:

  • লেবেলযুক্ত উদাহরণ (Labeled examples) – সিস্টেমটির জন্য ইনপুট এবং সঠিক আউটপুটের একটি প্রতিনিধিত্বমূলক সেট প্রয়োজন।
  • স্কোরিং ফাংশন (Scoring function) – ব্যবহারকারীকে অবশ্যই তাদের কাজের জন্য "সঠিক" বলতে কী বোঝায় তা সংজ্ঞায়িত করতে হবে, তা স্ট্রিং-এর হুবহু মিল হোক, একটি সংখ্যাগত সহনশীলতা (numeric tolerance) হোক বা একটি কাস্টম ভ্যালিডেটর হোক।

যেখানে এই ধারণাটি বাধাগ্রস্ত হতে পারে

যদি প্রাথমিক উদাহরণ সেটটি খুব ছোট বা অপ্রতিনিধিত্বমূলক হয়, তবে নির্বাচিত প্রম্পটটি ওভারফিট (overfit) করতে পারে এবং বাস্তব ক্ষেত্রে ব্যর্থ হতে পারে।

পরবর্তী পদক্ষেপ কী হতে পারে

এই টুলটি একটি বিকল্প প্রস্তাব করে: কিছু উদাহরণ দিন, মডেলটিকে পুনরাবৃত্তি করতে দিন এবং এমন একটি প্রম্পট পান যা সিস্টেমটি তার প্রচেষ্টার মধ্যে সর্বোচ্চ র‍্যাঙ্ক করে। ডেমোটি মূল ঘোষণার লিঙ্কে পাওয়া যাবে এবং টেলিগ্রামে একটি লার্নিং কমিউনিটি রয়েছে।

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