Context Language Model: وقتی مدل خودش حافظهش رو ویرایش میکنه
خلاصهٔ کاملتر
ایجنتهایی مثل Claude Code، Codex و Pi وقتی context window (یعنی حجم متنی که مدل هر بار میبینه) پر میشه، معمولاً حدود 75 درصد، پیامهای قدیمی رو با یه خلاصه عوض میکنن. Context Language Model یا CLM که تو یه مقالهٔ مشترک از Meta و دانشگاه واشنگتن معرفی شده، این کار رو برعکس میکنه: قبل از هر درخواست، context تو یه فایل نوشته میشه و خود مدل با یه اسکریپت کوچیک، مثل ویرایش کد، تصمیم میگیره چی بمونه، چی کوتاه بشه و چی پاک بشه.
نویسندهٔ مقاله خلاصهسازی پیشفرض Pi رو روی یه کار ساختگی تست کرده: لاگ 16 روز یه انبار که ایجنت باید کدهای پلمب کامیونها و کدهای باطلشده رو دنبال میکرد. خلاصهٔ اول 11 تا از 12 کد رو از خودش ساخته بود و بعد از سومین بار خلاصهکردن خلاصهها، 14 تا از 18 کد ساختگی بودن. با این حال خروجی با چکلیستهای مرتب کاملاً مطمئن به نظر میرسید. جواب آخر فقط به این خاطر درست شد که مدل خلاصهٔ خودش رو نادیده گرفت و با grep دوباره لاگها رو خوند، که هم توکن میسوزونه هم وقت.
همین کارها با افزونهٔ Pi CLM یه نتیجهٔ دیگه داشت: مدل یه بلوک یادداشت زنده نگه داشت و هر کد اعمالشده، باطلشده و در انتظار بررسی رو توش ثبت کرد. هر 18 کد دقیق دراومد و از کل کارها فقط یه جواب غلط بود. خود مقالهٔ علمی هم روی بنچمارک BrowseComp Plus با یه مدل 20.6 میلیارد پارامتری به دقت 59.4 درصد رسیده، یعنی حدود 11 درصد بهتر از بهترین روش خلاصهسازی با حدود یکپنجم محاسبهٔ کمتر.
ولی نویسنده چند تا دام مهم پیدا کرده. اول اینکه تو سه تا از چهار اجرای پیشفرض، مدل اصلاً context رو ویرایش نکرد؛ چون با tool callهای موازی تو یه نوبت از سقف context رد میشد و مکانیزم پشتیبان Pi کار رو دست میگرفت. راهحل این بود که هر نوبت فقط یه tool call مجاز باشه و بعد از هر نتیجه یه یادداشت اندازه اجباری بشه.
دوم، prefix caching (یعنی سرورهایی مثل VLLM بخش اول تکراری prompt رو کش میکنن تا دوباره پردازش نشه) به جای ویرایش بستگی داره. ویرایش نزدیک آخر فایل بیشتر کش رو نگه میداره، ولی ویرایش وسط فایل همهٔ بعدش رو از کش بیرون میندازه. برای همین CLM خودبهخود ارزونتر نیست: یه اجرا حدود دو برابر توکن مصرف کرد و تو یکی دیگه فقط 10 درصد prompt از کش اومد. راهحل مقاله به اسم suffix cache reuse فعلاً فقط یه patch برای SGLang هست که روی یه مدل و یه GPU تست شده.
سوم، مدل باید به اندازهٔ کافی قوی باشه: یه مدل 9 میلیارد پارامتری تا قبل از آموزش با reinforcement learning شش امتیاز از خلاصهسازی عقب بود، و نتیجههای اصلی با بودجهٔ 32 هزار توکن به دست اومدن؛ تو 128 هزار توکن دو روش تقریباً مساوی میشن. چهارم، امنیت: اگه یه prompt injection وارد فایل context بشه، تو همهٔ نوبتهای بعدی میمونه، چیزی که نویسندههای خود مقاله هم بهش اشاره کردن.
نکات کلیدی:
- خلاصهسازی Pi تو تست، 14 تا از 18 کد پلمب رو بعد از سه دور خلاصهکردن از خودش ساخت.
- Pi CLM همون 18 کد رو دقیق نگه داشت و تو کل کارها فقط یه جواب غلط داد.
- CLM روی BrowseComp Plus با مدل 20.6B به 59.4 درصد رسید، حدود 11 درصد بالاتر از خلاصهسازی.
- با tool callهای موازی، مدل تو سه تا از چهار اجرا اصلاً context رو ویرایش نکرد.
- ویرایش وسط فایل context کش رو از اون نقطه به بعد باطل میکنه؛ یه اجرا دو برابر توکن مصرف کرد.
- تو بودجهٔ 128 هزار توکن، CLM و خلاصهسازی تقریباً مساویان.
- prompt injectionی که وارد فایل context بشه، تو همهٔ نوبتهای بعد باقی میمونه.




