Что контролирует effort
Параметр effort задаёт, сколько токенов Claude тратит на ответ - это способ выбирать между тщательностью ответа и экономией токенов в рамках одной и той же модели. Он влияет на все токены в ответе: текст и объяснения, вызовы инструментов и их аргументы, а также размышление, если оно активно. Effort не требует включённого режима размышления и работает и без него - в этом его отличие от параметров, которые управляют исключительно размышлением.
Пять уровней
max - абсолютный максимум возможностей без ограничений на расход токенов. Для задач, которым нужны самые глубокие рассуждения и самый тщательный анализ.
xhigh - расширенные возможности для долгой работы. Подходит для продолжительных агентных и кодинговых задач (свыше 30 минут) с бюджетом токенов в миллионы.
high - высокий уровень возможностей, по умолчанию. Указание effort: "high" даёт ровно то же поведение, что и полное отсутствие параметра. Подходит для сложных рассуждений, трудных задач по коду, агентных сценариев.
medium - сбалансированный вариант с умеренной экономией токенов, для агентных задач, где важен баланс скорости, стоимости и качества.
low - самый экономичный уровень: заметная экономия токенов ценой некоторого снижения возможностей. Подходит для простых задач, где важнее всего скорость и низкая стоимость, например для субагентов.
Effort - это поведенческий сигнал, а не жёсткий бюджет токенов: на низких уровнях Claude всё равно размышляет над достаточно сложными задачами, просто меньше, чем на высоких уровнях для той же задачи.
Effort и вызовы инструментов
При работе с инструментами effort влияет и на пояснения вокруг вызовов, и на сами вызовы. На низких уровнях Claude склонен объединять несколько операций в меньшее число вызовов, делать меньше вызовов инструментов вообще, действовать сразу без вступления и оставлять лаконичное подтверждение после завершения. На высоких уровнях - наоборот: больше вызовов инструментов, объяснение плана перед действием, подробные итоги изменений и более развёрнутые комментарии к коду.
Effort и размышление - разные рычаги
Параметр thinking управляет тем, размышляет ли Claude в блоках размышления перед ответом; effort управляет тем, сколько работы вкладывается в ответ целиком - в адаптивном режиме размышления это включает, как часто и как глубоко Claude размышляет. Важно не путать их: значение "adaptive" - это режим размышления, а не уровень effort, передавать его в effort нельзя. На высоких уровнях effort Claude размышляет над большинством запросов и более развёрнуто; на низких - может вовсе пропустить размышление для простых задач.
Пример вызова
response = client.messages.create(
model="claude-opus-5",
max_tokens=4096,
messages=[
{
"role": "user",
"content": "Проанализируй компромиссы между микросервисами и монолитной архитектурой",
}
],
output_config={"effort": "medium"},
)Параметр передаётся внутри output_config, а не отдельным полем верхнего уровня запроса.
Effort между запросами и кеш промпта
output_config.effort - настройка на уровне отдельного запроса: каждый запрос несёт своё значение, и чтобы изменить уровень для следующей части разговора, значение задаётся заново на следующем запросе. Важный побочный эффект: поскольку effort формирует итоговый промпт, отправленный модели, смена его значения между запросами не сохраняет кешированные префиксы с предыдущих реплик. Если разговор полагается на кеширование промпта на протяжении многих реплик, стоит выбрать уровень effort в начале и держать его постоянным, а не менять по ходу диалога.
Практические рекомендации
Стоит задавать effort явно, а не полагаться на значение по умолчанию - правильная отправная точка зависит от конкретной модели и типа задачи. Для быстрых или простых задач, где важна скорость и низкая стоимость, подходит low. Влияние уровней effort различается по типу задачи, поэтому стоит проверять эффект именно на своих сценариях, а не переносить настройки с одной модели на другую без проверки. При переходе на новую модель стоит заново прогнать оценку разных уровней effort, а не переносить старые настройки автоматически.
Чек-лист
- Effort задан явно, а не оставлен по умолчанию без проверки
- Для рутинных или субагентных задач выбран low или medium
- Для сложных агентных и кодинговых задач рассмотрен xhigh
- При работе с кешированием промпта effort зафиксирован на весь диалог
- Для новой модели выполнен свежий прогон оценки разных уровней, а не перенос старых настроек