claude-thermos؛ کش رو گرم نگه دار، پول کمتر بده
خلاصهٔ کاملتر
تو معرفی پروژه اومده که کش پرامپت در Claude Code یه TTL پنجدقیقهای داره: تا وقتی کش زنده باشه، کل تاریخچهٔ گفتوگو با یکدهم قیمت ورودی از کش خونده میشه، ولی اگه بین دو درخواست روی همون پیشوند بیشتر از پنج دقیقه فاصله بیفته، کش از بین میره.
نکتهٔ اصلی اینه که عامل غالب این فاصله، فکر کردن شما نیست؛ بلکه بلاک شدن ایجنت اصلی روی سابایجنتیه که بیشتر از پنج دقیقه طول میکشه. سابایجنت پرامپت سیستمی و مجموعه ابزار متفاوتی داره، پس درخواستهاش پیشوند کش جداگانهای دارن و هیچوقت کش ایجنت اصلی رو تازه نمیکنن. وقتی سابایجنت برمیگرده، ایجنت اصلی با تاریخچهای دقیقاً یکسان ادامه میده ولی کشش رفته و مجبوره همهچی رو با نرخ نوشتن ۱.۲۵ برابری از نو رمزگذاری کنه.
چون تا اون لحظه تاریخچه بزرگ شده، هر بار ۲۰۰ تا ۵۰۰ هزار توکن بازنویسی میشه. سازنده میگه اندازهگیری روی حدود ۱۸۵ نشست محلی نشون داده این بازنویسیها حدود ۲۲ درصد کل صورتحساب بودن.
راهحل، یه پراکسی معکوس محلیه: ابزار Claude Code رو پشت یه پراکسی روی لوپبک اجرا میکنه (فقط متغیر آدرس پایهٔ API رو عوض میکنه و ترافیک واقعی همچنان به سرور اصلی میره). پراکسی ترافیک رو به نشست و «دودمان» تقسیم میکنه — هر دودمان یعنی یه پیشوند کش که با مدل، مجموعه ابزار و متن سیستمی شناخته میشه — و اولین دودمان ابزاردار رو ایجنت اصلی در نظر میگیره. وقتی ایجنت اصلی بیکار باشه و همزمان یه سابایجنت فعال باشه، یعنی پنجرهٔ خطر شروع شده.
تو این پنجره، ابزار در بازههایی کمتر از پنج دقیقه آخرین درخواست واقعی ایجنت اصلی رو بهعنوان «درخواست گرمکننده» بازپخش میکنه: همون پیشوند قابل کش، ولی با سقف یک توکن خروجی و بدون استریم. اون یه توکن دور ریخته میشه و هدف فقط prefill ـه که کش رو میخونه و تازه میکنه. هر گرمکردن هزینهٔ یه خوانش ارزان (۰.۱ برابر) داره در برابر بازنویسی گرونتری که جلوش گرفته شده.
استفادهاش هم سادهست: بهجای دستور معمول، همون دستور از طریق uvx و این ابزار اجرا میشه و بقیهٔ آرگومانها بدون تغییر رد میشن. نیازمند پایتون ۳.۱۱ به بالا و در دسترس بودن CLI اصلیه، و با یه متغیر محیطی میشه گرمکردن رو برای یه اجرا خاموش کرد. تنظیمهای اختیاری مثل --idle، --interval، --max-cycles و --subagent-window هم وجود دارن. هر نشست هم لاگ رویدادها و یه فایل جمعبندی مینویسه که فیلد net_savings توش، با ضرب در قیمت هر توکن ورودی مدل، صرفهجویی دلاری رو نشون میده.
نکات کلیدی:
- کش پرامپت با TTL پنجدقیقهای، هنگام انتظار برای سابایجنت منقضی میشه
- بازنویسی کش با نرخ ۱.۲۵ برابر انجام میشه و ۲۰۰ تا ۵۰۰ هزار توکن هزینه داره
- در اندازهگیری سازنده روی ~۱۸۵ نشست، حدود ۲۲٪ صورتحساب صرف همین بازنویسی شده
- راهحل: بازپخش دورهای آخرین درخواست با سقف یک توکن برای تازه کردن کش
- گزارش summary.json صرفهجویی خالص رو بر حسب واحد توکن ورودی میده




