Как сократить расходы токенов в Claude Code: практическое руководство Anthropic по эффективным сессиям
Anthropic опубликовал практическое руководство для разработчиков, которые хотят получить больше пользы от каждой сессии Claude Code. Основная мысль проста: одна и та же задача по кодированию может стоить ве

Как сократить расходы на токены Claude Code: практическое руководство Anthropic по эффективным сессиям
Введение
Anthropic опубликовала практическое руководство для разработчиков, которые хотят получить больше пользы от каждой сессии Claude Code.
Основная мысль проста: одна и та же задача по написанию кода может стоить совершенно по-разному в зависимости от того, как вы управляете сессией.
Claude Code — это не традиционный редактор с фиксированной стоимостью за задачу. Каждый запрос к модели имеет стоимость инференса, а длинные разговоры многократно переносят вперёд файлы, результаты работы инструментов, вывод команд, системные инструкции и более ранние сообщения. Если этим контекстом управлять плохо, простое исправление ошибки может потребить гораздо больше токенов, чем необходимо.

В исходной статье советы были сведены к шести практическим привычкам:
- Выполняйте
/clear, когда одна задача завершена и вы переходите к другой. - Выбирайте модель и уровень рассуждений в начале сессии, а не переключайтесь многократно в процессе.
- Используйте
@для прямого указания файлов, а не заставляйте Claude искать их. - Добавляйте тихие флаги к командам, которые в противном случае выдают большие объёмы данных.
- Запускайте
/compactперед длительным перерывом, пока существующий кэш подсказок ещё тёплый. - Отправляйте большие объёмные исследовательские задачи субагенту, чтобы его промежуточный контекст не накапливался в основном разговоре.
Собственная рекомендация Anthropic в формате TL;DR также советует запускать /context в новой сессии, чтобы увидеть, что уже загружено, включая CLAUDE.md и определения инструментов MCP.
Эти рекомендации становятся понятнее, если разобраться, что происходит с токеном внутри сессии Claude Code.
Жизненный цикл токена
Claude Code можно использовать через платные планы Claude или через тарифицируемое использование API. Для индивидуальных пользователей Claude Pro в настоящее время стоит 20 долларов в месяц при ежемесячной оплате, а Claude Max начинается от 100 долларов в месяц и также предлагает тариф с более высоким уровнем использования. API оплачивается отдельно в зависимости от модели и объёма токенов.
В документации Anthropic по стоимости Claude Code говорится, что при корпоративном развёртывании среднее использование составляет около 13 долларов на разработчика за активный день и примерно 150–250 долларов на разработчика в месяц, хотя фактические затраты существенно варьируются в зависимости от модели, кодовой базы, рабочего процесса и уровня автоматизации.
Одна и та же задача может стоить в несколько раз дороже, если Claude приходится искать по ненужным файлам, выполнять многословные команды или многократно переносить нерелевантный контекст вперёд.

Чтобы понять почему, полезно разделить
каждый запрос на две фазы.
Prefill: чтение входных данных
Во время prefill модель читает запрос и его контекст за один проход.
Эти входные данные могут включать:
- Определения инструментов
- Системный промпт
CLAUDE.md- Ваше текущее сообщение
- Более раннюю историю разговора
- Файлы, которые прочитал Claude
- Вывод команд и инструментов, уже добавленный в сессию
Все это считается входными токенами.
Decode: генерация выходных данных
Во время decode модель генерирует свой ответ токен за токеном.
Это включает токены рассуждений, вызовы инструментов и текст, который вы в итоге видите. В отличие от prefill, decode является последовательным: ответ на 200 токенов требует, чтобы модель сгенерировала 200 токенов один за другим.

Именно поэтому выходные токены обычно значительно дороже входных. Для текущих моделей Claude, рассматриваемых здесь, цена на выходные токены в пять раз выше базовой цены на входные.
Текущие стандартные цены API:
| Модель | Вход | Выход |
|---|---|---|
| Claude Opus 5 | $5 / MTok | $25 / MTok |
| Claude Sonnet 5 | $2 / MTok | $10 / MTok |
| Claude Haiku 4.5 | $1 / MTok | $5 / MTok |
MTok означает один миллион токенов.
Другой ключевой переменной является уровень усилий. Значительная часть выходных данных, генерируемых в агентной сессии кодирования, может приходиться на рассуждения. Более высокий уровень усилий позволяет модели тратить больше токенов на обдумывание сложной проблемы, тогда как более низкий уровень может быть более подходящим для рутинной работы.

Практическое правило простое: используйте более сильную модель и более высокий уровень усилий, когда задача действительно сложная или неоднозначная, а не автоматически для каждой мелкой задачи.
Кэширование промптов — главный рычаг стоимости
Кэширование промптов — одна из важнейших частей модели затрат Claude Code.
Каждый запрос к Claude Code начинается с большого объема повторяющегося материала: определений инструментов, системного промпта, CLAUDE.md и накопленной к этому моменту истории разговора.
Если начало нового запроса точно совпадает с недавним запросом, сервер может повторно использовать ранее вычисленное состояние вместо повторной обработки всего общего префикса.
Чтение из кэша стоит всего 0.1× от обычной цены входного токена.
Запись в кэш дороже обычного ввода, потому что сервер должен хранить вычисленное состояние. Стандартная запись в кэш на пять минут стоит 1.25× от базовой цены входа, тогда как запись на один час стоит 2×. Важно то, что запись происходит один раз, а последующие попадания в кэш могут многократно использовать префикс за одну десятую обычной стоимости входа.
Представьте, что в разговоре уже содержится 50 000 токенов истории. Без попадания в кэш модель должна была бы выполнить prefill всей этой истории по обычной ставке входа при следующем запросе. С действующим кэшем общий префикс читается по ставке 0.1× от базовой, и только недавно
прикреплённый материал должен обрабатываться по полной входной цене.
В длинном цикле работы агента эта разница может стать существенной.
Что ломает кэш?
Кэш должен непрерывно совпадать с самого начала запроса. Если что-то меняется в начале этого префикса — или меняется часть ключа кэша — оставшаяся история больше не может быть переиспользована тем же способом.
Исходная статья выделяет шесть распространённых случаев.
- Смена модели с помощью
/model - У каждой модели отдельный кэш. Переключение с одной модели на другую означает, что следующий ход должен заново выполнить предзаполнение существующего разговора для новой модели.
- Изменение уровня рассуждений с помощью
/effort - Уровень усилий является частью ключа кэша. Его изменение в середине сессии может привести к повторной обработке разговора.
- Включение быстрого режима
- Быстрый режим также меняет ключ кэша. Anthropic рекомендует включать его в начале, если вы планируете его использовать. Повторное отключение быстрого режима не влечёт за собой такого же штрафа к кэшу.
- Запуск
/compact - Сжатие переписывает разговор в более короткую сводку. Старый разговор больше не совпадает, поэтому предыдущий кэш разговора не может просто продолжиться.
- Истечение срока действия кэша
- В подписках Claude Code Anthropic сообщает, что кэш подсказок истекает после одного часа бездействия. При использовании API-ключа время жизни по умолчанию составляет пять минут, если кэш на один час явно не включён.
- Возобновление старой сессии
- В старой сессии обычно уже нет активного кэша, а системный промпт пересобирается при запуске Claude Code. Поэтому следующий запрос часто требует нового предзаполнения.
Это не означает, что вам никогда не следует менять модели, уровень усилий или сжимать разговор. Это означает, что есть более дешёвые моменты для этого: в начале сессии или сразу после /clear, а не в середине длинного и дорогого контекста.
Есть также менее очевидный случай в режиме opusplan. Anthropic отмечает, что вход в режим планирования или выход из него может переключать модели, поэтому каждый переход может аннулировать соответствующий кэш модели.
Почему /compact дешевле перед перерывом
/compact обобщает текущий разговор в гораздо более короткую версию.
Поскольку создание этой сводки требует чтения существующего контекста, дешевле выполнить сжатие, пока разговор всё ещё доступен через кэш подсказок. Если вы подождёте до окончания длительного перерыва и кэш истечёт, Claude может понадобиться прочитать весь разговор по обычной входной цене, прежде чем он сможет его обобщить.
Именно поэтому Anthropic рекомендует выполнять сжатие до того, как вы отойдёте от клавиатуры на длительное время.
Ваша сессия незаметно растёт
Кэширование подсказок делает повторный контекст дешевле, но оно не останавливает рост самого контекста.
Каждый раз, когда Claude читает файл, содержимое файла добавляется в разговор. Каждый раз, когда он выполняет команду, вывод также может быть добавлен. С этого момента последующие ходы продолжают нести этот материал.
Ход 40 — это не просто последний запрос. Он также несёт в себе многое из того, что произошло в ходах с 1 по 39.
Вот почему длинные сессии могут накапливать затраты гораздо быстрее, чем ожидают разработчики. Даже когда старая история
кэширование, многократная передача нерелевантного контекста не бесплатна, а также занимает место в окне контекста.
У Claude Code действительно есть защитный механизм для очень больших выводов Bash. В текущей документации Anthropic говорится, что когда выходные данные команды превышают 30 000 символов, Claude Code записывает вывод в файл и оставляет в разговоре лишь краткий предпросмотр и путь к файлу.
Сложный случай — это вывод, который излишне подробный, но всё ещё ниже этого порога.
Тестовый набор, печатающий сотни строк успешных тестов, может оставаться в пределах 30 000 символов. Если так, эти строки могут оставаться в разговоре и продолжать отправляться на последующих шагах.
Поэтому Anthropic рекомендует активно поддерживать рабочее окружение в компактном виде.
1. Обращайтесь к файлам с помощью @
Если вы знаете, какой файл нужен Claude, обращайтесь к нему напрямую.
Вместо того чтобы просить Claude найти файл по имени, используйте упоминание с @, чтобы файл был прикреплён к сообщению с самого начала.

Сравните эти запросы концептуально:
Тесты падают.
Возможно, Claude придётся искать по репозиторию, просматривать несколько файлов и собирать несколько результатов инструментов, прежде чем он доберётся до сути проблемы.
Более конкретный запрос исключает часть этого исследования:
Исправь падающий тест в utils.test.ts.
А ссылка с @ позволяет избежать отдельного вызова Read:
Исправь падающий тест в @utils.test.ts.
Файл в любом случае занимает контекст. Экономия достигается за счёт исключения ненужных шагов поиска и чтения.
Также избегайте многократного прикрепления одного и того же файла в рамках одного разговора. Когда файл уже попал в контекст, повторное упоминание может добавить ещё одну копию.
2. Добавляйте тихие флаги к шумным командам
Повторяющийся вывод команд может незаметно доминировать в сессии.
Для команд, которые вы запускаете постоянно, добавьте краткую версию в CLAUDE.md, чтобы Claude знал о более тихом вызове с самого начала.
Например:
запустить один тестовый файл с помощью npx vitest run <file> --reporter=dot
Dot-репортёр может вернуть лишь компактный результат вместо сотен строк подробного вывода.
Это небольшое изменение конфигурации, но за множество шагов оно может сэкономить большой объём повторяющегося контекста.
3. Изолируйте работу с большим объёмом вывода в субагенте
Субагент получает собственное окно контекста.
У него есть свой системный промпт, инструменты и CLAUDE.md, но он не наследует полный основной разговор. Он может просматривать логи, запускать команды, искать в истории или читать большой файл, а затем возвращать в родительскую сессию только ответ.

Это полезно для таких задач, как:
«Просмотри этот лог сборки и скажи, что не так».
«Найди в этом большом файле соответствующий раздел и сообщи о нём».
“Запустите полный набор тестов и верните важные сбои.”
“Просмотрите историю Git и обобщите изменение, которое привело к такому поведению.”
Промежуточные файлы, чтение и вывод команд исчезают, когда субагент завершает работу. Только его возвращённый ответ попадает в основную сессию.
Здесь есть компромисс: поскольку субагент не наследует родительский разговор, ему может потребоваться перечитать материал, который основная сессия уже знает. Для небольших задач такие накладные расходы могут сделать субагента менее эффективным. Это оправдано, когда изолированная задача достаточно шумная, чтобы вы не хотели, чтобы её процесс оставался в основном контексте.
4. Используйте /clear, когда задача меняется
Это одна из самых простых и ценных привычек.
Как только вы завершили исправление ошибки и приступаете к другой задаче, выполните:
/clear
Чтение файлов, вывод команд, неудачные подходы и временный контекст предыдущей задачи больше не должны сопровождать каждый последующий шаг.
Собственное сравнение Anthropic показывает, что ведение трёх отдельных задач в одной непрерывной сессии может отправлять значительно больше токенов, чем очистка между задачами.

Если вам нужно сохранить старую сессию для дальнейшего использования, Anthropic рекомендует использовать /rename перед /clear.
Если вы всё ещё работаете над той же задачей и вам нужно лишь сжать более старую часть разговора, /compact — более подходящий инструмент.
Используйте /rewind, когда ошибочными были только последние несколько шагов
Есть ещё одна полезная опция, которую легко упустить из виду:
/rewind
Если сессия сбилась с пути только в последние несколько шагов, перемотка может удалить эти шаги без переписывания всего более раннего разговора.
Это важно для кэширования. Anthropic утверждает, что часть до точки перемотки может оставаться в кэше, тогда как /compact переписывает разговор и, следовательно, имеет свою стоимость.
Таким образом, три команды служат разным целям:
| Команда | Лучшее применение |
|---|---|
/clear |
Вы начинаете действительно новую задачу |
/compact |
Вы продолжаете ту же задачу, но нужен более короткий контекст |
/rewind |
Только последние шаги ошибочны или больше не полезны |
Управление токенами становится навыком разработчика
Как только эти механизмы становятся ясными, вырисовывается более широкая закономерность.
Эффективное программирование с помощью ИИ теперь требует нового вида операционного суждения. Разработчикам нужно знать не только, как писать и отлаживать код, но и:
- Какая модель подходит для задачи
- Насколько оправданы затраты на рассуждение
- Что должно находиться в активном контексте
- Когда сессию следует очищать или сжимать
- Какие задачи следует передавать субагентам
- Какие команды создают ненужный вывод
- Какие изменения приведут к инвалидации кэша промптов
Год назад таких решений почти не существовало в повседневной разработке ПО. Теперь они могут определять, будут ли два разработчика платить сильно разные суммы за выполнение по сути одной и той же работы.
Сама Anthropic иллюстрирует, насколько это важно в масштабе.
Компания сообщила в 2026 году, что более 80% кода, объединённого в кодовую базу Anthropic, было написано Claude, и что типичный инженер
объединяла примерно в 8 раз больше кода в день, чем в 2024 году. В отдельном внутреннем тесте оптимизации система на базе Claude прошла путь от примерно 3-кратного ускорения в 2025 году до примерно 52-кратного к апрелю 2026 года.
При таком уровне использования ИИ эффективность инференса — это не мелкая деталь учёта.
Более глубокий урок из руководства Anthropic заключается не просто в том, чтобы «тратить меньше токенов». Он в том, чтобы понимать, куда уходят токены, и убедиться, что они тратятся на полезные рассуждения, изменения кода и работу с инструментами, а не на устаревшую историю и избежимый вывод.
Часто задаваемые вопросы
Почему Claude Code становится дороже при длительных сессиях?
Каждый новый ход переносит вперёд релевантную историю разговора, включая сообщения, файлы, вызовы инструментов и вывод команд. Кэширование промптов делает повторяющиеся префиксы гораздо дешевле, но растущий контекст по-прежнему потребляет токены и ёмкость окна контекста.
Сколько может сэкономить кэширование промптов в Claude?
Попадание в кэш промпта тарифицируется по цене 0,1× от обычной базовой цены входного токена, что даёт снижение на 90% для этой кэшированной части входных данных. Запись в кэш стоит дороже обычного ввода, но повторные чтения из кэша могут быстро компенсировать первоначальные затраты на запись.
Стоит ли мне использовать /clear или /compact в Claude Code?
Используйте /clear, когда вы переходите к другой задаче и текущий контекст вам больше не нужен. Используйте /compact, когда вы остаётесь над той же задачей, но хотите, чтобы Claude суммировал более старую историю разговора в меньший рабочий контекст.
Что делает /rewind в Claude Code?
/rewind позволяет вернуться к более раннему сообщению и удалить последующие ходы из активного контекста. Это полезно, когда только самая последняя часть разговора пошла в неверном направлении и нет необходимости сжимать или очищать всю сессию.
Увеличивает ли смена модели Claude затраты на токены?
Да, может. Каждая модель использует отдельный кэш промптов, поэтому переключение моделей в середине длинного разговора может привести к тому, что существующая история будет обработана заново по полной входной цене для новой модели.
Зачем использовать @ при обращении к файлу?
Ссылка на файл через @ прикрепляет файл напрямую к сообщению, что может избавить Claude от поиска файла или дополнительного вызова Read. Содержимое файла всё равно потребляет контекст, так что преимущество заключается в избежании ненужных шагов поиска, а не в том, что сам файл становится бесплатным.
Когда следует использовать субагента Claude Code?
Используйте субагента для работы, которая даёт много промежуточного вывода, не нужного в основном разговоре, например, для просмотра журналов или выполнения широкого поиска. Субагент работает в отдельном контексте и отправляет в основную сессию только свой итоговый ответ.
Как я могу проверить, что уже потребляет контекст?
Выполните /context в новой сессии Claude Code. Anthropic рекомендует использовать его для проверки стартового контекста, такого как CLAUDE.md и определения инструментов MCP, чтобы вы могли удалить ненужные инструкции или интеграции.
Связанные инструменты
- Claude Code: агентный инструмент кодирования Anthropic для работы с кодовыми базами из терминала, IDE, веб-интерфейса и других поддерживаемых сред.
- Claude: основной интерфейс ассистента Anthropic и точка входа в аккаунт.
пункт для планов Claude, включающих Claude Code.
- Claude Agent SDK: SDK предоставляет доступ к тому же циклу агента, инструментам и основам управления контекстом, которые используются в Claude Code.
- Vitest: среда тестирования JavaScript, используемая в примере Anthropic по сокращению шумного вывода тестов с помощью
--reporter=dot.
Связанные ссылки
- Maximizing the Value of Your Claude Code Sessions: официальное руководство Anthropic от августа 2026 года, которое служит технической основой этой статьи.
- Claude Code Cost Management: официальная документация по отслеживанию использования, контролю расходов и снижению потребления токенов.
- Claude API Pricing: актуальные цены на модели, кэш подсказок, быстрый режим и API.
- Prompt Caching Documentation: официальное объяснение TTL кэша, множителей записи, чтений кэша и особенностей реализации.
- Claude Code Session Management: руководство Anthropic по выбору между продолжением, перемоткой, сжатием и очисткой сессии.
- Choosing a Claude Model and Effort Level: рекомендации по подбору возможностей модели и уровня рассуждений под сложность задачи.
- Prompt Caching Is Everything: инженерные уроки Anthropic по сохранению эффективности кэша подсказок в агентных рабочих процессах.
- When AI Builds Itself: отчёт Anthropic о внутреннем коде, написанном ИИ, инженерных результатах и экспериментах по оптимизации под управлением моделей.
Краткое содержание
Стоимость Claude Code определяется не только ценой модели. Длина контекста, уровень усилий при рассуждении, вывод команд, продолжительность сессии, попадания в кэш, обнаружение файлов и использование субагентов — всё это может влиять на количество токенов, потребляемых задачей.
Наиболее ценные привычки просты: очищайте контекст при смене задачи, избегайте ненужных переключений модели или уровня усилий в середине сессии, сокращайте шумный вывод, указывайте известные файлы напрямую, сжимайте контекст перед длительным перерывом и изолируйте задачи с большим объёмом вывода, когда уместнее использовать субагента.
Эти практики не направлены на минимизацию использования токенов любой ценой. Их цель — гарантировать, что оплачиваемые токены действительно способствуют выполнению задачи, а не многократно переносят неактуальную историю.
Эффективное использование Claude Code всё больше становится формой контекстной инженерии: поддерживайте контекст релевантным, сохраняйте кэш, когда это помогает, и тратьте усилия на рассуждения там, где это действительно улучшает результат.