প্রম্পটে এজেন্টের মেমরি ঢালা বন্ধ করুন
বেশিরভাগ ডেভেলপাররা পরবর্তী প্রম্পটে সবকিছু যুক্ত করার মাধ্যমে এজেন্ট লুপ তৈরি করেন।
আপনি পূর্ববর্তী পর্যবেক্ষণ (observations), টুল কল (tool calls) এবং রিজনিং ট্রেস (reasoning traces) যোগ করেন। আপনি ততক্ষণ পর্যন্ত ডেটা যোগ করতে থাকেন যতক্ষণ না প্রম্পটটি একটি আবর্জনার ড্রয়ারে পরিণত হয়। মডেল আরও বেশি কিছু দেখতে পায়, কিন্তু আপনি নিয়ন্ত্রণ হারিয়ে ফেলেন। কোন মেমরির কারণে একটি নির্দিষ্ট সিদ্ধান্ত নেওয়া হয়েছে তা আপনি আর বুঝতে পারেন না।
AgenticSTS নামক একটি নতুন গবেষণাপত্র একটি ভিন্ন পথের পরামর্শ দেয়। এটি মেমরিকে বৃহত্তম কনটেক্সট উইন্ডোর (context window) জন্য একটি প্রতিযোগিতা হিসেবে না দেখে একটি ইন্টারফেস হিসেবে বিবেচনা করে।
গবেষণাপত্রটি Slay the Spire 2 গেমটিকে একটি টেস্টবেড হিসেবে ব্যবহার করেছে। এই পরিবেশে শত শত কৌশলগত সিদ্ধান্তের প্রয়োজন হয়। এটি কোনো সাধারণ চ্যাটবট নয়।
মূল ধারণাটি হলো এটি: মেমরি হলো একটি চুক্তি যা নির্ধারণ করে একটি ভবিষ্যৎ সিদ্ধান্ত কী কী দেখতে পাবে।
র (raw) ট্রান্সক্রিপ্টের পরিবর্তে, লেখকরা পাঁচটি নির্দিষ্ট লেয়ার ব্যবহার করে নতুন প্রম্পট তৈরি করেন:
- নির্দিষ্ট প্রোটোকল নির্দেশাবলী (Fixed protocol instructions)
- বর্তমান অবস্থা এবং অ্যাকশন স্কিমা (Current state and action schemas)
- পুনরুদ্ধার করা গেমের নিয়মাবলী (Retrieved game rules)
- পূর্ববর্তী রানগুলোর সারাংশ (Summaries from prior runs)
- ট্রিগার করা কৌশলগত দক্ষতা (Triggered strategic skills)
এই কাঠামো সবকিছু বদলে দেয়। আপনি প্রতিটি লেয়ার পরিদর্শন (inspect), ফ্রিজ বা ডিজেবল করতে পারেন। আপনি মেমরিকে ডেটার স্তূপ থেকে নির্বাচিত প্রমাণের (selected evidence) রূপান্তর করেন।
অনেক প্রোডাকশন এজেন্ট ব্যর্থতা আসলে মডেলের ব্যর্থতা নয়। এগুলো হলো কনটেক্সট ব্যর্থতা। এজেন্ট পুরনো অবস্থার সাথে নতুন অবস্থার মিশ্রণ ঘটায় অথবা পুরনো রিফ্লেকশনগুলো সামনে নিয়ে যায়। আপনার একমাত্র নীতি যদি কেবল আরও টেক্সট যোগ করা হয়, তবে ডিবাগিং করা প্রত্নতত্ত্বের মতো মনে হবে।
একটি টাইপড মেমরি ইন্টারফেস আপনাকে তুলনা করার সুযোগ দেয়।
দীর্ঘ সময় ধরে চলা এজেন্টদের জন্য একটি বিশাল কনটেক্সট উইন্ডো একটি ফাঁদ। এটি তথ্য, পুরনো তথ্য এবং ব্যর্থ প্রচেষ্টার একটি মিশ্রণে পরিণত হয়। উইন্ডো যত বড় হয়, মেমরির বদলে তলানিকে (sediment) মেমরি বলে ভুল করা তত সহজ হয়।
আরও উন্নত এজেন্ট তৈরি করতে, এই প্যাটার্নগুলো অনুসরণ করুন:
- বর্তমান অবস্থা থেকে স্থিতিশীল নির্দেশাবলী আলাদা রাখুন
- নিয়মগুলোকে একটি রিট্রিভাল লেয়ারে রাখুন
- অভিজ্ঞতাকে চ্যাট রেসিডিউ (chat residue) হিসেবে নয়, বরং সুনির্দিষ্ট রেকর্ড হিসেবে সংরক্ষণ করুন
- বারবার করা সমাধানগুলোকে ট্রিগার করা দক্ষতায় রূপান্তর করুন
- পরীক্ষার জন্য প্রতিটি মেমরি লেয়ার অপসারণযোগ্য করুন
আপনি যদি একটি মেমরি লেয়ার বন্ধ করতে না পারেন, তবে আপনি জানতে পারবেন না যে এটি আসলে সাহায্য করছে কি না। আপনি কেবল জানেন যে পুরো স্তূপটি মাঝে মাঝে কাজ করে।
এজেন্ট মেমরিকে কেবল একটি 'ভাইবস লেয়ার' (vibes layer) হিসেবে দেখা বন্ধ করুন। এমন একটি সিস্টেমের দিকে এগিয়ে যান যেখানে আপনি জানেন পরবর্তী সিদ্ধান্তে ঠিক কী যাচ্ছে, সেটি কোথা থেকে এসেছে এবং কীভাবে এটি ডিজেবল করতে হয়।
যদি আপনার এজেন্ট ব্যাখ্যা করতে না পারে যে তাকে কী মনে রাখার অনুমতি দেওয়া হয়েছিল, তবে তার কোনো মেমরি নেই। তার কাছে কেবল একটি বেসমেন্টযুক্ত প্রম্পট আছে।
উৎস: https://dev.to/komo/stop-dumping-agent-memory-into-the-prompt-58ka
ঐচ্ছিক লার্নিং কমিউনিটি: https://t.me/GyaanSetuAi
