Context Language Model: ایجنتی که خودش حافظهش رو ویرایش میکنه
خلاصهٔ کاملتر
تو این مقاله از وبلاگ MindStudio، ایدهی Context Language Model یا CLM معرفی شده که از یه مقالهی پژوهشی از Meta و دانشگاه واشنگتن اومده. ایجنتهایی مثل Claude Code، Codex و Pi وقتی context نزدیک حدود ۷۵ درصد ظرفیت پنجره میشه، یه compaction انجام میدن، یعنی چند نوبت آخر رو نگه میدارن و بقیه رو با یه خلاصه عوض میکنن. Claude Code و Codex این کارو با دستور /compact هم در اختیار کاربر میذارن.
مشکل این روش زمانبندیه. خلاصه وقتی نوشته میشه که هنوز کسی نمیدونه کدوم جزئیات بعداً مهم میشه. مثلاً اگه ایجنت ۴۰ نوبت قبل یه فایل config خونده باشه، ممکنه اون مقدار تو خلاصه نیاد و ایجنت اصلاً نفهمه چیزی گم شده. خلاصهی دوباره از خلاصه هم خطا رو بیشتر میکنه. پژوهشگرها یه بنچمارک کوچیک به اسم Context Bench ساختن، با کارهایی مثل بهروز نگه داشتن یه جدول سودوکو، و بیشتر روشهای فعلی compaction روش شکست خوردن.
تو CLM، harness قبل از هر درخواست context رو تو یه فایل مینویسه که هر نوبت توش یه بلوک برچسبدار داره. مدل میتونه با یه اسکریپت کوچیک این فایل رو ویرایش کنه، کوچیکش کنه یا بخشی رو پاک کنه. هرچی آخر نوبت تو فایل بمونه، پرامپت بعدی میشه. تو آزمایشها مدل خودش یه نقش جدید به اسم «notes» برای یادداشتبرداری ساخت، یه تابع کمکی برای کوچیک کردن نتایج جستجو نوشت، و تو یه اجرای چندایجنتی یه جدول امتیاز از ۲۱ زیرایجنت رو بیش از صد بار بهروز کرد.
تو یه آزمایش با لاگهای ۱۶ روز یه انبار، ایجنت Pi با خلاصهسازی معمولی کدهای پلمپ کامیونها رو اشتباه گزارش کرد و تا دور سوم خلاصه، بیشتر کدها ساختگی بودن، اونم با ظاهری کاملاً مطمئن. با CLM، مدل یه بلوک یادداشت واحد نگه داشت و همهی کدها درست ثبت شدن. روی بنچمارک تحقیقاتی BrowseComp Plus هم مقاله امتیاز حدود ۵۹.۴ درصد رو گزارش کرده، یعنی حدود ۱۱ امتیاز بیشتر از بهترین روش خلاصهسازی، با حدود یکپنجم محاسبات کمتر.
ولی چند تا محدودیت مهم هست. اول، تنظیمات harness خیلی مهمه: با فراخوانی موازی ابزارها، مدل تو سه تا از چهار اجرا اصلاً context رو ویرایش نکرد و یه مکانیزم پشتیبان جاش کار کرد. باید به یه فراخوانی ابزار در هر نوبت محدودش کنی. دوم، prefix caching (یعنی سرور محاسبات قبلی یه پیشوند تکراری رو دوباره استفاده میکنه) با ویرایش وسط فایل خراب میشه. تو یه اجرا CLM حدوداً دو برابر توکن پردازش کرد. سوم، مزیت روش تو بودجهی ۳۲ هزار توکنی اندازهگیری شده و تو ۱۲۸ هزار توکن تقریباً با خلاصهسازی برابره.
یه نگرانی امنیتی هم هست که خود مقاله بهش اشاره کرده: چون مدل میتونه تو حافظهی ماندگار خودش بنویسه، یه prompt injection که به این حافظه برسه میتونه چند نوبت باقی بمونه. یه extension متنباز برای Pi منتشر شده که این رفتار رو پیاده میکنه و اندازهی context و هر ویرایش رو نشون میده. جمعبندی نویسنده اینه که CLM برای ایجنتهایی که نزدیک سقف context کار میکنن پیشرفت واقعیه، ولی جایگزین همهجایی خلاصهسازی نیست.
نکات کلیدی:
- harnessهایی مثل Claude Code و Codex نزدیک ۷۵ درصد ظرفیت context، تاریخچه رو خلاصه میکنن.
- تو CLM مدل context رو مثل یه فایل با بلوکهای برچسبدار ویرایش میکنه.
- روی BrowseComp Plus امتیاز حدود ۵۹.۴ درصد، حدود ۱۱ امتیاز بالاتر از بهترین روش خلاصهسازی، گزارش شده.
- ویرایش وسط context کش پیشوند رو خراب میکنه و تو یه آزمایش توکن پردازششده تقریباً دو برابر شد.
- مزیت تو بودجهی ۳۲ هزار توکن دیده شده و تو ۱۲۸ هزار توکن تقریباً از بین میره.
- یه مدل ۹ میلیارد پارامتری بدون fine-tune با یادگیری تقویتی از خلاصهسازی ساده عقبتر بود.




