একটি AI-কে ল্যাপটপ রিকমেন্ড করতে বলুন, তারপর তাকে বলুন আপনার আরও হালকা কিছু প্রয়োজন। যদি সিস্টেমটি দ্বিতীয় মেসেজটিকে একটি স্বতন্ত্র অনুরোধ হিসেবে পড়ে, তবে আপনি হয়তো আল্ট্রাবুক-এর একটি তালিকা পাবেন। অথবা আপনি হয়তো গেমিং ওয়ার্কস্টেশনের আরও একটি স্তূপ পাবেন কারণ এটি কখনোই বুঝতে পারেনি যে আপনি প্রথম ব্যাচটিকে অতিরিক্ত ভারী হওয়ার কারণে প্রত্যাখ্যান করেছেন। এটি ঘটে কারণ অনেক AI সিস্টেম এখনও একটি একক প্রম্পটকে বিচ্ছিন্নভাবে দেখে রেসপন্স র্যাঙ্ক করে। তারা প্রতিটি মেসেজকে একটি নতুন সার্চের শুরু হিসেবে বিবেচনা করে, যা কথোপকথনের চলমান প্রেক্ষাপটকে উপেক্ষা করে।
এই পদ্ধতিটি দীর্ঘ চ্যাটের সূক্ষ্মতাগুলো ধরতে ব্যর্থ হয়। মানুষের কথোপকথন প্রতিটি ধাপের মাধ্যমে অর্থ তৈরি করে। আমরা ধরে নিই যে স্মৃতি, উদ্দেশ্য এবং পছন্দগুলো পরবর্তী ধাপেও বজায় থাকে। যখন AI একই কাজ করতে ব্যর্থ হয়, তখন এটি একজন সহকারীর সাথে কথা বলার চেয়ে একটি সার্চ বক্সে কুয়েরি ছুড়ে দেওয়ার মতো মনে হয় যা প্রতিটি ক্লিকের পর রিসেট হয়ে যায়। এটি ঠিক করার অর্থ হলো সম্ভাব্য উত্তরগুলোকে র্যাঙ্ক করার পদ্ধতি পরিবর্তন করা। কোন রেসপন্সটি এই বাক্যটির সাথে মানানসই তা জিজ্ঞাসা করার পরিবর্তে, আমাদের জিজ্ঞাসা করা উচিত কোন রেসপন্সটি এই ব্যক্তির জন্য, এই মুহূর্তে, আমাদের আলোচিত সবকিছু বিবেচনা করে মানানসই।
দুটি জিনিস এটিকে সম্ভব করে তোলে: পার্সোনালাইজেশন এবং হিস্ট্রি।
কেন সিঙ্গেল-টার্ন র্যাঙ্কিং ব্যর্থ হয়
প্রথাগত রেসপন্স র্যাঙ্কিং প্রশ্ন-উত্তর ডেটাসেট থেকে উদ্ভূত হয়েছে। একটি মডেল একটি প্রম্পট দেখে, সম্ভাব্য উত্তরের একটি সেট তৈরি করে এবং একটি র্যাঙ্কার শুধুমাত্র সেই প্রম্পটের ভিত্তিতে প্রতিটি উত্তরের স্কোর নির্ধারণ করে। সর্বোচ্চ স্কোর পাওয়া উত্তরটি জয়ী হয়। এটি বিচ্ছিন্ন তথ্যের ক্ষেত্রে কাজ করে। কিন্তু চলমান কাজের ক্ষেত্রে এটি ব্যর্থ হয়।
কল্পনা করুন একজন ব্যবহারকারী একটি ভ্রমণের পরিকল্পনা করছেন। প্রথম ধাপে, তিনি ব্যাংককের বাজেট হোটেল সম্পর্কে জিজ্ঞাসা করেন। মডেলটি Khao San Road-এর কাছাকাছি কিছু হোটেলের তালিকা সাজেস্ট করে। ব্যবহারকারী উত্তর দেন, "এগুলো খুব কোলাহলপূর্ণ মনে হচ্ছে। আমার সাথে বাচ্চারা আছে, তাই আমার একটি পুল এবং স্কাইট্রেনের (Skytrain) কাছে যাতায়াতের সুবিধা প্রয়োজন।" একটি সিঙ্গেল-টার্ন র্যাঙ্কার শুধুমাত্র দ্বিতীয় বাক্যটি দেখতে পায়। এটি হয়তো থাইল্যান্ডজুড়ে ছড়িয়ে থাকা ফ্যামিলি রিসোর্টগুলোর একটি সাধারণ তালিকা প্রদান করতে পারে, যা ইতিমধ্যে নির্ধারিত নির্দিষ্ট শর্তগুলো উপেক্ষা করে: ব্যাংকক, বাজেট-সচেতন, শান্ত, পুল এবং যাতায়াতের সুবিধা।
এর ফলাফল প্রযুক্তিগতভাবে বিষয়ের সাথে প্রাসঙ্গিক হলেও ব্যবহারিক দিক থেকে অকেজো। ব্যবহারকারীকে প্রেক্ষাপট বারবার বলতে হয়। এতে ব্যবহারকারীর কাজে বাধা সৃষ্টি হয় এবং বিশ্বাসযোগ্যতা কমে যায়।
পার্সোনালাইজেশন: কে জিজ্ঞাসা করছে
পার্সোনালাইজেশন মানে হলো নির্দিষ্ট ব্যবহারকারীর পছন্দ এবং ডেটার ভিত্তিতে উত্তরগুলো সাজিয়ে দেওয়া। এটি এই প্রশ্নের উত্তর দেয়: এই ব্যক্তিটি কে?
এটি কেবল সম্ভাষণের মধ্যে নাম বসানোর চেয়েও বেশি কিছু। এর মানে হলো সিস্টেমটি, স্পষ্ট প্রোফাইল বা শেখা প্যাটার্নের মাধ্যমে জানে যে ব্যবহারকারী কীভাবে তথ্য পেতে পছন্দ করেন। একজন ডেভেলপার যিনি ক্রমাগত Python-এর উদাহরণ চান, তার কুয়েরিতে যদি সাধারণ প্রোগ্রামিং টাস্কের কথা উল্লেখ থাকে, তবুও তাকে Python কোড স্যাম্পল দেখানো উচিত, যদি না তিনি অন্য কিছু নির্দিষ্ট করেন। একজন নিরামিষাশী যিনি গত সপ্তাহে রেসিপি চেয়েছিলেন, তাকে মাংস বাদ দেওয়ার জন্য সিস্টেমকে পুনরায় মনে করিয়ে দিতে হবে না। কেউ যদি গদ্যের চেয়ে সংক্ষিপ্ত বুলেট পয়েন্ট পছন্দ করেন, তবে তাকে বুলেট পয়েন্টই দেওয়া উচিত।
সুনির্দিষ্ট সংকেতগুলোর মধ্যে রয়েছে স্ব-প্রতিবেদিত পছন্দ, বিভিন্ন সেশনের পূর্ববর্তী আচরণ, অথবা লোকেশন এবং ডিভাইসের ধরনের মতো মেটাডেটা। মূল বিষয়টি হলো এই সংকেতগুলো শুধুমাত্র জেনারেশন স্টেজে নয়, বরং র্যাঙ্কিং স্টেজেও কাজে লাগে। যখন সম্ভাব্য রেসপন্সগুলোর স্কোর করা হয়, তখন র্যাঙ্কারকে সেই উত্তরগুলোকে প্রাধান্য দেওয়া উচিত যা পরিচিত প্রোফাইলের সাথে সামঞ্জস্যপূর্ণ।
উদাহরণস্বরূপ, যদি দুটি সম্ভাব্য রেসপন্সই "আমি কীভাবে আমার ছবি ব্যাকআপ নেব?" প্রশ্নের সঠিক উত্তর দেয়, কিন্তু একটি ক্লাউড স্টোরেজ এবং অন্যটি লোকাল NAS ড্রাইভ সাজেস্ট করে, তবে র্যাঙ্কারকে জানা উচিত যে এই নির্দিষ্ট ব্যবহারকারী আগে অফলাইন মালিকানা এবং প্রাইভেসির প্রতি আগ্রহ প্রকাশ করেছিলেন। সেক্ষেত্রে NAS অপশনটির স্কোর বেশি হওয়া উচিত। পার্সোনালাইজেশন ছাড়া, মডেলটি অনেকটা মুদ্রা নিক্ষেপ করার মতো কাজ করে।
হিস্ট্রি: ইতিমধ্যে যা বলা হয়েছে
হিস্ট্রি মানে হলো পরবর্তী রেসপন্স নির্দেশ করতে কথোপকথনের পূর্ববর্তী ধাপগুলো ব্যবহার করা। এটি এই প্রশ্নের উত্তর দেয়: আমরা ইতিমধ্যে কী কী বিষয় নির্ধারণ করেছি?
এমনকি সাধারণ সর্বনামের (pronouns) জন্যও হিস্ট্রি প্রয়োজন। যখন একজন ব্যবহারকারী বলেন, "এটি নীল করে দাও," তখন মডেলকে জানতে হবে "এটি" বলতে কী বোঝানো হচ্ছে। সেই রেফারেন্সটি পূর্ববর্তী কোনো ধাপে রয়েছে। দীর্ঘ কথোপকথনে, এই নির্ভরশীলতাগুলো জটিল হয়ে ওঠে। শর্তাবলি জমা হতে থাকে। ব্যবহারকারী হয়তো কোনো অপশন প্রত্যাখ্যান করতে পারেন, কোনো অনুরোধের শর্ত যোগ করতে পারেন, অথবা এমন একটি নতুন লক্ষ্য উপস্থাপন করতে পারেন যা
