Аудит промптов в Claude Code срезал 14,6% затрат

Anthropic 10 сентября добавила в навык claude-api для Claude Code три команды, которые ищут, где приложение на Claude API переплачивает: /claude-api prompt-audit, /claude-api cost-optimize и /claude-api hillclimb. В блоге Claude компания прогнала их на собственном бенчмарке поддержки клиентов и на четырёх публичных. Итоговые проценты там интересны меньше, чем ответ на вопрос, откуда вообще берутся потери.
Сам навык поставляется вместе с Claude Code и лежит в открытом репозитории Anthropic skills, поэтому его можно поставить в любую среду с поддержкой Agent Skills, сказано в документации платформы.
Что сломалось при переезде на Opus 5
Для проверки prompt-audit взяли переезд с Opus 4.8 на Opus 5. В чистый промпт по одному подсаживали устаревшие приёмы: отменённую настройку thinking, пару противоречащих друг другу правил возврата денег, ручной scratchpad, «verify twice», «be maximally thorough» и обязательную процедуру из шести шагов. Каждую из шести версий запускали на Opus 4.8, на Opus 5 с заменой одного только ID модели и на Opus 5 после одного прогона аудита. После аудита стоимость в среднем по шести промптам упала на 14,6%, точность выросла на 5,3%.
Деньги уходили на лишнюю работу. Фраза «перепроверь дважды» заставляла Opus 5 повторять поиск заказа при каждом возврате, а «будь максимально дотошным» превращалась в десятки ненужных запросов к базе знаний. Причины падения точности конкретнее. Отменённая настройка thinking привела к тому, что API отклонял каждый запрос на маршрутизацию. Из-за противоречивых правил Opus 5 не выдал четыре положенных возврата и вместо этого просил клиента подтвердить. А ручной scratchpad столкнулся со встроенным рассуждением модели: на трёх тикетах Opus 5 написал вызов инструмента внутри своих размышлений и так его и не выполнил.
Аудит проверяет всё в рабочей папке: код, который ходит в Claude API, а заодно конфигурацию самого Claude Code, включая CLAUDE.md и навыки. Что часть прежних рекомендаций для поколения Claude 5 устарела, Anthropic говорила и раньше. Теперь это можно проверить командой.
Кэш ломается на одном байте
Самый дорогой этап обработки входа - prefill, когда модель прогоняет промпт и строит внутреннее состояние (KV-кэш). Кэширование промпта сохраняет это состояние, и запрос с тем же началом читает его по цене намного ниже обычного входа. Но кэш привязан к конкретной модели, совпадение префикса должно быть побайтовым, а срок жизни ограничен. Если кэш истёк, его приходится записывать заново по 1,25 обычной цены входа, а для часового кэша по двойной.
Ломают кэш мелочи: метка времени или ID в системном промпте, описания инструментов, которые меняют порядок, смена effort или настроек thinking посреди диалога. Исключение есть: в Opus 5 и Fable 5.1 effort можно менять по ходу разговора без потери кэша. Пятиминутный TTL отсчитывается от начала запроса, поэтому агент, который ждёт субагента дольше пяти минут, теряет кэш родителя. Тут Anthropic советует ставить на префикс часовой TTL.
Из инструментов, которые помогают: Claude Console показывает, в каком месте два соседних запроса разошлись. Редко нужные инструменты можно пометить defer_loading, тогда они не попадают в кэшируемый префикс и подгружаются через tool search. Новую системную инструкцию можно добавить сообщением, не трогая системный промпт. Кэш можно прогреть заранее запросом с max_tokens: 0 и явной точкой кэширования, пока пользователь ещё печатает. Модель и effort лучше менять в момент компакции, когда кэш всё равно перезаписывается.
Сколько стоит effort
На FrontierCode Diamond (50 самых сложных задач) Claude Fable 5 при низком effort набирает 11,5% за 5,35 доллара на задачу, а при максимальном 30,9% за 19 долларов. Балл растёт примерно в 2,7 раза, цена примерно в 3,5. У Fable 5.1 на Humanity's Last Exam без инструментов кривая круче: около 53% за 0,30 доллара на вопрос при низком effort и около 61% за 2,23 доллара при максимальном. Последний шаг до max добавляет примерно полпункта при росте цены на 46%, и этот прирост укладывается в разброс между прогонами.
Отсюда главный совет раздела: пробовать модель сильнее на низком effort. На CursorBench 3.2 Fable 5.1 с низким effort держит уровень Fable 5 с высоким за треть цены. Дело не только в объёме работы: чтение из кэша у Fable 5.1 стоит 0,25 доллара за миллион токенов против 1 доллара у Fable 5. Но и по ценам Fable 5 новая модель на низком effort вышла бы примерно на 40% дешевле.
Перебор вместо догадок
Hillclimb автоматизирует такой подбор: делит набор тестов на обучающую и проверочную части, предлагает изменения в модели, effort и промпте и разбирает провалы на обучающей части. На бенчмарке поддержки он стартовал с Opus 4.8 на высоком effort. Первым шагом перешёл на Opus 5 с низким effort и вычищенным промптом: 98,9% на обучающих тикетах и 2,6 цента за тикет. Затем спустился до Sonnet 5 на низком effort, это 1 цент за тикет, но точность упала до 88,9%. Прочитав проваленные тикеты, Claude дописал в промпт правила маршрутизации и сверку с лимитом возврата и вернул Sonnet 5 к 98,9% при той же цене. На отложенных тикетах итоговая конфигурация набрала 90,5% против 78,6% у исходной примерно за пятую часть стоимости, правда, таких тикетов всего 14.
Cost-optimize работает шире. Расход он берёт из отчётов организации, если есть ключ Claude Admin API, из объекта usage в логах ответов, а если нет ни того ни другого, оценивает его по коду, который собирает запросы. Затем ранжирует варианты экономии: кэширование, облегчение запросов вместе с prompt-audit, ограничение длины ответа, батчинг фоновой работы. Message Batches API, по документации, обрабатывает запросы офлайн за половину цены. С набором тестов команда ещё и сравнивает уровни effort и модели. На четырёх публичных бенчмарках с базой на Sonnet 5 вышло так:
- LegalBench, около 58%: общий кэшируемый префикс, низкий effort и Batch API. Токенов рассуждения стало 8 284 вместо 102 779, доля пройденных задач осталась в пределах шума.
- tau2-bench retail, 73%: одно только кэширование с явной расстановкой точек, доля пройденных задач не изменилась.
- OfficeQA Pro, около 52%: батчинг и кэширование документов, 64,87 доллара вместо 136,20.
- SWE-bench Verified, около 55%: кэширование там уже было настроено правильно, экономию дали medium effort и требование отвечать парой коротких предложений.
На SWE-bench Verified медиана шагов на задачу упала с 29 до 17, а токенов промпта стало 33,7 миллиона вместо 75,2 миллиона.
Дальше
Claude Code 2.1.267 ограничивает уровень усилий
Уровень усилий в Claude Code теперь можно прижать сверху настройкой maxEffortLevel, и она действует у всех провайдеров, включая Bedrock, Vertex и Foundry. Пользователь может взять уровень ниже потолка, но не выше.
Читайте также
- claude.ai разогнали в 3 раза за две недели с помощью Claude
- Из промпта Claude Code вырезали больше 80% текста
- Anthropic советует удалить из промптов «думай внимательно»
- Скрытый абзац промпта велит агенту не спрашивать разрешения
- Из системного промпта Claude Code убрали около 80%
- Anthropic обновила правила context engineering для Claude 5
Комментарии
Пока никто не написал. Будьте первым.
Присоединяйтесь к разговору
Войдите, чтобы оставить комментарий. Он появится после модерации.

