Как уложиться в лимиты Claude
Что съедает лимит
По статистике подписки:
- 86% расхода приходится на разговоры, где контекст больше 150 тысяч токенов;
- 74% расхода приходится на сессии длиннее 8 часов.
Каждое новое сообщение заново читает весь накопленный контекст. Дорогим оказывается не сложное задание, а длинная переписка. Пример: одна сессия шла почти двое суток, журнал дорос до 7,8 МБ.
Правила
- Одна задача — одна сессия. Задача закончена или тема сменилась:
/clearи новая сессия. - Итог записывать в файл до
/clear. Агент пишет в дневник, что сделано и что осталось. Новая сессия читает дневник и продолжает без потерь. - Один проект — одна папка — одна сессия. Сессия в папке проекта сразу видит нужные правила и не тащит чужой контекст.
- Большие файлы читать кусками. Расшифровки, выгрузки и длинные логи читать выборочно, по нужному месту.
- Субагентов и «исследование» не запускать без просьбы. Каждый субагент стартует с нуля и тратит свои токены.
- Когда лимита мало, включать экономный режим. Короткие ответы, без экспериментов и лишних проверок.
- Регулярные дайджесты запускать по требованию, а не по расписанию.
Напоминание, не зависящее от памяти
Следить за размером сессии вручную не получается. Поможет хук UserPromptSubmit: он смотрит на журнал сессии и напоминает про /compact или /clear.
- от 2 МБ или 6 часов: напоминание раз в несколько сообщений;
- от 5 МБ или 12 часов: напоминание чаще.
Хук подключается в настройках Claude Code за пару минут, скрипт короткий.
Что ещё помогает
- Короткая постоянная память. Файл с долгосрочными фактами держать до 200 строк. Всё длиннее выносить в отдельные файлы и подгружать по необходимости.
- Сжатый вывод команд. Утилита RTK заменяет длинный вывод терминальных команд сжатым. Авторы заявляют экономию 60–90%, независимо цифра не проверялась.
- Запасной инструмент. Задачи, которым Claude не обязателен, переносить в другой инструмент (например, Codex).
Коротко
Дорогой бывает не сложный запрос, а длинная сессия. Резать сессии по задачам, записывать итог в файл, читать большое кусками и поставить хук, который напомнит про /clear.