𝟰𝟮/𝟲𝟬 𝗗𝗮𝘆𝘀 𝗦𝘆𝘀𝘁𝗲𝗺 𝗗𝗲𝘀𝗶𝗴𝗻 𝗤𝘂𝗲𝘀𝘁𝗶𝗼𝗻𝘀
আপনার AI এজেন্ট একটি ব্যবহারকারীর নাম মনে রাখে।
একজন ব্যবহারকারী একজন এজেন্টকে NYC-তে একটি সস্তা ফ্লাইটের বুকিং দিতে বলেন। তারা প্রতি রাতে ১৫০ ডলারের কম দামের হোটেল খোঁজেন। তারা পুরো ট্রিপের খরচের একটি তুলনামূলক বিবরণ চান।
তৃতীয় ধাপের মধ্যে, এজেন্ট LLM-এর কাছে ৮,০০০ টোকেনের হিস্ট্রি পাঠায়। এটি এমনভাবে উত্তর দেয় যেন এটি চ্যাটের প্রথম ধাপ।
এটি রিলিজ করার আগে আপনার একটি মেমরি আর্কিটেকচার (memory architecture) প্রয়োজন।
একটি বেছে নিন:
In-context window: প্রম্পটে সম্পূর্ণ হিস্ট্রি রাখুন। এটি সহজ। কিন্তু ১৫টি টার্ন বা ৮,০০০ টোকেনের পরে এটি ব্যর্থ হয়।
Vector memory store: অতীতের টার্নগুলোকে এমবেড (Embed) করুন। সিমিলারিটির (similarity) ভিত্তিতে সেরা ম্যাচগুলো খুঁজে বের করুন। এটি তখন ব্যর্থ হয় যখন "NYC flight" লিখে সার্চ করলে বর্তমান কাজের পরিবর্তে কোনো পুরনো ট্রিপের মেমরি চলে আসে।
Episodic memory with summarization: পুরনো টার্নগুলোকে স্ট্রাকচার্ড সামারিতে (structured summaries) সংকুচিত করুন। প্রতিটি রিকোয়েস্টে প্রাসঙ্গিক সামারিগুলো যুক্ত করুন। এটি তৈরি করা কঠিন। তবে এটি বিভ্রান্ত হওয়ার সম্ভাবনাও কম।
Redis session state: একটি স্ট্রাকচার্ড কি-ভ্যালু স্টোর (key-value store) ব্যবহার করুন। এজেন্ট স্পষ্টভাবে ডেটা পড়ে এবং লেখে। এটি ডিটারমিনিস্টিক (deterministic)। এজেন্টকে অবশ্যই জানতে হবে কী এবং কখন স্টোর করতে হবে।
একটি অপশন ১৫টি টার্নের পর ব্যর্থ হয়। একটি ভুল সময়ে ভুল কনটেক্সট নিয়ে আসে। আর একটি হলো টাস্ক-ওরিয়েন্টেড (task-oriented) এজেন্টদের জন্য সঠিক পছন্দ।
A, B, C, অথবা D বেছে নিন। আপনি কি প্রোডাকশনে এমন সমস্যার সম্মুখীন হয়েছেন? আমাকে জানান।
আমি কমেন্টে এর বিস্তারিত ব্যাখ্যা শেয়ার করছি।
উৎস: https://dev.to/thejoud1997/4260-days-system-design-questions-4018
ঐচ্ছিক লার্নিং কমিউনিটি: https://t.me/GyaanSetuAi