Только что (15-го числа) Anthropic опубликовала пост в блоге.
Суть сообщения: Коллеги, хватит сжигать токены понапрасну, мы не можем на это смотреть!

Для этого компания подробно изложила шесть правил экономии:
1. После выполнения задачи — /clear. Починили один баг — очистите текущий диалог. Не тащите прочитанные файлы и вывод команд из предыдущей задачи в следующую, чтобы они зря не занимали контекст.
2. Сразу задавайте модель и уровень усилия (effort level). Если сменить их в процессе диалога, ранее накопленный кэш промптов полностью аннулируется, и вся история диалога будет пересчитана по полной стоимости.
3. Используйте @ для ссылки на файлы, не вводите пути вручную. Прикрепляйте файлы к сообщению с помощью @, чтобы Claude не тратил дополнительный вызов инструмента на чтение. Если вы просто напишете имя файла, Claude может сначала провести поиск и открыть несколько файлов для проверки — все эти действия попадут в историю диалога и будут учитываться в каждом последующем раунде.
4. Добавляйте параметр тишины (quiet flag) к командам с большим выводом. В CLAUDE.md укажите что-то вроде --reporter=dot, чтобы вывод тестов показывал лишь несколько строк резюме, а не сотни строк деталей. Чем короче вывод, тем меньше он занимает контекста.
5. Делайте /compact перед перерывом. Сжатие диалога, пока он еще в кэше, обойдется в десять раз дешевле. Если сделать это после возвращения, когда кэш уже истек, придется перечитать весь диалог по полной цене и только потом сжимать.
6. Задачи с большим выводом передавайте суб-агенту (subagent). Суб-агент работает в отдельном окне контекста и возвращает только итоговый результат. Файлы, которые он читает, и вывод команд в процессе не попадают в ваш основной диалог.

Жизненный путь токена
Работа в Claude Code оплачивается по объему потребления (API) или по подписке с тремя тарифами от 20 до 200 долларов в месяц.
По подсчетам компании, разработчики в среднем тратят 13 долларов в день на токены, а месячный расход составляет от 150 до 250 долларов.
И это лишь средний показатель. На исправление одного и того же бага при разных подходах к вопросам можно потратить в несколько раз больше.
Кроме того, в каждом раунде диалога повторно отправляется всё содержимое всех предыдущих раундов. Чем длиннее сессия, тем дороже каждый следующий раунд.
Чтобы понять, куда уходят деньги, нужно разобраться в логике тарификации токенов.

Каждый раз, когда вы вводите инструкцию в Claude Code, происходит два процесса.
Первый — предварительное заполнение (prefill), когда модель считывает весь ваш запрос целиком: системный промпт, CLAUDE.md, ваше сообщение и всю накопленную историю диалога. Это входящие токены.
Второй — декодирование (decode), когда модель выдает ответ по одному токену, включая её «размышления», вызовы инструментов и текст, который вы видите. Это исходящие токены.
Ключевая разница здесь.
Предварительное заполнение выполняется параллельно, все входящие токены обрабатываются GPU за один раз. Декодирование — последовательно, каждый новый токен требует отдельного прогона модели. Ответ в 200 токенов — это 200 независимых вычислений.
Поэтому неудивительно, что исходящие токены стоят в 5 раз дороже входящих.

На основе этого итоговый счет определяется двумя факторами.
Первый — модель, которая определяет цену одного токена.
Opus 5: 5$ / млн токенов (ввод), 25$ (вывод).
Sonnet 5: 2$ (ввод), 10$ (вывод).
Haiku 4.5: 1$ (ввод), 5$ (вывод).
Второй — уровень усилия (effort level), который определяет количество токенов.
Большинство исходящих токенов в сессии — это токены «размышлений», и уровень усилия как раз контролирует их объем. Чем выше уровень, тем дольше «думает» модель и тем больше токенов «размышлений» она выдает. Разница между max и low может достигать нескольких раз.
Для простых задач используйте Sonnet, для сложных — Opus. Деньги, потраченные на применение «тяжелой артиллерии» для пустяков, уходят впустую.

Кэш промптов — главный инструмент экономии
В тарификации токенов есть еще одна огромная переменная — кэширование.
Каждый запрос в Claude Code начинается с одного и того же префикса: системный промпт, определения инструментов, CLAUDE.md и история диалога.
Если префикс этого запроса побайтно совпадает с предыдущим, сервер не пересчитывает его заново, а загружает предыдущий результат вычислений.
Чтение из кэша стоит всего 0.1 от обычной цены ввода, экономия сразу 90%.
Запись в кэш дороже, максимум в 2 раза. Но запись происходит лишь один раз, а каждый последующий раунд использует чтение по цене 0.1.
Приведем пример.
Предположим, в вашей истории диалога 50 тысяч токенов. Без кэша каждый раунд перечитывания этих 50 тыс. токенов стоит полную цену. Но при попадании в кэш те же 50 тыс. токенов обойдутся в десять раз дешевле.
Если сессия включает 20-30 раундов, сэкономленная сумма благодаря кэшированию будет огромной.
Это ваш главный рычаг для экономии.

Но у кэша есть фатальный недостаток. Он должен совпадать с самого первого байта запроса подряд. Любое изменение в середине аннулирует всё после него.
Конкретно, есть шесть ситуаций:
1. Смена модели через /model: У каждой модели свой кэш. Переключение с Sonnet на Opus приводит к полному предварительному заполнению всей истории диалога по цене Opus, без скидок.
2. Смена уровня усилия через /effort: Уровень усилия — тоже часть ключа кэша. После смены вся история диалога пересчитывается.
3. Включение/выключение Fast mode: Эффект как в первых двух случаях — кэш аннулируется.
4. Сжатие диалога через /compact: Диалог переписывается в резюме, исходное содержимое больше не совпадает, старый кэш становится недействительным.
5. Истечение времени: Кэш пользователей подписки живет 1 час, у API-пользователей по умолчанию — 5 минут. После истечения следующая сессия полностью пересчитывается.
6. Восстановление старой сессии: Если прошло слишком много времени, кэш давно исчез, и почти наверняка произойдет пересчет по полной цене.
Плохая новость: любое из этих действий вернет стоимость всей истории диалога с 0.1 к полной цене.
Хорошая новость: зная, что аннулирует кэш, вы знаете, как его сохранить.
Например, фиксируйте модель и уровень усилия в начале сессии и не меняйте их. Не делайте /compact, пока кэш «горячий», делайте это перед перерывом.
Тут есть еще один скрытый подводный камень.
Режим opusplan каждый раз переключает модель при входе и выходе из плана. Вход — аннулирует кэш. Выход — снова аннулирует. Каждое переключение — это полная стоимость prefill.
Ваша сессия тайно толстеет
Кэш помогает сократить стоимость повторной отправки истории до одной десятой.
Но есть одна вещь, с которой он не справляется. Сама история постепенно раздувается с каждым раундом.
Каждый раз, когда Claude читает файл, его содержимое добавляется в диалог. Каждый раз, когда Claude запускает команду, её вывод тоже добавляется. И с того раунда, где это произошло, все последующие раунды будут нести эту информацию с собой.
40-й раунд диалога повторно отправляет всё содержимое, накопленное с 1-го по 39-й раунды.
Такой рост близок к квадратичному — O(n2).

В Claude Code есть предохранительный механизм.
Если вывод команды превышает 30000 символов, он не загружается в диалог, а записывается во временный файл, в диалоге остается лишь краткое резюме. Но вывод меньше 30000 символов ничто не контролирует.
Например, тестовый фреймворк завершил работу и вывел 400 строк с результатами, по несколько десятков символов в каждой — общий объем меньше порога в 30k.
И эти 400 строк остаются в истории диалога как есть, и каждый следующий раунд будет переотправлять их заново.
В блоге Anthropic даются несколько практических советов по «похудению».
1. Используйте @ для ссылки на файлы.
Не вводите пути вручную, заставляя Claude искать самостоятельно. Ссылка через @ прикрепляет файл прямо к сообщению, экономя операцию чтения.
Если вы просто укажете имя файла, Claude может сначала выполнить grep, открыть несколько файлов для проверки. И все эти попытки попадут в историю диалога, увеличивая стоимость.

2. Добавляйте quiet flag к «шумным» командам.
В CLAUDE.md пропишите что-то вроде «run tests with npx vitest run --reporter=dot». Тогда запуск тестов будет выводить лишь несколько точек-результатов, а не сотни строк деталей. Минута на настройку сэкономит сотни строк контекста в каждой будущей сессии.
3. Изолируйте задачи с большим выводом в суб-агенте.
Суб-агент работает в своем собственном окне контекста и возвращает только ответ. Файлы, которые он читал, и вывод команд в процессе отбрасываются. Подходит для задач вроде «проверь логи на наличие ошибок» или «просмотри этот большой файл». Вам важен вывод, а не процесс.

И самое важное правило.
4. /clear при смене задачи.
Починили один баг — /clear, начинайте следующее дело. Файлы, вывод команд, промежуточные изыскания от предыдущего бага не имеют отношения к следующей задаче, но если их не очистить, они будут занимать место и потреблять токены в каждом последующем раунде.
Если не хотите полностью очищать, используйте /compact, чтобы сжать диалог в резюме. 10-20 тысяч токенов можно сжать до 1-3 тысяч.

Кроме того, в блоге упоминается менее известная, но бесплатная операция — /rewind.
Если последние несколько раундов пошли не туда, /rewind просто отсекает их, оставляя предыдущий кэш полностью нетронутым.
Управление токенами — это тоже навык разработчика
Разобрав все эти приемы, можно заметить закономерность. У тех, кто пишет код, появляется новый набор навыков.
Он не связан с фреймворками или языками, а касается того, какую модель выбрать, как управлять контекстом, как сохранить кэш, какой уровень усилия подходит.
Эти способности год назад не существовали. Но сейчас именно они определяют, потратите ли вы на одну и ту же задачу 3 доллара или 30.
Сам Anthropic — лучший пример.
Они пишут 80% кода с помощью ИИ, объем слияний кода за год вырос в 8 раз, скорость прохождения тестов увеличилась в 52 раза. При такой интенсивности использования ИИ, если не контролировать токены, одни только затраты на вычисления могут съесть весь бюджет.
С этой точки зрения, этот пост в блоге — не просто советы по экономии, а скорее новый инстинкт, который должен развиться у тех, кто пишет код в эпоху ИИ:
понимать, что потребляет каждое ваше действие, и знать, как за те же деньги сделать больше работы.
Те, кто это поймет, сэкономят не просто несколько долларов на токенах.
Ссылки:
https://claude.com/blog/maximizing-the-value-of-your-claude-code-sessions
Статья из WeChat официального аккаунта «新智元» (New Wisdom), автор: Моисей






