Настройка effort: 5 уровней, значения по умолчанию для моделей и ловушка кэша
22 июля 2026 года Anthropic включила effort в конфигурацию модели Claude Managed Agents, замкнув круг вокруг параметра, который Messages API незаметно расширила до пяти уровней. Если вы всё ещё копируете effort="high" на верхний уровень messages.create из блога начала 2026 года, запрос выглядит корректным, но Claude может не учитывать то поле, которое вы имеете в виду: параметр теперь находится внутри output_config, а API применяет только те уровни, что описаны в карточке модели.
Это практическое руководство по настройке: куда на самом деле попадает effort в запросе, что реально делают пять уровней (они меняют число вызовов инструментов, а не только глубину рассуждения), неожиданные значения по умолчанию для разных моделей и единственная ловушка, которая незаметно раздувает расходы: смена effort посреди разговора сбрасывает кэш промпта.
- Правильно разместить поле effort — внутри output_config в Messages API, в объекте model в Managed Agents, через /effort или CLAUDE_CODE_EFFORT_LEVEL в Claude Code
- Выбрать стартовый уровень для каждой модели — high это значение API по умолчанию для большинства моделей, но НЕ для Opus 5.5 и Haiku 5.5, у которых по умолчанию medium, а рекомендуемый стартовый effort различается ещё и поверх этого (Sonnet 5.5 medium для агентного кодинга, Sonnet 4.6 medium, Opus 4.7/4.8 xhigh, Fable 5.1 high)
- Понимать, что effort влияет на ВСЕ токены — текст, вызовы инструментов и (когда включено) рассуждение — поэтому снижение effort сокращает число вызовов инструментов, а не только многословность
- Избегать ловушки кэша — изменение effort внутри одного разговора сбрасывает кэширование промптов и может незаметно удвоить счёт
- Знать поверхность effort в Claude Code — /effort, ultrathink (один ход), ultracode (xhigh + постоянное разрешение на мультиагентность), переопределение переменной окружения CLAUDE_CODE_EFFORT_LEVEL
Пять уровней (и место «ultracode»)
Шкала effort на 22 июля 2026 года содержит пять значений, которые принимает API:
| Уровень | Что делает | Когда выбирать |
|---|---|---|
low | Самый экономичный. Значительная экономия токенов при некотором снижении возможностей. Меньше вызовов инструментов, краткие подтверждения, без вступлений. | Простая классификация, нагрузки с большим объёмом, чат, UX, чувствительный к задержкам, субагенты с узкими задачами |
medium | Сбалансированный. Умеренная экономия токенов относительно high. | Агентные задачи, где нужен баланс скорости, стоимости и качества; экономный шаг вниз от high |
high | Высокие возможности. Эквивалентен отсутствию параметра — на всех моделях, кроме Opus 5.5 и Haiku 5.5, у которых по умолчанию medium. | Сложные рассуждения, трудный кодинг, агентные задачи, где качество важнее скорости |
xhigh | Расширенные возможности для долгой работы. Ожидайте заметно большего расхода токенов, чем при high. | Долгие (30+ минут) агентные задачи и кодинг, бюджеты токенов в миллионах, глубокие рефакторинги по многим файлам |
max | Абсолютный максимум возможностей, без ограничений на расход токенов. | Только действительно передовые задачи. Может «передумывать» в задачах со структурированным выводом. |
Ни max, ни xhigh не универсальны — сверяйте уровень с моделью перед релизом. xhigh поддерживается на Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 5, Opus 4.8, Opus 4.7, Sonnet 5.5, Sonnet 5 и Haiku 5.5. max охватывает все эти модели плюс Mythos Preview, Opus 4.6 и Sonnet 4.6. Opus 4.5 поддерживает effort, но ни один из двух верхних уровней. По словам Anthropic: "Not every model that supports max supports xhigh."
- Установка effort в значение модели по умолчанию даёт ровно то же поведение, что и отсутствие параметра — это 'high' на большинстве моделей, но 'medium' на Opus 5.5 и Haiku 5.5. Не задавайте его «для ясности» в разговоре с кэшем: если писать поле в одних запросах и не писать в других, кэш сбрасывается.
- 'ultracode' — не шестой уровень. Это xhigh + постоянное разрешение для Claude Code запускать мультиагентные рабочие процессы, выдаваемое через системные сообщения посреди разговора. API принимает пять значений.
Структура поля, которую путает большинство статей
В обзорах начала 2026 года параметр effort показан как поле верхнего уровня:
# WRONG on current models — silently ignored or 400
client.messages.create(
model="claude-opus-4-8",
effort="medium",
...
)
Текущий API помещает effort внутрь объекта output_config и передаёт его на одном уровне с messages/model:
Правильное размещение effort — Messages API
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-8",
max_tokens=4096,
output_config={"effort": "medium"},
messages=[{
"role": "user",
"content": "Analyse the trade-offs between microservices and monoliths."
}],
)
print(response.content[0].text)В Claude Managed Agents (изменение от 22 июля 2026 года) effort указывается внутри объекта model агента при создании. Сессия его не задаёт — его задаёт версия агента.
Правильное размещение effort — Managed Agents (POST /v1/agents)
# Effort travels with the versioned agent config,
# not the per-run session. Every session pinned to
# this agent version runs at xhigh.
POST https://api.anthropic.com/v1/agents
{
"name": "code-reviewer",
"model": {
"id": "claude-opus-4-8",
"effort": "xhigh"
},
"system_prompt": "You review pull requests for security issues.",
"tools": [...],
"mcp_servers": [...]
}Effort — это не управление рассуждением
Это второе большое заблуждение. Effort работает независимо от того, включено ли рассуждение, и меняет токены, которые Claude тратит на части ответа, не являющиеся рассуждением:
- Вызовы инструментов. Ниже effort → меньше вызовов. Claude объединяет операции в один вызов, пропускает необязательную разведку и переходит к действию без вступления.
- Длина текста. Ниже effort → короче вывод. Краткие подтверждения после вызовов инструментов вместо подробных резюме. Меньше комментариев в коде.
- Глубина рассуждения (когда оно включено). Ниже effort → на простых промптах рассуждение пропускается полностью; на действительно сложных Claude всё равно думает, но меньше.
Последний пункт важен: при low Claude всё равно будет рассуждать над задачей на доказательство, потому что этого требует задача. Effort — это поведенческий сигнал, а не жёсткий бюджет токенов. Не ждите жёсткого предела.
Параметры thinking и effort отвечают на разные вопросы. thinking решает, производит ли Claude блоки рассуждения вообще. effort определяет, сколько усилий вкладывается во весь ответ — включая то, как часто и насколько глубоко Claude рассуждает при включённом адаптивном рассуждении. Передавать effort="adaptive" — частая ошибка; adaptive — это режим рассуждения, а не уровень effort.
На Opus 4.5 — единственной модели только с расширенным рассуждением, поддерживающей effort, — вы задаёте effort и budget_tokens вместе. Выберите уровень effort под вашу задачу, затем подберите бюджет токенов рассуждения под нужную глубину. Все остальные модели с поддержкой effort используют адаптивное рассуждение и не принимают budget_tokens.
Стартовые точки по моделям, которые удивляют команды
Значение API по умолчанию — high на большинстве моделей с поддержкой effort — но не на всех. У Opus 5.5 и Haiku 5.5 по умолчанию medium. Вдобавок рекомендуемый Anthropic стартовый effort различается по моделям, и именно в этом несоответствии команды перерасходуют или недорасходуют.
- Opus 5.5 — единственный Opus с medium по умолчанию, поэтому запрос без effort работает на уровень НИЖЕ, чем тот же код на Opus 5. Если после миграции качество упало, проверьте это в первую очередь. Адаптивное рассуждение всегда включено и не отключается (thinking: {type: 'disabled'} возвращает 400 на любом уровне), поэтому effort — ваш единственный рычаг над тем, сколько модель рассуждает и во сколько обходится запрос. Проведите новый перебор уровней вместо переноса настроек — на одном и том же уровне она думает за ход больше, чем Opus 5.
- Вторая модель с medium по умолчанию и первая Haiku с поддержкой effort вообще. Начинайте с medium для большинства работы, включая агентный кодинг. Используйте low — самый дешёвый и быстрый — для чата, коротких задач с инструментами и простых запросов большого объёма, но учтите компромисс: в длинных агентных промптах на low модель чаще пропускает поиск, останавливается раньше или пропускает проверку. Переходите на high для работы со знаниями, более длинных агентных задач и строгого следования инструкциям. Сравните xhigh/max с Sonnet 5.5 по стоимости и скорости, прежде чем решать.
- У обеих high по умолчанию, и обе поддерживают все пять уровней. На Fable 5.1 начинайте с high, поднимайтесь до xhigh/max для самой требовательной к возможностям агентной работы и кодинга и опускайтесь до medium/low, когда ваши оценки показывают, что качество держится. Уровни Sonnet 5.5 ПЕРЕКАЛИБРОВАНЫ относительно Sonnet 5 — уровень больше не даёт того же объёма рассуждения, поэтому переберите заново. Для агентного кодинга на Sonnet 5.5 начинайте с medium для чётко поставленных задач и переходите на high для более сложных; для агентного кодинга задайте max_tokens 128 000, максимум модели, и используйте стриминг.
- У Sonnet 5 по умолчанию high и в API, и в Claude Code, и рекомендация совпадает. Поднимайтесь до xhigh только для самых трудных задач кодинга и агентных задач. Опускайтесь до medium ради экономии — Sonnet 5 medium сопоставим с Sonnet 4.6 high. Используйте low для чата и некодовых нагрузок, чувствительных к задержкам.
- У Sonnet 4.6 по умолчанию high, но собственные рекомендации Anthropic советуют medium как сбалансированное значение для большинства приложений, включая агентный кодинг. Задайте effort='medium' явно — иначе вы унаследуете high и заплатите за задержку, которую не просили.
- По умолчанию high, но для кодинга и агентной работы рекомендуется xhigh. Используйте high как минимум для нагрузок, чувствительных к интеллекту. Опускайтесь до medium, только когда ваши оценки показывают, что качество держится. Приберегите max для действительно передовых задач — на большинстве нагрузок max добавляет значительные расходы ради небольшого прироста качества, а в задачах со структурированным выводом может «передумывать».
- Opus 4.7 (и 4.8) на low/medium ограничивают объём работы жёстче, чем Opus 4.6. Если на low вы видите поверхностное рассуждение на сложном промпте, повысьте effort, а не пытайтесь обойти это промптом. Если задержка вынуждает оставаться на low, добавьте точечную строку вроде 'This task involves multistep reasoning. Think carefully before responding.'
- Effort — основной рычаг интеллекта, задержки и стоимости на Fable 5. Начинайте с high (значение по умолчанию), используйте xhigh для самой требовательной к возможностям работы и опускайтесь до medium или low для рутинных задач — более низкие уровни на Fable 5 всё равно превосходят предыдущие модели на xhigh. На high/xhigh задавайте большой max_tokens, так как он ограничивает рассуждение и текст ответа вместе.
- Обе модели могут тратить много на субагентов и вызовы инструментов при xhigh/max. Anthropic рекомендует начать с max_tokens 64k и подстраивать оттуда. Оставите 4096 — получите обрезанный ответ со stop_reason='max_tokens' после многообещающего начала.
Ловушка кэша — та, что незаметно удваивает счёт
Кэширование промптов даёт чтение из кэша за долю стандартной цены входа (десятую часть на большинстве моделей, меньше на новейших — см. Pricing). Изменение верхнеуровневого output_config.effort между запросами одного разговора сбрасывает кэш, как и смена модели: верхнеуровневый effort формирует отрисованный промпт, поэтому новое значение означает, что ни один закэшированный префикс не совпадает. На длинном контексте это перечитывание всей вашей истории по полной цене на каждом следующем ходе.
Лазейка: effort на уровне сообщения (бета)
Новейшие модели позволяют менять effort без потери кэша. Добавьте сообщение role: "system" с пустым content, несущее новый уровень в output_config.effort, и всё, что было до него, остаётся побайтово идентичным — закэшированный префикс по-прежнему совпадает.
Смена effort посреди разговора без промаха кэша
# Beta header required:
# anthropic-beta: mid-conversation-output-config-2026-07-01
{
"model": "claude-fable-5-1",
"max_tokens": 4096,
"output_config": {"effort": "high"},
"messages": [
{"role": "user", "content": "Plan a migration from SQLite to PostgreSQL."},
{"role": "assistant", "content": "1. Export... 2. Create schema... 3. Import."},
{"role": "system", "content": [], "output_config": {"effort": "low"}},
{"role": "user", "content": "Summarize the plan in one sentence."}
]
}Доступность на 19 октября 2026 года: в Claude API и Google Cloud это работает на Fable 5.1, Mythos 5.1, Opus 5.5, Opus 5, Sonnet 5.5 и Haiku 5.5; в Amazon Bedrock — только на Fable 5.1, Mythos 5.1 и Opus 5.5. Нужен бета-заголовок mid-conversation-output-config-2026-07-01 — без него output_config на уровне сообщения возвращает 400 messages.N.output_config: Extra inputs are not permitted. С заголовком, но на неподдерживаемой модели (включая Fable 5), вы получите 400 output_config.effort requires a model that supports per-turn effort; this model does not.
Две модели отказываются менять effort по ходам, когда рассуждение зафиксировано: Sonnet 5.5 с thinking: {"type": "between_tools"} и Haiku 5.5 с thinking: {"type": "disabled"} возвращают 400, если уровень на уровне сообщения отличается от действующего. Чтобы менять effort там, используйте адаптивное рассуждение.
Для всего остального по-прежнему действует старое правило — выберите уровень и держите его:
- На моделях без effort на уровне сообщения меняйте effort МЕЖДУ нагрузками, а не ВНУТРИ кэшируемого разговора. Выберите уровень в начале разговора и держите его постоянным до /clear.
- Предпочитайте effort на уровне сообщения верхнеуровневой смене, даже когда работают оба: на Fable 5.1 верхнеуровневое переключение к тому же хуже направляет модель, потому что её прежние ответы были написаны на старом уровне, и она склонна оставаться с ними согласованной.
- В Claude Code /effort посреди сессии равносилен смене модели — ждите большого промаха кэша на следующем ходу.
- Если нужно усилить глубину только на один ход, используйте в Claude Code 'ultrathink' (усиление рассуждения на один ход), а не /effort xhigh — так конфигурация сессии не меняется.
- Если нужно усилить на остаток сессии, делайте это рано. Переключение на 3-м ходу обходится дёшево; на 30-м — перечитывает 30 ходов контекста по полной цене.
Следствие: явное указание effort="high" в одних закэшированных запросах и его отсутствие в других сбрасывает кэш так же — ведь они по поведению эквивалентны, но по тексту различаются. Выберите одно соглашение (всегда задавать или всегда опускать) и придерживайтесь его.
Claude Code — поверхность в CLI
Claude Code даёт effort как интерактивную команду, флаг запуска и переменную окружения (побеждает наивысший приоритет, в обратном порядке):
# In-session (interactive slider, or direct)
/effort
/effort xhigh
/effort auto # reset to model default
# At launch
claude --effort low
# Environment (overrides everything else)
CLAUDE_CODE_EFFORT_LEVEL=high claude
Две смежные команды стоит знать, потому что это не уровни effort, но ведут себя рядом с ними:
ultrathink— усиление более глубокого рассуждения на один ход, которое не меняет effort сессии. Используйте, когда хотите, чтобы следующий ход думал усерднее, не сбрасывая кэш на всех последующих ходах.ultracode— задаётxhighна всю сессию и даёт Claude Code постоянное разрешение запускать мультиагентные рабочие процессы (через системные сообщения посреди разговора). В API значенияultracodeнет — это удобство CLI, которое сочетаетxhighс разрешением на оркестрацию.
Правила сохранения, которые стоит помнить: low, medium, high и xhigh сохраняются между сессиями Claude Code после установки. max действует только в текущей сессии — его нужно применять заново в следующий раз.
Разбор настройки — один промпт, три effort
Чтобы откалибровать интуицию, запустите один и тот же промпт на трёх уровнях и сравните форму вывода:
Промпт для калибровки (запустить на low, high, xhigh)
Task: Review this pull request for security issues. <pr_diff> [paste a real diff — 300+ lines, multi-file, at least one auth-touching change] </pr_diff> Report: severity-tagged findings + a one-line fix per finding. Do not restate what the diff does.
Ожидайте примерно следующее:
- low — находит очевидные проблемы высокой серьёзности (конкатенация SQL-строк, непроверенный пользовательский ввод в заголовке). Пропускает тонкие логические ошибки. 1–2 вызова инструментов, если они доступны. Короткий вывод. Быстро.
- high — полный анализ. Находит большинство уязвимостей, включая тонкие. Несколько точечных вызовов инструментов для чтения связанных файлов. Структурированные находки. Здесь останавливается большинство команд.
- xhigh — исчерпывающий. Рассматривает новые векторы атак и эшелонированную защиту. Читает соседние файлы, которых low/high не касались. Намного больше вызовов инструментов. Заметно выше расход токенов.
Если ваши оценки показывают, что high и xhigh дают одни и те же находки на вашей кодовой базе, выпускайте на high. Ценность xhigh проявляется именно тогда, когда задача выигрывает от повторных вызовов инструментов и подробной разведки — ровно тогда, когда Anthropic его и рекомендует.
Sonnet 5 сдвинул калибровку — не переносите уровни вслепую
Если вы запускали Sonnet 4.6 на high и перешли на Sonnet 5, то при том же уровне Sonnet 5 тратит ближе к тому, что Sonnet 4.6 тратил на max — шкала effort у Sonnet 5 сдвинута. Собственная рекомендация Anthropic: Sonnet 5 medium ≈ Sonnet 4.6 high. Это разница в стоимости запроса, которую стоит проверить, если вы воспроизводили трафик без корректировки effort. Полную историю миграции см. в полевом руководстве по Sonnet 5.
Закрепите
Проверьте себя
0/7Источники и дополнительное чтение
- Anthropic — Effort (build-with-claude/effort) — авторитетный справочник по пяти уровням,
output_config.effortи рекомендациям по моделям - Anthropic — Thinking (build-with-claude/thinking) — как effort взаимодействует с адаптивным рассуждением и когда выбирать тот или иной рычаг
- Примечания к релизам Anthropic Platform — запись от 22 июля 2026 — выпуск
effortв Managed Agents и изменения webhook и инициализации сессий, вышедшие в тот же день - Prompting Claude Sonnet 5 — калибровка effort и глубины рассуждения — сдвиг шкалы effort у Sonnet 5 и когда прибегать к xhigh
- Anthropic — Task budgets — рекомендательные бюджеты токенов для целых агентных циклов, дополнение к effort для долгих запусков
- AILmanac — Extended Thinking & Effort — вводная рамка, которую предполагает эта страница
- AILmanac — Claude Sonnet 5: полевое руководство — история миграции и перекалибровки
- AILmanac — Prompt caching — экономика кэша, из-за которой смена effort посреди разговора так дорога