Поставил Headroom — прокси, который сидит между Claude Code и Anthropic API, сжимает промпты перед отправкой и обещает экономию до 95% токенов (на бумаге звучит отлично — 65k звезд на Гитхабе не могут ошибаться!)
Чуть более подробно, как это работает:
- Подключается прокси вместо BASE_URL, которое редактирует исходящие запросы в Антропик
- Из-за этого все эти /rc перстают работать (такие правила самого Антропик), но я такой думаю, неприятность эту мы переживем.
Подключил глобально на все проекты. Я сразу обратил внимание, что первый же промт ухандохал 20% пятичасового лимита, а через 15 минут работы статуслайн показывает: Session 65% — такого никогда не было.
Полез разбираться.
Дашборд самого Headroom пишет «Efficiency 0.8%» — то есть он сам знает, что почти ничего не экономит. Но при этом в /stats гордо красуется «$15 сэкономлено на кэше».
Как так?
Разгадка в одной метрике: отношение cache_read к cache_write у Anthropic. Обычно оно 20-60x (читать закэшированный префикс в 10 раз дешевле, чем записывать заново). С Headroom оно упало до 8-9x.
Причина: прокси лезет в каждый запрос и что-то в нём подрезает — в среднем на 1.6%. Но ЛЮБОЕ изменение байтов в начале запроса ломает prefix-кэш Anthropic целиком. Вместо дешёвого чтения — дорогая перезапись. Копейка экономии на компрессии превращается в рубль переплаты на кэше.
Но тут возникает вопрос, который сбил меня с толку:
А почему в долларах-то расход почти не изменился, ccusage показывает обычные цифры?
А вот здесь и зарыта собака: cache-write стоит в 12 раз дороже cache-read в номинальном $/токен и в долларовом выражении переплата растворяется в общем чеке. Видимо, пятичасовой Session-лимит считается не в долларах, а в своих внутренних юнитах, где вес записи в кэш непропорционально выше её же цены в $. То есть в кошельке почти не видно, а в лимите — как обухом по голове.
Полез в GitHub issues проекта — оказалось, баг известный уже 1.5 месяца, воспроизведён независимо на Windows, Kubernetes и macOS, есть даже открытый issue "Drop in CC Usage Limit after Headroom?" с июля, без единого ответа. Скорее всего, регрессия произошла после переписывания кода прокси с Питона на Rust.
Вытащил построчные логи прокси и нашёл точный механизм: один из потоков запросов вообще не может подцепиться к кэшу — 14 минут подряд каждый запрос переписывает кэш заново вместо чтения. Написал это всё в комменты issue с таймстампами и трассировкой.
Мораль: если инструмент экономит токены ценой prompt-кэша — это не экономия.
Cнес нахер этот Headroom. И о чудо! жор лимитов прекратился. Жаль, что к этому моменту уже осталось 90% 5ти часовых лимитов, ну и моего времени на все эти эксперименты уже не вернуть. А если его к Кодексу подключить... то видимо так можно и сразу недельный лимит жахнуть.
Ну и какие вам советы:
1. Не гоняться за дешевизной.
2. Не писать мне всекую херню в комментах.
3. Обязательно считайте и анализируйте свой базовый уровень потребления токенов (например, при помощи дашборда)
4. Подключать глобально на все проекты сразу не стоит, сначала протестировать на одном.
5. Не доверяйте никому на слово, даже мне. Открываете дебаггер и погружаетесь в мат. часть.
Вот так и только так.
И еще пара не очевидных выводов:
• Лимиты z.ai (и ollama) в разных харнесс могут учитываться по-разному. Claude Code довольно прожорлив на исходящие токены.
• Если вы используете АПИ токены, вместо подписки — смело юзайте этот проект! Подписки нет — она не сгорает 😂
https://github.com/headroomlabs-ai/headroom
