Как инженеры Anthropic действительно экономят токены
Автор оригинала: Nate Herk
Компиляция: Peggy, BlockBeats
Редакторская заметка: Многие, используя Claude Code, ощущают, что токены расходуются слишком быстро, и длинные сессии быстро исчерпывают лимит. Однако с точки зрения инженеров Anthropic, настоящим фактором, влияющим на стоимость, является не количество написанного вами кода, а использует ли система повторно уже обработанный контекст.
Основная идея этой статьи — как сэкономить Token с помощью механизма кэширования. Автор за неделю повторно использовал более 300 миллионов Token, а ежедневный объем кэшированных Token достиг 91 миллиона. Поскольку стоимость кэшированных Token составляет всего 10% от стоимости обычных входных Token, это означает, что 91 миллион кэшированных Token фактически учитываются как около 9 миллионов обычных Token. Claude Code кажется более «долговечным» не потому, что модель работает бесплатно, а потому, что большое количество повторяющегося контекста успешно переиспользуется.
Ключ к кэшированию запросов — «не прерывать кэш». Claude Code кэширует системные подсказки, определения инструментов, CLAUDE.md, правила проекта и историю диалога по уровням; если префикс последующих запросов остается неизменным, Claude может напрямую считывать кэш, а не обрабатывать весь контекст заново. Anthropic также отслеживает коэффициент повторного использования кэша запросов, поскольку это влияет не только на лимиты пользователей, но и напрямую связано со стоимостью обслуживания модели и ее производительностью.
Для обычных пользователей не обязательно понимать все нижележащие детали — достаточно освоить несколько ключевых привычек: не оставляйте сессию бездействующей более чем на 1 час; выполняйте передачу сессии при переключении задач; избегайте частого переключения моделей; крупные документы лучше помещать в Projects, а не многократно вставлять в диалог.
Эта статья скорее предлагает подход к использованию Claude Code, близкий к инженерному мышлению: рассматривать контекст как управление активами, постоянно повторно использовать кэш и минимизировать повторные вычисления в длинных сессиях.
Следует перевести следующий текст:
На этой неделе я сэкономил 300 миллионов токенов, за один день — 91 миллион, за неделю — более 300 миллионов.

Я не менял никаких настроек. Это просто кэширование запроса работает в фоновом режиме.
Но когда я действительно понял, что такое кэш и как избежать его «разрыва», мои сессии при том же лимите использования стали длиться дольше. Поэтому здесь представлено 80/20 руководство по кэшированию запросов Claude Code без углубления в детали на уровне API.
Кратко
Стоимость кэширования токенов составляет всего 10% от стоимости обычных входящих токенов. 91 миллион кэшированных токенов фактически учитываются как примерно 9 миллионов токенов.
Время жизни кэша для подписки Claude Code — 1 час; по умолчанию для API — 5 минут; для суб-агентов всегда — 5 минут.
Кэш разделен на три уровня: системный, проектный и диалоговый.
Переключение модели в ходе сессии нарушает кэш, включая режим «opus plan».
Как именно рассчитываются платежи за кэширование?
Стоимость каждого кэшированного токена составляет 10% от стоимости обычного входного токена.

Таким образом, когда на моей панели управления показывается, что в один день кэш был использован для 91 миллиона токенов, фактическая оплата составляет примерно эквивалент обработки 9 миллионов токенов. Именно поэтому при длительном использовании Claude Code по сравнению с отсутствием кэша сессии кажутся практически «бесплатно» продленными.
На панели есть два числа, на которые стоит обратить внимание:
Создание кэша: одноразовая стоимость, возникающая при записи содержимого в кэш. Она начнет действовать в следующем диалоге.
Кэш-чтение: Токены, повторно использованные Claude из кэша, например, ваши CLAUDE.md, определения инструментов, предыдущие сообщения и т. д. Стоимость на 10 раз ниже, чем при обработке в качестве входных данных.

Если ваш показатель Cache read высок, это означает, что вы эффективно используете кэш; если этот показатель низок, значит, вы регулярно платите за одни и те же контексты.
У Тарика из Anthropic есть одна фраза, которая мне очень запомнилась: «Мы фактически отслеживаем коэффициент попаданий в кэш запросов, и как только он падает слишком низко, срабатывает оповещение, а иногда даже объявляется инцидент уровня SEV.»
Он также написал отличную X статью. Когда коэффициент попаданий в кэш высок, одновременно происходят четыре вещи: Claude Code ощущается быстрее, стоимость услуг Anthropic снижается, ваш лимит подписки становится более долговечным, а длительные сессии кодирования становятся более реалистичными.
Но если точность низкая, всем будет нехорошо.

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

Согласно документации Claude Code, новая сессия обычно работает следующим образом:
Первый диалог: кэш отсутствует. Системные подсказки, контекст вашего проекта (например, CLAUDE.md, memory, правила) и ваше первое сообщение будут повторно обработаны и записаны в кэш.
Второй диалог: все содержимое первого диалога теперь кэшировано. Claude нужно обрабатывать только ваш новый ответ и следующее сообщение. Стоимость этого раунда будет намного ниже.
Третий диалог: логика та же. Предыдущие диалоги остаются в кэше, требуется обработать только последнюю сессию.
Кэш сам по себе можно разделить на три уровня:

От Thariq в X:
Системный уровень (System layer): включает базовые команды, определения инструментов (read, write, bash, grep, glob) и стиль вывода. Этот уровень кэшируется глобально.
Уровень проекта (Project layer): включает CLAUDE.md, memory, правила проекта. Этот уровень кэшируется по проекту.
Уровень диалога (Conversation): включает ответы и сообщения, которые увеличиваются с каждым циклом диалога.
Если в ходе сессии изменяется что-либо на системном или проектном уровне, всё содержимое должно быть заново закэшировано с начала. Это самая «дорогая» операция. Представьте: вы уже дошли до 16-го сообщения, и вдруг изменяется системный промпт или сессия приостанавливается на час — тогда все токены с первого сообщения должны быть обработаны заново.
Смешение 1 часа и 5 минут
Это самое распространенное место для недопонимания.
Подписка на Claude Code: стандартное время жизни (TTL) — 1 час.
Claude API: стандартное время жизни (TTL) — 5 минут. Вы можете заплатить больше, чтобы увеличить его до 1 часа.
Sub-agent по любому плану: всегда 5 минут.
Веб-чат Claude.ai: официально не зафиксировано. Возможно, так же, как и в подписной версии, но я еще не подтвердил.
Несколько месяцев назад многие жаловались, что лимиты подписки Claude истощаются слишком быстро. Тогда некоторые полагали, что Anthropic тайно снизила TTL с 1 часа до 5 минут, не уведомив пользователей. Но на самом деле это не так — TTL Claude Code по-прежнему составляет 1 час.
Проблема в том, что документация по Claude Code и API разделена, а это совершенно разные вещи, что вызывает много путаницы.
Если вы активно используете рабочие процессы Sub-agent или напрямую API, то цифра в 5 минут имеет значение. Но для 95% пользователей Claude Code действительно важно только окно в 1 час.
Три привычки, охватывающие 95% пользователей
Ниже перечислены те части, которые, по моему мнению, действительно полезны в повседневном использовании.
Не останавливайтесь надолго
Если вы были неактивны более часа, предыдущий контент, скорее всего, уже истек в кэше. Ваше следующее сообщение восстановит кэш. В такой ситуации вместо попыток возобновить уже «остывшую» старую сессию проще и дешевле сделать четкий переход и начать новую сессию.
При переключении задачи начните заново
/compact или /clear и так нарушают кэш, поэтому лучше воспользоваться этим моментом для настоящего сброса.
Я создал навык передачи сессии, чтобы заменить /compact. Он суммирует, что мы уже сделали, какие решения еще не приняты, какие файлы наиболее важны и с чего следует продолжить. Затем я выполняю /clear, вставляю эту сводку и могу продолжить работу, как будто ничего не прерывалось.
Команда compact иногда также работает медленно. А этот навык handoff обычно завершается менее чем за минуту.
В чате Claude крупные документы лучше помещать в Projects
На Claude.ai нет подробного официального описания механизма кэширования, но Projects, очевидно, используют другую оптимизацию по сравнению с обычными диалоговыми потоками. Поэтому, если вам нужно вставить большой документ, лучше поместить его в Project, а не вставлять прямо в диалог.
Какие действия могут незаметно повредить кэш?
Несколько действий могут сбросить кэш без явного уведомления.
Смена модели: поскольку кэш зависит от совпадения префикса, а у каждой модели свой кэш, при смене модели следующий запрос будет выполнять чтение полной истории без попаданий в кэш.
Режим «Opus plan»: этот параметр использует Opus на этапе планирования и Sonnet на этапе выполнения. Я ранее рекомендовал его в некоторых видео по оптимизации токенов, и у меня были на то причины. Однако важно понимать, что каждое переключение плана по сути является переключением модели, что означает необходимость повторного создания кеша. В долгосрочной перспективе это все еще помогает продлить лимит сессии, но вам нужно понимать, что происходит на низком уровне.
Редактирование CLAUDE.md в процессе сессии возможно: это изменение не вступит в силу немедленно, а применится только при следующем перезапуске. Текущий кэш, работающий в данный момент, не затронут.
Моя бесплатная панель токенов
Скриншот, который я показывал ранее, взят из дашборда токена.

https://github.com/nateherkai/token-dashboard
Это очень простой репозиторий GitHub. Вы передаете ссылку Claude Code, и он развертывает его локально на localhost, после чего он считывает все ваши предыдущие записи сессий, а не начинает с нуля. Вы сразу же увидите данные по ежедневным input, output, cache create и cache read.
Однако стоит учесть один момент: эта панель отображает данные токенов с вашего локального устройства. Если вы переключитесь с настольного компьютера на ноутбук, цифры могут отличаться. Каждое устройство имеет свою собственную статистику.
Сводка
Prompt caching — это то, что можно изучить очень глубоко. Статья Thariq описывает это более полно; если вы хотите увидеть полную картину, стоит её прочитать.
Но вам не нужно полностью понимать все детали, чтобы извлечь выгоду. Вам достаточно знать ключевые 80/20: кэшированные токены дешевле обычных в 10 раз; TTL Claude Code — 1 час; переключение моделей разрушает кэш; четкое оформление перехода между задачами, как правило, выгоднее, чем продолжать использование старого сеанса после его «истечения».
Нажмите, чтобы узнать о вакансиях BlockBeats
Добро пожаловать в официальное сообщество律动 BlockBeats:
Телеграм-канал с подпиской: https://t.me/theblockbeats
Телеграм-чат: https://t.me/BlockBeats_App
Официальный аккаунт Twitter: https://twitter.com/BlockBeatsAsia
