funes؛ حافظهای برای ایجنتها که مال خودته
خلاصهٔ کاملتر
هاگینگفیس ابزاری متنباز به اسم funes منتشر کرده که به ایجنتهای کدنویسی حافظهٔ دائمی میده. نویسنده میگه مشکل اینه که هر session وقتی تموم میشه، دلیل تصمیمهای اون جلسه هم از بین میره و ایجنت بعدی روی ماشین بعدی دوباره از صفر شروع میکنه. funes همون لاگ sessionهایی رو که همین الان روی سیستمت هستن برمیداره و تبدیلشون میکنه به حافظهای که واقعا قابل جستوجوئه.
خودِ funes یه باینری تکه و با یه دستور به ایجنت وصل میشه. همون دستور اولین ایندکس رو میسازه، دو تا ابزار recall و get رو در اختیار ایجنت میذاره و یه automation نصب میکنه که هر turn تمومشده رو بهصورت افزایشی ایندکس کنه. طبق مقاله، embedding و rerank (یعنی مرتبسازی دوبارهٔ نتایج جستوجو با یه مدل دقیقتر) روی ماشین خودت اجرا میشن و برای شروع هیچ اکانتی لازم نیست.
زیر کاپوت، هر trace به یه شکل واحد turn و block پارس میشه، تیکهتیکه و embed میشه و توی یه dataset محلی از نوع Lance میشینه. موقع query هم جستوجوی برداری و BM25 با هم ترکیب میشن، نتایج rerank و بر اساس تازگی وزندهی میشن. نکتهٔ مهمش اینه که recall خودِ متن اصلی رو برمیگردونه نه خلاصهش، و دقیقا میگه از کدوم ایجنت، کدوم session و کدوم turn اومده.
اگه بخوای حافظه باهات جابهجا بشه، موقع اضافهکردن ایجنت یه dataset روی Hub بهش bind میکنی و همون دستور رو روی ماشین بعدی هم میزنی:
funes add codex acme/funes-memoryاون dataset پیشفرض خصوصیه و مال خودته. قبل از اینکه چیزی به Hub برسه، credentialها موقع ایندکس پاک میشن و موقع publish هم هر chunk دوباره اسکن میشه.
تیم funes سه راه خروج از یه session طولانی رو با هم مقایسه کرده: compaction، نوشتن handoff دستی، و recall. طبق بنچمارک خودشون compaction تنها روشی بود که توی یکی از دو تسک اصلا به جواب نرسید، چون خلاصهسازی همون یافتهٔ مهم رو صاف کرده بود. recall توی هر دو تسک ارزونترین گزینه بود، یه جا ۸ برابر و یه جا ۴ برابر ارزونتر از handoff. یعنی برای خروج از یه جلسهٔ طولانی، لازم نیست حتما خلاصه بنویسی یا context رو دستی منتقل کنی.
نکات کلیدی:
- funes یه باینری متنبازه که Claude Code، Codex، pi و Hermes رو پشتیبانی میکنه
- ایندکس، embedding و rerank کاملا محلی انجام میشه و حافظهٔ محلی روی یه dataset از نوع Lance ذخیره میشه
- حافظهٔ مشترک به شکل یه dataset خصوصی روی Hugging Face Hub منتشر میشه
- recall متن خام turn رو با ذکر ایجنت، زمان، session و شمارهٔ turn برمیگردونه
- توی بنچمارک handoff-vs-recall، هزینهٔ recall تا ۸ برابر کمتر از handoff دستی بوده




