Перейти к содержанию
Claude News

Оформление

Оформление

Claude Code

Claude Code 2.1.300 считает запись кэша по сроку жизни

5 мин чтения

Если вы смотрите в OpenTelemetry, куда уходят токены Claude Code, в версии 2.1.300 запись в кэш промптов наконец разделена по сроку жизни: отдельно пятиминутный кэш, отдельно часовой. Список изменений в релизе на GitHub очень длинный, и в нём есть исправления ошибок, из-за которых пропадали файлы и записи транскрипта.

Коротко

  • В событие api_request добавили поля cache_creation_5m_tokens и cache_creation_1h_tokens, а в трейс-спаны попали атрибуты GenAI semantic conventions вроде gen_ai.provider.name, gen_ai.tool.name и error.type.
  • Раздельный счёт нужен потому, что две записи стоят по-разному: пятиминутная обходится в 1,25 базовой цены входа, часовая вдвое дороже базы, а чтение из кэша одинаково по цене.
  • В записи релиза не сказано, по какому правилу Claude Code выбирает срок кэша для запроса, поэтому новые поля показывают расход, но не объясняют, откуда он взялся.

До этого релиза блок usage в ответах API уже отдавал cache_creation_input_tokens и cache_read_input_tokens, и по ним проверяли попадания в кэш. Но запись шла одной цифрой, без разбивки по сроку. Часовой срок, по данным документации Agno, начинался как бета под заголовком extended-cache-ttl-2025-04-11.

Запись в часовой кэш стоит вдвое больше базовой цены входа

Новые поля живут в событии api_request, которое Claude Code отправляет в OpenTelemetry. cache_creation_5m_tokens считает токены, записанные в кэш со сроком жизни пять минут, cache_creation_1h_tokens считает запись на час. Раньше по одной цифре cache_creation_input_tokens нельзя было понять, какая часть записи обошлась дороже.

Цены у двух сроков разные: запись на пять минут стоит 1,25 базовой цены входа, запись на час вдвое дороже базы, чтение стоит одинаково. В документации Claude Platform для Sonnet 5.5 приводится пример: вход 2 доллара за миллион токенов, пятиминутная запись 2,5 доллара, часовая 4 доллара, попадания и обновления 0,1 доллара. Для Opus 5.5 там же указаны 4, 5 и 8 долларов.

На AWS советник молчит, пока вы не выберете его через /advisor

На Claude Platform on AWS появилась команда /advisor. Советник не запускается, пока вы сами не выберете его через /advisor, настройку advisorModel или флаг --advisor, а переменная CLAUDE_CODE_DISABLE_ADVISOR_TOOL=1 выключает его совсем.

Телеметрию поправили и в других местах. Трейс-спаны получили атрибуты gen_ai.provider.name, gen_ai.conversation.id, gen_ai.tool.name и error.type. Если хук prompt.submit мода переписывал или выбрасывал промпт, событие user_prompt, спан interaction и запрос заголовка сессии всё равно получали его как набранный. В tool_result после git commit -q в репозиториях с reftable не хватало git_commit_id.

Ошибка 400 из-за схемы MCP-инструмента ломала каждый ход разговора

Одна из исправленных ошибок жила в облачных сессиях Cowork: Write, Edit и NotebookEdit отчитывались об успехе, когда путь указывал на ваш компьютер, хотя файл туда не доходил. Другая ломала разговор целиком. Если API отвергал схему входа MCP-инструмента, каждый ход падал с ошибкой 400; сейчас Claude Code отправляет такой инструмент без параметров до конца разговора.

Облачные сессии зависали на 5 минут на каждом ходу, если политику организации не удавалось прочитать; ход заканчивается сразу и с объяснением. Команда exit принудительно убивает фоновые команды, работающие через 1,5 секунды после просьбы остановиться. updatedInput из хуков PreToolUse и PermissionRequest проверяется как ввод самого Claude: лишние ключи отбрасываются, а отвергнутый инструментом ввод запрещает вызов.

Хук agent.spawn научился переписывать промпт и модель агента workflow

Раньше agent.spawn мог только отказать агенту workflow, сейчас он умеет поменять его промпт и модель. Вызов $.ui.view({ agentId }) показывает транскрипт агента в главном окне, а $.ui.view({}) возвращает обратно. Свойство virtualText в оформлении поля ввода рисует текст, который никогда не попадает ни в черновик, ни в отправленный промпт.

Новый хук prompt.change срабатывает, когда текст в поле меняется без набора: при вызове записи из истории, очистке, отмене или заполнении плагином. Хук prompt.edit стал ловить перевод строки через chat:newline (Ctrl+J). У компонента Text появилось свойство dir для письма справа налево: в Windows и в терминале VS Code такие строки читаются в нужную сторону и прижаты вправо.

Почему пятиминутный кэш иногда обходится дороже часового?

Всё решает пауза между запросами. По данным Caching.ai, при запросах чаще раза в пять минут хватает пятиминутного срока, а при паузах от 5 до 60 минут может выиграть и часовой, и подогретый пятиминутный. Если пауза длиннее срока жизни, вы платите надбавку за запись на каждом вызове и ни разу не читаете из кэша.

Как описано в документации Claude Platform, API перед обработкой проверяет, лежит ли в кэше префикс промпта до отмеченной границы. Срок по умолчанию пять минут, каждое использование бесплатно его продлевает, а отсчёт идёт от начала запроса. Как парковочный талон, который продлевается всякий раз, когда вы возвращаетесь к машине.

Префикс сверяется по порядку: инструменты, затем системный промпт, затем сообщения. Любое изменение в нём, даже лишний пробел или переставленное определение инструмента, тихо сбрасывает кэш без всякой ошибки, и следующий запрос снова платит за запись.

Релиз не говорит, по какому правилу Claude Code выбирает срок кэша, и новые счётчики видны только тем, у кого настроен OpenTelemetry. На наш взгляд, лучше всего к ним подходит другая правка: локальные транскрипты записывают системный промпт, инструменты и параметры каждого запроса. По ним, вероятно, станет проще найти, что именно сбило префикс.

Сколько стоит ваш часовой кэш

Если вы уже собираете api_request, после обновления до 2.1.300 можно посчитать, какая доля записи уходит в часовой кэш по двойной цене. Появятся ли такие поля где-то кроме OpenTelemetry, в записи релиза не сказано. Некоторым исправлениям нужна свежая версия на вашей машине: правка diff в Remote Control, где удалённые и переименованные файлы показывались изменёнными, требует Claude Code v2.1.296 или новее.

Anthropic

Анализ трат в Claude можно забрать документом или дашбордом, Видео

Один разбор трат в Claude можно забрать документом, дашбордом или дизайном, не выходя из разговора. Хватит команды вроде /dashboard, и выбирать заранее между чатом и Cowork не нужно. Вам случалось вручную переносить ответ Claude в документ или таблицу?

Пока никто не написал. Будьте первым.

Присоединяйтесь к разговору

Войдите, чтобы оставить комментарий. Он появится после модерации.