К содержимому
Claude Code с 0:полный курс
Новости ClaudeАвтор: Михаил Кузьмицкий

Как снизить стоимость Claude без потери качества ответов

Русская адаптация материала Anthropic — подготовлена с участием AI, проверена автором.

Коротко

Anthropic показала, что кэширование промптов, чистка инструкций и калибровка «усилия» модели снижают расходы на Claude на десятки процентов — без потери точности.

Обычно считается, что дешевле — значит хуже: хочешь сэкономить, готовься к более слабым ответам. Anthropic решила проверить это на практике и разобрала реальные случаи использования Claude Platform (API-платформы Claude для разработчиков). Вывод оказался неожиданным: во многих приложениях можно снизить стоимость запросов, вообще не жертвуя качеством — если правильно настроить три вещи: кэш промптов, формулировки инструкций и параметр «усилия» модели.

Весы с монетой и молнией в равновесии

Все эти рекомендации Anthropic собрала в специальный skill (навык) claude-api, который можно подключить прямо в Claude Code. Дальше — что именно там разобрано и какие цифры получились в тестах.

Кэш промптов: почему это первый рычаг экономии

Перед тем как Claude сгенерирует ответ, он сначала «переваривает» твой промпт во внутреннее рабочее состояние — этот этап называется prefill, и именно он самый дорогой по вычислениям. Prompt caching (кэширование промпта) сохраняет это состояние: если следующий запрос начинается с того же самого префикса, Claude читает готовый результат вместо того, чтобы пересчитывать его заново. Чтение из кэша стоит в разы дешевле полной обработки входных токенов.

Но у кэша есть строгие условия. Он привязан к конкретной модели, требует байт-точного совпадения всего префикса запроса и живёт ограниченное время (TTL — time-to-live). Если хоть один символ в начале промпта изменился — кэш «промахивается», и ты платишь по полной цене, а иногда и дороже: перезапись кэша стоит в 1.25 раза дороже обычного входа (и в 2 раза — для часового кэша).

Как не сломать кэш: практические правила

Anthropic выделила несколько типичных ошибок, которые незаметно ломают кэш-хиты:

Что происходитПочему это ломает кэш
Меняешь effort или thinking посреди диалогаЭти настройки «зашиты» в начало промпта — часть кэшируемого префикса
В системном промпте есть timestamp или IDЗначение меняется от запроса к запросу
Описания инструментов переупорядочиваютсяЛюбое изменение в блоке tool definitions рвёт кэш
Форкаешь диалог для сабагентаКэш родителя наследуется только при полном совпадении префикса, модели и effort
Синхронный вызов инструмента длится дольше TTLКэш истекает, пока агент ждёт результат

Хорошая новость — с Claude Opus 5 и Fable 5.1 effort можно менять на ходу без разрыва кэша, это уже исключение из общего правила.

Диагностика промахов кэша в Claude Console: сравнение двух запросов и точка расхождения. Источник: Anthropic

Чтобы держать кэш-хиты высокими, в Anthropic советуют: следить за hit rate через диагностику в Claude Console (она показывает, где именно разошлись два запроса), откладывать редко используемые инструменты через флаг defer_loading — тогда они не занимают место в кэшируемом префиксе, а подгружаются только когда реально нужны. Системные обновления лучше добавлять как отдельное сообщение посреди диалога, а не редактировать сам системный промпт — так кэш не сбрасывается.

Правильная структура запроса: стабильные инструкции и инструменты в начале, динамический диалог — в конце. Источник: Anthropic

Ключевая идея тут — держать стабильную часть промпта (инструменты, системные инструкции) впереди, а растущий диалог — позади неё. Если предстоит операция, которая всё равно перезапишет кэш (например, компактификация длинного диалога), это удачный момент, чтобы одновременно сменить модель или effort — платить за промах всё равно придётся. А если хочешь снизить задержку в начале сессии, можно «прогреть» кэш заранее: отправить запрос с max_tokens: 0 и явной точкой кэширования, пока пользователь ещё печатает свой первый вопрос.

Совет

Если твой агент часто ждёт долгие вызовы инструментов дольше 5 минут — стандартный TTL кэша не спасёт. В таких случаях стоит выставлять часовой TTL на префиксе.

Инструкции-анахронизмы: старые заклинания против новых моделей

Со временем в промптах накапливаются инструкции, которые «латают» слабости старых моделей — но новые модели этих слабостей уже не имеют, а инструкции остаются и начинают мешать. Anthropic называет это анти-паттернами промптинга:

Анти-паттернЧто происходит с топовой моделью
«Дважды проверь себя», «убедись перед ответом»Модель буквально выполняет это, тратя лишние токены
«Будь максимально дотошным», «КРИТИЧЕСКИ ВАЖНО…»Приводит к избыточной подробности и лишним вызовам инструментов
Обязательный scratchpad, «думай по шагам» шаблоныНакладывается на встроенное мышление модели, тратит токены впустую
Устаревшие few-shot примерыУчат новую модель имитировать длинные цепочки рассуждений там, где это не нужно
Противоречивые правилаТоповые модели лучше следуют инструкциям буквально — и застревают на противоречии
Настройки для старой версии моделиПлатформа может просто отвергать устаревшие параметры (например, ручной thinking budget)

Команда prompt-audit: как найти анти-паттерны автоматически

В skill claude-api появилась команда, которая ищет эти анти-паттерны за тебя. В Claude Code достаточно запустить /claude-api prompt-audit — она проверит всё в рабочей директории: промпты, конфигурацию Claude Code (например, CLAUDE.md) и даже код приложения, который обращается к Claude API.

Anthropic протестировала это на миграции с Opus 4.8 на Opus 5 на бенчмарке поддержки клиентов. Взяли чистый промпт и по одному добавляли анти-паттерн: устаревшую настройку thinking, пару противоречивых правил про возврат средств, ручной scratchpad, «проверь дважды», «будь максимально дотошным» и обязательную процедуру из шести шагов — получилось шесть «испорченных» промптов.

Влияние анти-паттернов на миграцию с Opus 4.8 на Opus 5. Источник: Anthropic

Каждый прогнали на Opus 4.8, затем на Opus 5 с той же самой инструкцией (только модель сменили), и на Opus 5 после прогона /claude-api prompt-audit. Результат: прогон аудита снизил расходы на 14.6% и одновременно поднял точность на 5.3% в среднем. Причина падения точности без аудита была тройная: устаревшая настройка thinking просто отвергалась API на каждом запросе роутинга; противоречивые правила про возврат заставляли Opus 5 придерживать четыре законных возврата, ожидая подтверждения от клиента; а ручной scratchpad конфликтовал со встроенным мышлением модели — в трёх тикетах вызов инструмента написался внутри рассуждения, но так и не выполнился.

Effort: сколько «думать» должна модель

Effort (усилие) — это параметр, который говорит Claude, насколько усердно решать задачу. На низком effort модель быстрее приходит к выводу. На высоком — обдумывает варианты, проверяет себя, исследует альтернативы перед ответом. Соотношение цены и качества между этими уровнями может сильно отличаться от задачи к задаче.

Вот конкретные цифры из тестов Anthropic на бенчмарке FrontierCode Diamond (50 самых сложных задач) для модели Fable 5:

EffortТочностьЦена за задачу
Низкий11.5%$5.35
Максимальный30.9%$19.00

Рост effort почти втрое поднимает точность (+19 пунктов) за 3.5-кратную цену — тут повышение явно оправдано. А вот на Humanity's Last Exam (без инструментов) для Fable 5.1 картина иная: 53% точности за $0.30 на низком effort против 61% за $2.23 на максимальном — последний шаг добавляет пол-балла за 46% доплаты, и этот выигрыш укладывается в обычный разброс шума бенчмарка. Иными словами, платишь больше — а измеримой выгоды нет.

Важно

Effort можно промахнуться в обе стороны: слишком высокий — Claude «пережёвывает» задачу дольше, чем она того требует; слишком низкий — модель останавливается раньше, чем собрала достаточно доказательств, и отвечает по первому найденному результату вместо третьего, более надёжного.

Как правильно откалибровать effort

Один из самых интересных выводов Anthropic: более сильная модель на низком effort может быть дешевле слабой модели, которая работает на пределе. На бенчмарке CursorBench 3.2 Fable 5.1 на низком effort показывает тот же результат, что Fable 5 на максимальном — но за треть цены. Причина двойная: на низком effort новая модель делает меньше работы на задачу, а чтение из её кэша стоит $0.25 за миллион токенов против $1.00 у Fable 5.

Практический совет — измерять производительность приложения по всей шкале effort. Если график «цена-качество» получается плоским (то есть увеличение effort почти не поднимает точность), значит задача не привязана к глубине рассуждений, и платить за максимальный effort просто нет смысла.

Автоматизация: hillclimb ищет оптимум сам

Ручной перебор моделей и уровней effort — трудоёмкое занятие, поэтому в claude-api добавили команду /claude-api hillclimb. Она делит твой набор тестовых примеров на тренировочную и проверочную части, сама предлагает изменения конфигурации и читает проваленные примеры, чтобы понять, что именно нужно исправить в промпте.

Anthropic прогнала hillclimb на бенчмарке поддержки клиентов, начав с Opus 4.8 на стандартном (высоком) effort. Сначала алгоритм попробовал Opus 5 на низком effort и применил prompt-audit — убрал обязательные ритуалы вызова инструментов, scratchpad-шаги и противоречивые правила. Это превысило точность базовой линии Opus 4.8 — 98.9% на тренировочных данных — и снизило цену до 2.6 цента за тикет. Дальше hillclimb попробовал спуститься до Sonnet 5 на низком effort — цена упала до 1 цента за тикет, но точность просела до 88.9%. Разобрав проваленные тикеты, система добавила правила роутинга и сверку с лимитом возврата — точность вернулась к 98.9% при той же цене.

На 14 отложенных тикетах, которые алгоритм не видел вовсе, финальная конфигурация показала 90.5% против 78.6% у исходной настройки — и это примерно в пять раз дешевле.

Что с этим делать тебе

Если ты только осваиваешь работу с API моделей — не обязательно сразу гнаться за автоматизацией такого уровня, начать стоит с простых вещей. Понять, как вообще работает передача данных между твоим кодом и внешним сервисом, поможет бесплатный курс zero2claude — там разбираются базовые механики терминала и работы с Claude Code, на которых строится всё остальное.

Главный вывод из статьи Anthropic простой: цена и качество не обязаны быть противниками. Часто дорогой ответ получается не потому, что задача сложная, а потому что промпт написан для устаревшей модели, кэш ломается на пустяках, а effort выставлен «на всякий случай» на максимум. Разберись с этими тремя рычагами — и экономия придёт сама, без потери качества.

Частые вопросы

Что такое prompt caching и зачем он нужен?

Это механизм, который сохраняет промежуточное состояние обработки промпта (KV-кэш), чтобы не пересчитывать его заново при похожих запросах. Чтение из кэша стоит в разы дешевле полной обработки — это самый прямой способ снизить счёт за API.

Почему кэш промпта вдруг перестаёт работать?

Чаще всего из-за мелких изменений в начале запроса: динамического timestamp в системном промпте, смены effort посреди диалога, переупорядоченных описаний инструментов или превышения времени жизни кэша (TTL). Claude Console показывает диагностику, в каком именно месте разошлись два запроса.

Что такое анти-паттерны в промптах?

Это инструкции, добавленные когда-то, чтобы «подлатать» слабости старой модели — например, «проверь дважды» или обязательный scratchpad. На новых моделях они лишние: модель выполняет их буквально, тратя токены и время без пользы, а иногда даже мешая собственному встроенному мышлению.

Как понять, какой уровень effort нужен моей задаче?

Лучший способ — прогнать одну и ту же задачу на нескольких уровнях effort и посмотреть на график цена/качество. Если кривая почти плоская, задача не завязана на глубину размышлений, и платить за максимальный effort бессмысленно.

Нужно ли мне быть разработчиком, чтобы применить эти советы?

Большинство рекомендаций касаются людей, которые пишут код, обращающийся к Claude API напрямую. Но если ты только учишься работать с Claude Code и терминалом, разобраться в базовых механиках стоит начать с более простых материалов — например, курса zero2claude.

Если хочешь попробовать всё это руками — начни с бесплатного курса «Claude с нуля».

Источник

По мотивам статьи Anthropic «Reducing cost and improving performance with Claude Platform». Пересказали по-русски для новичков.

Читайте также

Попробуй на практике

Бесплатные интерактивные курсы по теме — прямо в браузере, с нуля.