[RAG (পুনরুদ্ধার-অগমেন্টেড প্রজন্ম)](https://en.wikipedia.org/wiki/Retrieval-augmented_generation) একটি বহিরাগত কর্পাস থেকে প্রাসঙ্গিক প্যাসেজ পুনরুদ্ধার করে, প্রায়শই এমবেডিং এবং সাদৃশ্য অনুসন্ধানের মাধ্যমে, তারপর সেগুলিকে প্রসঙ্গ বা সাদৃশ্য হিসাবে খাওয়ানোর মাধ্যমে একটি এলএলএমকে বৃদ্ধি করে যাতে করে ডেটা-এসপি-ডোমেন-উত্তর করতে পারে

এটি নথি অনুসন্ধানের জন্য ভাল কাজ করে। এজেন্ট মেমরির জন্য, এটি আলাদা হয়ে যায়।

কিংস কলেজ লন্ডন এবং অ্যালান টুরিং ইনস্টিটিউট থেকে একটি নতুন পেপার, "বিয়ন্ড আরএজি ফর এজেন্ট মেমরি: ডিকপলিং অ্যান্ড অ্যাগ্রিগেশন দ্বারা পুনরুদ্ধার" (হু এট আল।, ফেব্রুয়ারী 2026; [কাগজ দেখুন](https://arxiv.org/abs/2602.02007), একটি বিন্দু এবং কেন আরও ভাল পদ্ধতির ব্যাখ্যা করে।

## কেন RAG এজেন্ট মেমরির জন্য ছোট হয়

স্ট্যান্ডার্ড RAG অনুমান করে একটি বড়, মিশ্র কর্পাস: এম্বেড টেক্সট, সাদৃশ্য দ্বারা [top-k](https://en.wikipedia.org/wiki/Nearest_neighbor_search) পুনরুদ্ধার করুন, প্রসঙ্গ হিসাবে সংযুক্ত করুন।

এজেন্ট মেমরি বিপরীত: একটি আবদ্ধ, সুসংগত স্ট্রীম যেখানে একই সত্য অনেক বাক্যাংশে প্রদর্শিত হয়। এখানে RAG প্রয়োগ করা তিনটি সমস্যা তৈরি করে:

1. **অপ্রয়োজনীয় টপ-কে।** আপনি জিজ্ঞাসা করেন "আমি শেষ কবে ডেন্টিস্টকে দেখেছিলাম?" একটি নথি কর্পাসে, টপ-কে বিভিন্ন উত্স থেকে কয়েকটি প্রাসঙ্গিক অনুচ্ছেদ ফেরত দিতে পারে। এজেন্ট মেমরিতে, অনেক অংশ প্রায় একই কথা বলে ("নির্ধারিত ডেন্টিস্ট 15 মার্চ," "ডেন্টিস্ট অ্যাপয়েন্টমেন্ট 15 মার্চ," "15 মার্চের জন্য বুকড ডেন্টিস্ট")। টপ-কে পুনরাবৃত্তি দিয়ে পূর্ণ করে। কাগজটি এটিকে "একক ঘন অঞ্চলে পতন" বলে। অনুরূপতা যা *প্রয়োজনীয়* তা কেবলমাত্র *অনুরূপ* থেকে আলাদা করতে ব্যর্থ হয়।
2. **ছাঁটাই প্রমাণের চেইন ভেঙে দেয়।** আপনি জিজ্ঞাসা করেন "আমরা কি চালান বিবাদের সমাধান করেছি?" উত্তরটি একটি চেইনের উপর নির্ভর করে: "চালন #123 বিতর্কিত ছিল," তারপর "আমরা একটি আংশিক ফেরত দিতে সম্মত হয়েছি," তারপর "সম্মত পরিমাণ অর্থ প্রদান করেছি।" পোস্ট-হক ছাঁটাই "প্রদেয় চালান #123" রাখতে পারে এবং আগের পালাগুলি ফেলে দিতে পারে। মডেল তারপর একটি বিরোধ ছিল না জেনে "হ্যাঁ, সমাধান হয়েছে" উত্তর. টুকরো ছাঁটাই অস্থায়ীভাবে যুক্ত প্রমাণ এবং ভুল উত্তর তৈরি করে।
3. **সাদৃশ্যতা কাঠামো উপেক্ষা করে।** আপনি জিজ্ঞাসা করেন "বার্সেলোনা সফরের অবস্থা কি?" আপনার প্রজেক্ট, টাস্ক (যেমন বুক ফ্লাইট) এবং ফলাফল প্রয়োজন। সাদৃশ্য অংশগুলি ফেরত দেয় যা "বার্সেলোনা" বা "ট্রিপ" উল্লেখ করে: হয়ত একটি এলোমেলো উল্লেখ, একটি অতীত ট্রিপ, একটি ভিন্ন প্রকল্পের একটি কাজ। আপনার একটি কাঠামোগত পথের প্রয়োজন ছিল (এই প্রকল্প, এই কাজগুলি, এই ফলাফলগুলি)। সাদৃশ্য যে এনকোড না. গঠন করে।

## মিলের উপর কাঠামো

একটি ভাল পন্থা হল কাঠামো ব্যবহার করা যা লোড হয়, সাদৃশ্য নয়। এন্টিটি (কাজ, পরিচিতি, লেনদেন, ইভেন্ট) টাইপ করুন এবং স্কিমা, সত্তা আইডি, সম্পর্ক এবং টাইমলাইন দ্বারা পুনরুদ্ধার করুন। পর্যবেক্ষণ এবং প্রাপ্ত আউটপুটগুলিকে সম্পূর্ণ ইউনিট হিসাবে রাখুন; প্রমাণ ব্লকের ভিতরে ছাঁটাই করবেন না। একই ইনপুট এবং একই স্কিমা একই আউটপুট দেয়। সমালোচনামূলক পথে কোন এলএলএম নেই।

## কাগজে যা দেখায়

কাগজের সিস্টেম (xMemory) এম্বেডিং এবং LLM সারাংশ সহ একটি চার-স্তরের অনুক্রম (পর্ব থেকে শব্দার্থ থেকে থিম থেকে বার্তা) তৈরি করে। এটি LoCoMo এবং PerLTQA-তে অন্য পাঁচটি সিস্টেমকে (Naive RAG[^1], A-Mem[^2], MemoryOS[^3], LightMem[^4], Nemori[^5]) বীট করে, দীর্ঘ-কথোপকথন মেমরি এবং ব্যক্তিগত দীর্ঘমেয়াদী প্রশ্নের উত্তর দেওয়ার জন্য বেঞ্চমার্ক ডেটাসেট। কাগজ এম্বেডিং বা LLMs প্রয়োজন হয় না; এটা গঠন প্রয়োজন. আপনি একটি শেখা শ্রেণিবিন্যাস (xMemory) বা নির্ধারক, স্কিমা-প্রথম নকশা সহ সেখানে পেতে পারেন। কাগজটি এলএলএম-জেনারেটেড স্ট্রাকচার (এ-মেম, মেমোরিওএস): ফর্ম্যাটিং বিচ্যুতি, ব্যর্থ আপডেটগুলির ভঙ্গুরতা নথিভুক্ত করে। নির্ধারক, স্কিমা-প্রথম গঠন একটি আরো নির্ভরযোগ্য ভিত্তি।

## xMemory বনাম নিওটোমা

নিওটোমা হল [স্ট্রাকচার্ড মেমরি লেয়ার](/posts/truth-layer-agent-memory) আমি তৈরি করছি: স্কিমা-ফার্স্ট, ডিটারমিনিস্টিক, প্রোভেনেন্স এবং রিপ্লে করার জন্য তৈরি। উভয় সিস্টেমই RAG এর বাইরে চলে যায়; তারা কিভাবে তারা গঠন নির্মাণ ভিন্ন.

**xMemory** এম্বেডিং এবং LLM সারাংশ সহ একটি চার-স্তরের অনুক্রম (পর্ব থেকে শব্দার্থ থেকে থিম থেকে বার্তা) তৈরি করে৷ পর্বগুলি সংলগ্ন ব্লক; শব্দার্থবিদ্যা হল পুনরায় ব্যবহারযোগ্য তথ্য; উচ্চ-স্তরের অ্যাক্সেসের জন্য থিম গ্রুপ শব্দার্থবিদ্যা। একটি sparsity-semantics উদ্দেশ্য থিম আকার ভারসাম্য. অত্যধিক বড় কারণ অপ্রয়োজনীয় পুনরুদ্ধার; খুব ছোট টুকরা প্রমাণ। পুনরুদ্ধার হল টপ-ডাউন: থিম এবং শব্দার্থবিদ্যার একটি কমপ্যাক্ট সেট নির্বাচন করুন, তারপরে অক্ষত পর্বে (এবং ঐচ্ছিকভাবে বার্তা) প্রসারিত করুন শুধুমাত্র যখন এটি পাঠক মডেলের অনিশ্চয়তা হ্রাস করে। ইউনিটের ভিতরে ছাঁটাই করা নেই। এই বেঞ্চমার্কগুলিতে এটি গুণমান এবং টোকেন ব্যবহারের পাঁচটি বেসলাইনকে ছাড়িয়ে যায়। কাগজটি নোট করে যে LLM-উত্পন্ন কাঠামো (যেমন A-Mem, MemoryOS-এ) ভঙ্গুর: বিন্যাস বিচ্যুতি, ব্যর্থ আপডেট। যেহেতু xMemory LLM সারাংশের সাথে তার অনুক্রম তৈরি করে, এটি একই ভঙ্গুরতা গ্রহণ করে।

**নিওটোমা** জটিল পথে এলএলএম ছাড়াই কাঠামো তৈরি করে। সত্তা টাইপ করা হয়; সম্পর্ক এবং সময়রেখা স্পষ্ট; পুনরুদ্ধার স্কিমা, সত্তা আইডি, সম্পর্ক এবং সময়সীমা ব্যবহার করে। একই ইনপুট এবং স্কিমা একই আউটপুট দেয়। স্কিমা এখনও বিকশিত হয়। অজানা ক্ষেত্রগুলি একটি সংরক্ষণ স্তরে অবতরণ করে। একটি নির্ধারক পাইপলাইন স্কিমাতে উচ্চ-আস্থার ক্ষেত্রগুলিকে উন্নীত করতে পারে। একটি LLM মুলতুবি সুপারিশ হিসাবে নতুন ক্ষেত্র বা প্রকারের পরামর্শ দিতে পারে, শুধুমাত্র টুলিং বা মানুষের অনুমোদনের মাধ্যমে প্রয়োগ করা হয়। অনুমান উপদেশমূলক থাকে: স্কিমা পরিবর্তনগুলি টুলিং বা মানুষের অনুমোদনের মাধ্যমে হয়; নিষ্কাশন এবং হ্রাস নির্ধারক থাকে; স্কিমা সত্যের উৎস থেকে যায়। কাগজের সমালোচনা প্রযোজ্য হয় যখন মডেল *ড্রাইভ* স্ট্রাকচার, না যখন এটি পরামর্শ দেয় এবং মানুষ বা টুলিং প্রযোজ্য হয়। ইনজেস্ট-টু-রিট্রিভ নির্ধারক থাকে।

### তুলনা

| | xMemory | নিওটোমা |
|---|---------|---------|
| গঠন উৎস | এমবেডিং + এলএলএম সারাংশ (পর্ব, শব্দার্থবিদ্যা, থিম) | স্কিমা-প্রথম, নির্ধারক নিষ্কাশন এবং হ্রাসকারী |
| অনুক্রম | চারটি স্তর (বার্তা, পর্ব, শব্দার্থবিদ্যা, থিম), স্পার্সিটি-অর্থতত্ত্বের উদ্দেশ্য দ্বারা পরিচালিত | টাইপ করা সত্তা, সম্পর্ক, টাইমলাইন (কোন নির্দিষ্ট "স্তর" নেই) |
| পুনরুদ্ধার | টপ-ডাউন: গ্রাফে প্রতিনিধি নির্বাচন, তারপর অক্ষত পর্ব/বার্তায় অনিশ্চয়তা-দ্বার সম্প্রসারণ | স্কিমা, সত্তা আইডি, সম্পর্ক, টাইমলাইন দ্বারা |
| অপ্রয়োজনীয়তা নিয়ন্ত্রণ | প্রতিনিধি নির্বাচন + অনিশ্চয়তা কমে গেলেই প্রসারিত করুন | স্ট্রাকচারাল প্রশ্ন আপনি যা চান তা ফেরত দেয়; কোন মিল পতন |
| অক্ষত একক | হ্যাঁ (পর্ব/বার্তার ভিতরে ছাঁটাই নেই) | হ্যাঁ (পর্যবেক্ষণ এবং সত্তা সম্পূর্ণ রাখা) |
| ডিটারমিনিজম | না (LLM-উত্পন্ন কাঠামো পরিবর্তিত হয়) | হ্যাঁ (একই ইনপুট, একই স্কিমা, একই আউটপুট) |
| ভঙ্গুরতা | কাগজ LLM ফর্ম্যাটিং বিচ্যুতি, অনুরূপ সিস্টেমে ব্যর্থ আপডেটগুলি উল্লেখ করে | স্কিমা এবং কোড সুস্পষ্ট; জটিল পথে কোন এলএলএম নেই |

### আপেক্ষিক সুবিধা

যখন ইনপুট একটি কথোপকথন স্ট্রীম হয় এবং আপনি স্কিমা সংজ্ঞায়িত না করে কাঠামো চান তখন **xMemory** এক্সেল হয়। উদাহরণ: একজন সহকারীর সাথে দীর্ঘক্ষণ চ্যাট যেখানে আপনি জিজ্ঞাসা করেন "আমরা ট্রিপ সম্পর্কে কি সিদ্ধান্ত নিয়েছি?" অথবা "আমি শেষ কবে বাজেট উল্লেখ করেছি?" xMemory এপিসোড, শব্দার্থবিদ্যা এবং থিম তৈরি করে; পুনরুদ্ধার টোকেন-দক্ষ। এটি দ্রুত প্রোটোটাইপ (সহায়তা টিকিট, মিটিং নোট) ফিট করে যেখানে আপনি এখনও স্কিমা লিখতে চান না। আপনি হায়ারার্কি ড্রিফ্ট গ্রহণ করেন এবং সত্তার দ্বারা নিরীক্ষাযোগ্যতা বা প্রথম-শ্রেণীর ক্যোয়ারী প্রয়োজন হয় না।

**নিওটোমা** যখন আপনার ট্রেসেবিলিটির প্রয়োজন হয় বা আপনার ডেটা ইতিমধ্যেই স্ট্রাকচারড থাকে তখন এক্সেল হয়৷ উদাহরণ: নিরীক্ষাযোগ্য সিদ্ধান্ত (পেমেন্ট, চুক্তি, কাজের ফলাফল) যেখানে একই ইনপুট এবং স্কিমা একই স্ন্যাপশট প্রদান করতে হবে। স্কিমা পরিবর্তন সংস্করণ করা হয় এবং নির্ধারকভাবে প্রয়োগ করা হয়; পথে কোন এলএলএম নেই। সম্পর্ক এবং টাইমলাইন সহ টাইপ করা সত্তার (কাজ, পরিচিতি, লেনদেন, ইভেন্ট) জন্য এটি উপযুক্ত। সত্তার ধরন, আইডি, সম্পর্ক, বা সময়সীমার দ্বারা প্রশ্ন। নিওটোমা তাদের দেশীয় হিসাবে বিবেচনা করে; xMemory-এর জন্য পাঠ্যের জন্য সিরিয়ালাইজ করা প্রয়োজন এবং প্রথম-শ্রেণীর অ্যাক্সেস হারায়।

## কথোপকথনে পুনরাবৃত্তিমূলক কাঠামো

গঠন প্রায়ই কথোপকথনে আবির্ভূত হয়: "এর জন্য একটি কাজ যোগ করুন," "রেকর্ড করুন যে আমরা 500 দিতে রাজি হয়েছি," এবং এজেন্ট কাজ করে। দুটি সিস্টেম এটি ভিন্নভাবে পরিচালনা করে।

**xMemory:** কথোপকথন হল প্রাথমিক বস্তু। এজেন্ট যা করে (যেমন "আমি ডেন্টিস্টের জন্য একটি টাস্ক তৈরি করেছি") মেসেজ স্ট্রীমে থাকে এবং এপিসোড, শব্দার্থবিদ্যা এবং থিমে প্রবাহিত হয়। আপনি একটি ভাল শেখা অনুক্রম পাবেন কিন্তু কোন পৃথক, অনুসন্ধানযোগ্য সত্তা গ্রাফ নেই। কাঠামো অনুক্রমের ভিতরে বাস করে।

**নিওটোমা:** কথোপকথন হল পর্যবেক্ষণের একটি উৎস। যখন এজেন্ট একটি কাজ, যোগাযোগ বা লেনদেন তৈরি বা আপডেট করে, তখন সেই অপারেশনগুলি পর্যবেক্ষণ এবং সত্তার স্ন্যাপশট তৈরি করে। সংলাপের নতুন ক্ষেত্রগুলি একটি সংরক্ষণ স্তরে অবতরণ করতে পারে এবং আত্মবিশ্বাস বেশি হলে স্কিমাতে উন্নীত হতে পারে। কথোপকথন এবং কাঠামোগত গ্রাফ সিঙ্কে থাকে কারণ উভয়ই একই স্টোরে লেখা হয়।

**বিভিন্ন পুনরুদ্ধার।** xMemory অনুক্রমের উপর শব্দার্থিক পুনরুদ্ধার সমর্থন করে। প্রাকৃতিক-ভাষা প্রশ্ন ("আমরা ডেন্টিস্ট সম্পর্কে কি সিদ্ধান্ত নিয়েছি?") থিম, শব্দার্থবিদ্যা বা অক্ষত পর্বগুলি ফেরত দেয়৷ এটি কাঠামোগত পুনরুদ্ধার সমর্থন করে না (আইডি এবং সম্পর্কের সাথে কোন সত্তা প্রকার নেই)। এটি তিনটি ধরণের ক্ষেত্রে প্রত্যাশিত ব্যর্থতার দিকে পরিচালিত করে:

- **প্রমাণ পালাক্রমে ছড়িয়ে পড়ে।** "আমরা কি চালান বিবাদের সমাধান করেছি?" বিরোধ, আলোচনা এবং অর্থ প্রদান বিভিন্ন পর্ব বা থিমে থাকতে পারে; পুনরুদ্ধার এক বা দুটি পৃষ্ঠ হতে পারে এবং বাকিগুলি মিস করতে পারে, তাই মডেলটি ভুল বা অসম্পূর্ণভাবে উত্তর দেয়।
- **কোয়েরি সেট করুন।** "শুক্রবার আগে কোন কাজগুলো বাকি আছে?" অথবা "X এর সাথে যোগাযোগ করতে সমস্ত পেমেন্ট দেখান।" ফিল্টার করার জন্য কোন টাস্ক বা লেনদেন সত্তা নেই; আপনি শব্দার্থিক মিল পান (যে বার্তাগুলি "টাস্ক" এবং "শুক্রবার" বা "যোগাযোগ X" উল্লেখ করে), একটি নির্দিষ্ট তালিকা নয়, তাই ফলাফলগুলি আংশিক বা শোরগোল।
- **রিলেশনশিপ ট্রাভার্সাল।** "প্রজেক্ট Y এর কোন কাজগুলি এখনও মুলতুবি আছে?" একটি প্রজেক্ট-টাস্ক গ্রাফ ছাড়া, পুনরুদ্ধার কথোপকথন স্নিপেট প্রদান করে যা কিছু কাজ বা প্রকল্প বাদ দিতে পারে; আপনি সম্পর্ক দ্বারা নির্ভরযোগ্যভাবে গণনা করতে পারবেন না।

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

## মিলের উপর কাঠামো, ভঙ্গুরতার উপরে স্কিমা-প্রথম

এজেন্ট মেমরির জন্য, কাঁচা পাঠ্যের সাথে মিল ব্যর্থ হয়। পুনরুদ্ধার কাঠামোর দ্বারা চালিত হতে হবে: আপনি কীভাবে স্ট্রীমটি পচন এবং সংগঠিত করবেন, একটি প্রশ্নের সাথে কতগুলি অংশ মেলে তা নয়। কাগজটি দেখায় যে একটি শেখা শ্রেণিবিন্যাস (xMemory) নিষ্পাপ RAG কে হারায় এবং LLM-উত্পন্ন কাঠামো ভঙ্গুর।

যাইহোক, একটি নির্ধারক, স্কিমা-প্রথম পথ আপনাকে সেই ভঙ্গুরতা ছাড়া একই কাঠামোগত সুবিধা দেয়। আমি পরবর্তীতে [নিওটোমা](https://github.com/markmhendrickson/neotoma) তৈরি করছি যাতে খাওয়া এবং পুনরুদ্ধার পুনরুত্পাদনযোগ্য থাকে এবং স্কিমা সত্যের উৎস থেকে যায়।

[^1]: **Naive RAG:** স্মৃতি এম্বেড করুন, সাদৃশ্য দ্বারা ফিক্সড টপ-কে পুনরুদ্ধার করুন, কোনো শ্রেণিবিন্যাস নেই। আলাদা কোনো প্রকল্প নেই; [পেপারে](https://arxiv.org/abs/2602.02007) বেসলাইন সংজ্ঞায়িত করা হয়েছে।
[^2]: **A-Mem:** এলএলএম এজেন্টদের জন্য এজেন্টিক মেমরি; একটি মেমরি নেটওয়ার্কে জেটেলকাস্টেন-স্টাইল লিঙ্ক এবং এজেন্ট-চালিত আপডেট। [প্রকল্প](https://github.com/agiresearch/A-mem)।
[^3]: **MemoryOS:** ব্যক্তিগতকৃত এজেন্টদের জন্য আপডেট, পুনরুদ্ধার এবং প্রজন্মের মডিউল সহ অনুক্রমিক স্বল্প/মধ্য/দীর্ঘ-মেয়াদী স্টোরেজ। [প্রকল্প](https://github.com/BAI-LAB/MemoryOS)।
[^4]: **লাইটমেম:** লাইটওয়েট মেমরি অ্যাটকিনসন-শিফ্রিন স্টেজ দ্বারা অনুপ্রাণিত; বিষয়-সচেতন একত্রীকরণ এবং অফলাইন দীর্ঘমেয়াদী আপডেট। [প্রকল্প](https://github.com/zjunlp/LightMem)।
[^5]: **নেমোরি:** ইভেন্ট সেগমেন্টেশন এবং অভিযোজিত জ্ঞানের জন্য ভবিষ্যদ্বাণী-ক্যালিব্রেট সহ স্ব-সংগঠিত এপিসোডিক স্মৃতি। [প্রকল্প](https://github.com/nemori-ai/nemori)।