Pattern Automation
← Blog

Как не сжечь все токены в Claude Code

Почему Claude Code жрёт лимит Pro/Max, куда уходят токены и девять шагов: /clear, CLAUDE.md, MCP, .claudeignore, Sonnet и кэш.

Разбор, как перестать сливать токены в Claude Code.

Установили Claude Code, начали собирать сайт или скрипт — через пару часов красное You’ve reached your usage limit. Самое обидное: непонятно, что сделали не так. Два коротких вопроса, а лимит улетел.

Цель текста: чтобы план Pro или Max растягивался на рабочий день, а не на полтора часа.

Гайд рассчитан на подписку Pro ($20), Max 5× ($100) или Max 20× ($200). Если сидите на API — там другие правила, эта статья не про биллинг API.

Claude Code — не чат. Пока это не почувствуете, «лимит кончился за час» будет казаться багом Anthropic.

Связанные материалы: Claude для новичков, регистрация и оплата из РФ.

Как читать

Первая половина — как Claude Code устроен под капотом и куда уходят токены. Без этого шаги ниже выглядят как магия.

Вторая половина — 9 шагов за один вечер: команды, типичные ошибки, как обходить.

В конце — чек-лист и где те же привычки работают вне Claude Code.

Нужны только практики — сразу к разделу «Что делать». Хотите понять глубже — читайте по порядку.

Почему токены сгорают так быстро

Частая боль: «Купил Max 20× за $200 — за час нормальной работы лимит кончился». В 2026 Anthropic публично признавал: люди упираются в лимиты быстрее, чем компания ожидала.

Дело не в том, что вы «слишком много пишете». В обычном чате улетает сообщение. В Claude Code на каждый Enter уходит:

  • вся история сессии заново;
  • системный промпт Claude Code;
  • описания инструментов и MCP;
  • ваш CLAUDE.md;
  • плюс output и, если включено, extended thinking.

Это не баг, а устройство. Если понять его — тот же план часто растягивается в 3–5 раз.

Часть 1. Как устроен Claude Code

Представьте собеседника с короткой памятью: каждое утро нужно пересказывать всю прошлую историю. Claude Code близок к этому. Каждое сообщение — новый вызов stateless API: модель сама «не помнит» прошлый ход, поэтому клиент снова шлёт весь контекст с начала сессии.

Что это значит на практике

30-е сообщение стоит не как 1-е. Оно может быть в 10–30 раз дороже, потому что вместе с ним едет весь предыдущий разговор.

Разбор JSONL-логов (публичный кейс с dev.to):

  • 1-е сообщение — около 15 000 токенов input;
  • 15-е — около 100 000;
  • 30-е — около 167 000, дальше часто срабатывает auto-compact.

По смыслу запросы могли быть одинаково короткими. Платите за накопленную историю снова и снова.

Что такое токен

Токен — не слово и не буква, а кусок текста, на который модель режет вход. Ориентир: ~1 токен ≈ 0,75 английского слова или ~0,5 русского. Файл на 1000 строк кода — часто 8–15 тысяч токенов.

Лимит ест не только то, что вы набрали:

  • ваш input;
  • ответ Claude (output);
  • системный промпт Claude Code;
  • CLAUDE.md;
  • описания инструментов и MCP;
  • extended thinking («думает» перед ответом — тоже считается).

Понимание этого — половина решения.

Что занято до первой буквы

Откройте проект и наберите /context. На пустой сессии уже может быть занято:

  • системный промпт — примерно 6–24 тыс. (зависит от версии);
  • инструменты и MCP — ещё 10–80 тыс., если их много;
  • буфер auto-compact — 33–45 тыс.;
  • ваш CLAUDE.md — сколько сами насыпали.

Публичный пример Скотта Спенса: 143 из 200 тыс. уже заняты до первого сообщения (72% окна). Отключил три лишних MCP — осталось 34%. Одним движением освободил 38%.

Часть 2. Что в плане

Anthropic не публикует точные квоты. Рабочая картина 2026 (ориентиры, не прайс-лист):

План Ориентир на 5-часовое окно Сообщения (очень грубо)
Pro ~$20 ~44 тыс. токенов 10–45
Max 5× ~$100 ~88 тыс. 50–225
Max 20× ~$200 ~220 тыс. до ~900 в идеальной картине

Окон в день несколько, но каждое 5-часовое сбрасывается с первого сообщения, не с полуночи. Написали в 10:00 — окно до 15:00.

Есть недельные лимиты (с 2025). Упёрлись в неделю — ждать 5 часов бесполезно, только до сброса недели.

В часы пиковой нагрузки (примерно 13–19 UTC, у нас часто с обеда до вечера) лимит сгорает заметно быстрее. Anthropic это подтверждал. Если есть выбор — утро выгоднее.

Цифры плавают. Смотрите /usage у себя, не скрин из чужого поста.

Часть 3. Куда уходят токены

1. Системный промпт Claude Code

На каждое сообщение уже 14–24 тыс. токенов: как пользоваться тулзами, как себя вести. С этим почти ничего не сделать — плата за вход. Из окна 200 тыс. это порядка 10–12%.

Критичность: средняя. Починить нельзя.

2. Раздутый CLAUDE.md

Файл грузится на каждом сообщении. 10 тыс. токенов «контекста» × 30 сообщений = вы заплатили 30 раз.

Правило: меньше 200 строк / меньше ~2000 токенов. Каждую строку спрашивайте: «если уберу — Claude начнёт ошибаться?» Если нет — режьте.

Критичность: высокая. Починка: ~10 минут.

3. История чата

К 30-му сообщению в контексте вся переписка. Решение: не делать все задачи в одной сессии. Закрыли задачу — /clear или новая сессия.

Anthropic: /clear между несвязанными задачами — самый эффективный рычаг и для качества, и для цены.

Критичность: очень высокая. Нужна привычка.

4. Read читает файл целиком

Попросили «посмотри Button» — в контекст уходят все 800 строк Button.tsx и остаются до конца сессии. Нумерация строк в Read добавляет ещё порядка 70% токенов сверху. Картина вроде 31k → 52k после одного Read.

Пишите точечно: «открой src/auth/login.ts, строки 40–80», не «посмотри логин».

Критичность: высокая. Нужно переучить промпты.

5. Куча MCP

Каждый подключённый MCP кладёт описания инструментов в системный промпт каждого сообщения.

Ориентиры: поиск ~14 тыс., Playwright ~13,6 тыс., sqlite-tools ~13,4 тыс. Три MCP сразу — десятки тысяч сверху. На 10 сообщений это сотни тысяч токенов, если серверы в запросе не используются.

Правило: включены только те MCP, которые нужны прямо сейчас. Остальное — /mcp, выключить.

Критичность: очень высокая. Гигиена раз в сессию.

6. Subagents

Claude Code может клонировать себя на подзадачи. Multi-agent, по документации Anthropic, часто жрёт в 4–7 раз больше токенов, Agent Teams — до ~15 раз. Кейс: рефакторинг, пять параллельных агентов — лимит Pro за 15 минут. Публичный край: компания сожгла десятки тысяч долларов, пока подагенты «оптимизировали» в фоне.

Включайте осознанно: не для «переименуй переменную», а для реально параллельного объёма.

Критичность: очень высокая, если попадёте.

7. Десять циклов «почини баг» в одном чате

Правит → не работает → снова → снова. Каждая попытка тащит старый код, старую ошибку и весь контекст. Десять циклов одного бага — легко около миллиона токенов, баг может остаться.

Если два раза не вышло — /clear, новая сессия, промпт с нуля с фактами (файл, строки, ожидаемое поведение).

Критичность: высокая. Навык: вовремя остановиться.

Нужна рука на доступе и стеке — Telegram Pattern Automation. Клуб и разборы: AI Club.

Часть 4. Девять шагов

Шаг 1. Диагностика: /context, /usage, /cost

  • /context — что занимает окно. Запомните цифры до оптимизации.
  • /usage — остаток 5-часового окна и недели.
  • /cost — сколько сожрала текущая сессия.

Сигнал 1: MCP tools > 5 тыс. Сигнал 2: CLAUDE.md > 5 тыс.

Шаг 2. /clear между задачами

Закончили задачу — /clear.

Нюансы:

  • /clear стирает историю, чекпоинты часто остаются — откат через /rewind.
  • Перед очисткой попросите записать состояние в PROGRESS.md / TODO.md. В новой сессии: «прочти PROGRESS.md и продолжи с Next step».
  • /btw — боковой вопрос без попадания в основную историю.

Если стёрли важное — /rewind. Если чистите слишком часто и Claude каждый раз «знакомится» с проектом — нормальный короткий CLAUDE.md.

Шаг 3. Сократите CLAUDE.md

Больше 200 строк — режьте.

Оставить: команды билда, тестов, линта; стиль, который отличается от стандарта языка; нестандартная архитектура; env; типичные подводные камни проекта.

Удалить: то, что видно из кода; стандартные конвенции языка; подробную API-документацию (для этого @-ссылки на файлы); «пиши чистый код»; описания каждого файла.

Хороший CLAUDE.md — чек-лист для нового сотрудника, не роман.

Забыл правило после сокращения — верните эту строку, не весь блок.

Шаг 4. Выключите лишние MCP

/mcp — список. Чем пользовались за неделю? Остальное выключите. Подключайте по ситуации: секунды vs десятки тысяч токенов на сообщение.

Где можно — CLI вместо MCP. Например gh вместо GitHub MCP: описание не висит в системном промпте, Claude идёт через Bash. Спросите Claude: «можно ли здесь CLI вместо MCP?»

Шаг 5. .claudeignore

В корне проекта — как .gitignore, но для контекста. Минимум:

# Зависимости
node_modules/
vendor/
.venv/

# Сборка
dist/
build/
.next/
.nuxt/
coverage/

# Логи
*.log
logs/

# Lockfile (часто >20K токенов)
package-lock.json
yarn.lock

# Секреты
.env
.env.*
*.pem

# Большие данные
*.sqlite
data/raw/

Кейс: старт сессии с 347 тыс. токенов упал до ~19,8 тыс. после ignore.

Шаг 6. Sonnet по умолчанию

Ориентир по линейке 2026 (номера версий смотрите в /model):

  • Opus — архитектура и сложный рефакторинг. Дорого, условно ×5 к Sonnet. «Сеньор, который планирует».
  • Sonnet — 90% задач, рабочая лошадка.
  • Haiku — мелочь: переименования, форматирование.

На Pro постоянный Opus часто сжигает окно за пару часов. /model sonnet один раз. Сравнения дают примерно минус 30–40% расхода на тех же задачах.

Не меняйте модель в середине сессии — ломается кэш, следующий запрос идёт по полной цене (не со скидкой ~90% за cache hit).

Шаг 7. Plan mode на сложное

/plan — Claude читает и думает, файлы не трогает. Цикл: Explore → Plan → Implement → Commit. Сначала план, вы правите, потом код.

Дешевле, чем сразу «боевой» режим и цикл «ой, переделываю». Оценки: минус 50–70% на сложных задачах.

Когда да: больше трёх файлов, рефакторинг, незнакомый репозиторий, схема БД.

Когда нет: опечатка, один файл, диф одной фразой.

Шаг 8. Точечные запросы

Плохо: «Проверь логин, там что-то не так».

Хорошо: «Открой src/auth/login.ts, verifyUser около строки 42: при невалидном токене возвращается null. Пусть кидает Unauthorized».

Первый вариант — полпроекта в Read. Второй — нужные строки.

Используйте @: @src/components/Button.tsx, @README.md, @https://example.com/docs.

Шаг 9. Не ломайте кэш

На Pro/Max системный промпт, CLAUDE.md и история кэшируются. Cache hit дешевле чтения примерно в 10 раз. В длинной сессии 95–96% токенов — hits: из 400 тыс. «по сути» платите за 20–40 тыс. Без этого подписка экономически не сходится.

Что ломает кэш:

  • /model в середине сессии;
  • вкл/выкл MCP в середине;
  • правка CLAUDE.md даже на символ;
  • пауза дольше ~5 минут на Pro или ~часа на Max (кэш истекает).

Настройки — на старте. Хотите сменить модель или MCP — /clear и новая сессия.

Часть 5. Чек-лист

Держите рядом с экраном:

  1. /context в начале сессии — зафиксировать базу.
  2. /usage — не удивляться красному лимиту.
  3. /clear после каждой законченной задачи.
  4. Перед /clearPROGRESS.md, если работа продолжится.
  5. CLAUDE.md < 200 строк.
  6. MCP только нужные сейчас (/mcp).
  7. Есть .claudeignore (node_modules, dist, lockfile, .env).
  8. Модель по умолчанию — Sonnet; Opus — план и архитектура.
  9. Не /model посреди сессии.
  10. Сложное — /plan, потом код.
  11. Промпт с путём файла и строками, не «посмотри там».
  12. @файл вместо «найди сам».
  13. Баг не чинится со второго раза — новая сессия.
  14. Subagents не для мелочи.
  15. Тяжёлую работу — утром, не в пик UTC.

Главное

Pro за $20 — не «безлимит». API Opus дорогой; подписка живёт за счёт prompt caching (~90% скидки на повтор). Всё, что ломает кэш или раздувает контекст, бьёт по вашему окну.

Сдвиг в голове: не «сколько сообщений», а насколько чистый контекст. Один грязный промпт с авточтением 50 файлов ≈ 30 точечных. Дисциплина /clear + /context + точные пути даёт 40–70% экономии; в крайних случаях одно отключение MCP освобождает десятки процентов окна.

Где ещё это работает

Те же принципы везде, где есть LLM, контекст и платный токен:

  • обычный Claude в браузере — новая тема = новый чат;
  • Cursor, Windsurf и аналоги — свой биллинг, та же логика контекста и кэша;
  • свой агент по API — платите за каждый токен напрямую;
  • ChatGPT — точные промпты и разные чаты под разные задачи.

Привычки одни, оболочки разные.

Дальше: AI Club, Claude для новичков, Codex с нуля, Telegram.

Написать в Telegram →

More from Blog