Утром Claude Code летает, к обеду начинает тупить, а к вечеру здоровается плашкой «лимит исчерпан». Подписка та же, задачи те же, а токены кончились втрое быстрее, чем на прошлой неделе. Нет, Anthropic вас не обманула. Вы сами возите с собой мусорный полигон и платите за каждую ходку.
Дальше механика этого жора и правило 50-55%, которое режет расход лимита в разы. Без плагинов и бубна, всё штатными средствами.
Как вы платите за один и тот же мусор по сто раз
Главное, что упускают почти все: Claude Code отправляет в API всю историю сессии заново с каждым вашим сообщением. Не дельту. Не последний вопрос. Всю простыню целиком.
Прочитали в сессии двадцать файлов, вывалили лог на пятьсот строк, вставили пару скриншотов - поздравляем, весь этот балласт теперь едет в КАЖДЫЙ следующий запрос до конца сессии. Спросили «а что дальше?» тремя словами, а заплатили как за том «Войны и мира»: вместе с вопросом уехал весь накопленный хлам.
Представьте такси, где счётчик мотает не за километры, а за вес багажника. Ехать вам три квартала, но в багажнике с утра лежат холодильник, два мешка цемента и чей-то диван. Вот это ваша сессия к шести вечера.
Чем толще окно, тем дороже каждый ход. И это только деньги. Вторым слоем идёт качество: модель в раздутом контексте банально тупеет, тонет в нерелевантном и путается в том, что вы просили час назад.
Про вторую половину счёта - пятиминутный кеш, догонки по одной правке и служебку на дорогой модели - мы писали в «Как мы спалили лимит нейросети на мелких правках». Здесь разбираем главный кран: окно контекста.
«У меня безлимит, мне пофиг» - безлимитов нет, есть недельные квоты. Проверьте /status, удивитесь.
Автокомпакт - это подушка безопасности, а не тормоза
В Claude Code есть автокомпакт: когда окно почти забито, он сам сжимает историю в короткое резюме. Звучит как решение? Ага, йух там плавал.
Порог у автокомпакта - ~90%+ заполнения. То есть десятки ходов с раздутым окном по конской цене вы к этому моменту УЖЕ откатали. А момент он выбирает сам, обычно посреди задачи, когда в контексте живут важные детали: пути, договорённости, промежуточные решения. Сжатие перемалывает их в кашу, и дальше модель «вспоминает» детали из резюме, то есть выдумывает. Х#як - и вместо точного пути к боевому файлу у вас правдоподобная подделка, которую ещё надо успеть заметить.
Подушка безопасности штука полезная. Но руль она не заменяет. Никто же не въезжает в столб на том основании, что airbag в машине есть.
Правило 50-55%: компакт руками, на границе задач
Схема из трёх пунктов.
1. Следите за цифрой. Первое, что спрашивают все: а где этот процент вообще увидеть? Три штатных способа:
- Команда
/context- набираете прямо в чате, получаете раскладку окна: сколько занято, чем именно (системный промпт, история переписки, прочитанные файлы) и сколько осталось. Способ разовый: захотели - посмотрели. - Статус-бар - постоянный и самый удобный. Набираете
/statuslineи просите Клода обычным текстом: «добавь в статус-бар процент занятого контекста». Он сам напишет и подключит скрипт, цифра будет висеть внизу экрана всегда. Настроили один раз и забыли, дальше она работает как датчик топлива. - Встроенное предупреждение «Context left until auto-compact: X%» - появляется само, но уже на подходе к автокомпакту. Это не инструмент контроля, а сирена «вы всё проспали».
У нас в работе агент вообще пишет метку с процентом в конце каждого ответа - самоконтроль на автомате. Не обязательно, но принцип показывает: цифра должна быть перед глазами, а не в голове. В голове она всегда «ну, процентов сорок», а по факту семьдесят восемь.
2. Потолок 50-55%. Подошли к нему, жмите /compact руками. Почему именно тут: ниже 50 компактить рано, сам компакт тоже стоит токенов, а выше 60 каждый ход уже золотой и качество ответов ползёт вниз.
3. Только на границе задач. Компакт - это смерть деталей. Посреди задачи не жать никогда. Закончили кусок, зафиксировали состояние, сжали - и чистый заход на следующий. Компакт посреди отладки это как ребутнуть комп, не сохранив файл: машина работает бодро, работы нет.
«Я что, теперь на проценты пялиться должен вместо работы» - должны. Полминуты на статус-бар один раз против «почему он опять тупит» каждый вечер.
Стейт наружу - ДО компакта
Всё, что обязано пережить сжатие, пишется в файл ЗАРАНЕЕ. Заведите в проекте файл вроде current-focus.md и приучите Клода (через CLAUDE.md) перед компактом сбрасывать туда: текущий фокус, незакрытые хвосты, точные пути, ID, ключевые решения.
После компакта первое действие - прочитать этот файл. Не «вспоминать» из сжатого резюме: резюме врёт в деталях, файл нет. Это разница между «продолжил с того же места» и «полчаса восстанавливал, что вообще делали».
Резюме - это пересказ соседа о том, что было на совещании. Файл - протокол. С соседом можно спорить до ночи и без толку.
Не тащите мусор в окно - топ-3 пожирателя
Картинки. Один скриншот - десятки тысяч токенов. Живой случай: четыре фотографии, брошенные в чат подряд, раздули окно с 13% до 49%. Одним махом треть окна на «глянь, что тут». Красиво живём, бл#. Серию изображений в основную сессию не кидать: одно можно, остальные отдавайте путями к файлам, пусть разбирает субагент.
Простыни. cat файла на две тысячи строк, полный лог сборки, дамп JSON - всё это ложится в окно и ездит с вами до компакта. Читайте кусками, грепайте, отрезайте tail-ом. Клоду не нужен весь лог целиком, ему нужны те шесть строк, где всё легло.
Болтовня в одной сессии обо всём. Сессия про деплой, потом в ней же про вёрстку, потом «а посмотри ещё логи», и к вечеру в окне свалка из трёх несвязанных задач. Новая тема - новая сессия или компакт между ними.
«Да я одну картинку кинул, там же копейки» - одну и можно. Четыре подряд - это минус треть окна, замеряли.
Субагенты: лимит общий, окно своё
Частый вопрос: «субагент же тратит те же токены, в чём смысл? Или нужно отдельное окно открывать?» Разбираем по косточкам, тут сидит главное заблуждение всей темы.
Лимит подписки - общий. Токены субагента списываются с того же счётчика, чуда нет. Кто ждал бесплатных токенов - расходимся.
Окно контекста - у субагента СВОЁ. Вот тут и живёт экономия. Вспомните механику из начала статьи: главная сессия шлёт всю историю заново с каждым сообщением. Прочитали в ней двадцать файлов - этот груз едет в каждый запрос до конца сессии, вы платите за него снова и снова. Субагент читает те же двадцать файлов в своём отдельном окне, возвращает вам три абзаца выжимки и умирает вместе со своим мусором. В вашей истории остаётся только выжимка. Разово потрачено столько же, но главная сессия осталась тощей, и каждый следующий ход дешевле в разы, потому что не возит чужой хлам.
Грубо говоря, вы нанимаете одноразового стажёра: он перелопачивает гору бумаг у себя в каморке, приносит страничку выводов и уходит навсегда вместе с горой.
Ничего открывать руками не надо. Отдельное окно, вторая вкладка, ещё один терминал - не нужны. Субагент и есть это «отдельное окно», только автоматическое. Пишете обычным текстом: «через субагента найди все места, где у нас используется X» или «делегируй разбор этих логов субагенту» - и Клод сам вызовет встроенный Task-механизм. В интерфейсе это видно строчкой «Task: ...» со счётчиком, пока субагент пашет.
Что за Task такой? Встроенный в Claude Code механизм, ставить ничего не надо. Под капотом поднимается отдельный Клод с чистым окном, делает работу, отдаёт результат и исчезает. Кому интересно глубже - команда /agents заводит именных субагентов под свои задачи (например «ревьюер» со своей инструкцией), но для экономии контекста хватает и безымянных, через обычную просьбу.
Правило простое: жирное чтение (поиск по проекту, разбор логов, изучение чужой либы) - субагенту. Решения и правки - в главном окне.
«Это всё для задротов, я просто пользуюсь» - ну-ну. «Просто пользователи» и приносят нам сессии с окном 92% и вопросом «почему он отупел и лимит кончился».
Что это даёт в цифрах
Сессия, живущая на 15-30% окна, тратит на каждый ход в 3-5 раз меньше лимита, чем раздутая до 80%. На Max-подписке это разница между «упёрся в лимит к обеду» и «спокойно работаю весь день». На Pro - между «хватает на час» и «хватает на полдня».
Плюс модель в тощем контексте заметно умнее. Меньше хлама, меньше галлюцинаций.
Чеклист - выжигайте на мониторе
- Статус-бар с процентом контекста - настроить один раз
- Тяжёлое чтение - субагентам, картинки - путями, логи - фильтром
- Подошли к 50-55% - фиксируем стейт в файл
/compact- только на границе задач- После компакта - читаем файл стейта, работаем дальше
Пять пунктов, ни одной установки, а экономия колоссальная. Проверено на живых сессиях: лимита стало хватать на день вместо пары часов.
Разгрузите багажник. Счётчик заметит это первым.