MemCurrent: حافظهٔ دائمی Databricks برای ایجنتهای واقعی
خلاصهٔ کاملتر
تیم Databricks تو این مقاله MemCurrent رو معرفی کرده، یه معماری حافظهٔ دائمی برای ایجنتهایی که تو محیط production کار میکنن. حرف اصلیشون اینه که معمولاً بین کیفیت جواب و هزینه/سرعت باید یکی رو انتخاب کنی، ولی حافظهٔ درست میتونه هر دو رو با هم بهتر کنه. نکته اینه که تاریخچهٔ بیشتر لزوماً حافظهٔ بهتر نیست، چون ریختن همهٔ گفتگوهای قبلی تو context هم گرونه و هم اطلاعات قدیمی و متناقض رو قاطی میکنه.
MemCurrent دو جور حافظه داره. episodic memory (یعنی ردپای خام هر جلسه، قدم به قدم) که فقط بهش اضافه میشه، و derived memory (یعنی درسهایی که از اون ردپاها بیرون کشیده شده) که مثل یه فایلسیستم سلسلهمراتبی ذخیره میشه. بالای همهشون یه فایل ایندکس به اسم memory.md هست که میگه هر فایل چی توشه. هر دو تو یه دیتابیس مقیاسپذیر با تأخیر کم نگهداری میشن.
برای دسترسی، هر سه الگو رو با هم استفاده کردن. یه plugin اول هر جلسه ایندکس رو به ایجنت تزریق میکنه تا بدونه چی تو حافظه داره. ایجنت toolهایی مثل add_memory، update_memory، delete_memory، search_memory و fetch_memory داره که درخواستهای صریح کاربر رو فوری ثبت میکنه. یه pipeline آفلاین هم به اسم «dreaming» تو پسزمینه از جلسههای جدید درس درمیاره، فایلهای بزرگ رو میشکنه، تکراریها رو ادغام میکنه و تناقضها رو حل میکنه.
برای سنجش، علاوه بر LoCoMo و LongMemEval و ConvoMem، یه بنچمارک داخلی از گفتگوهای واقعی Genie ساختن: ۱۱۴ تستکیس از ۲۹ کاربر و ۲٬۲۳۳ جلسهٔ قبلی. رو بنچمارکهای متنباز، MemCurrent با میانگین ۸۸.۱ درصد همسطح حالت full context (یعنی ریختن همهٔ تاریخچه تو پرامپت، ۸۷.۸ درصد) بوده، ولی با حدود ۱۲ برابر توکن ورودی کمتر (۸.۴ هزار در برابر ۱۰۳ هزار).
رو بنچمارک داخلی فاصله بیشتره. MemCurrent به نرخ موفقیت ۶۸.۴ درصد رسیده، در حالی که بدون حافظه ۲۲.۳ درصد و Mem0 ۴۳.۹ درصد بوده. یعنی بیش از ۸۰ درصد فاصله تا سقف gold injection (۷۸.۶ درصد) رو پر کرده و ۱.۳۵ برابر سریعتر و ۱.۴۴ برابر ارزونتر شده. تو یه مثال واقعی، کاری که اول ۶ دقیقه و ۱۱ tool call طول کشید، دفعهٔ بعد با کمک یه workflow ذخیرهشده تو ۴۱ ثانیه انجام شد.
آزمایشهای حذفی نشون داده derived memory بیشترین سهم رو داره (۶۶.۱ درصد) و episodic memory یه کم اضافه میکنه. dreaming آفلاین بهتنهایی (۶۳.۵ درصد) از toolهای آنلاین (۵۳.۹ درصد) بهتر بوده، ولی ترکیبشون بهترین نتیجه رو داده. یعنی اگه ایجنت میسازی، بهتره هم ثبت فوری داشته باشی هم یه پردازش پسزمینه.
نکات کلیدی:
- MemCurrent حالا پشت Agent Bricks Memory و Genie تو Databricks کار میکنه.
- رو بنچمارک داخلی نرخ موفقیت از ۲۲.۳ به ۶۸.۴ درصد رسیده، با ۳۱ درصد توکن کمتر و ۲۶ درصد سرعت بیشتر.
- رو بنچمارکهای متنباز همسطح full context بوده با حدود ۱۲ برابر توکن ورودی کمتر.
- ترکیب episodic و derived memory و ترکیب tool آنلاین با dreaming آفلاین بهترین نتیجه رو داده.
- Mem0 که رو بنچمارکهای عمومی خوب بود، رو کارهای واقعی سازمانی به ۴۳.۹ درصد افت کرده.




