# Модель и Effort в Claude Code: две разные ручки настройки

Канонический URL: https://zero2claude.ru/blog/claude-model-effort-level
Дата: 2026-07-07
Теги: claude-code, claude, автоматизация, агенты

Разбираемся, чем выбор модели (Fable, Opus, Sonnet) отличается от уровня усилий (effort) в Claude Code — и как правильно крутить обе ручки, если Claude ошибся.

Открываешь Claude Code, видишь настройку модели и настройку уровня усилий — и кажется, что обе делают одно и то же: «сделай ответ лучше». Логично предположить, что более крупная модель (скажем, Claude Fable 5) умнее, чем Sonnet, а более высокий effort означает, что Claude просто думает дольше перед ответом. Anthropic выпустила разбор, который объясняет: первое верно, а вот со вторым не всё так просто.

<Cover src="/blog/claude-model-effort-level.jpg" alt="Две шестерёнки разного размера символизируют модель и уровень усилий" />

## Модель и effort — это разные рычаги

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

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

| Настройка | Что меняет | Пример эффекта |
|---|---|---|
| Модель | Набор фиксированных весов, общий уровень возможностей | Более крупная модель справится с неочевидной архитектурной задачей, где маленькая ошибётся |
| Effort (усилие) | Сколько работы Claude делает за один ответ: файлы, проверки, шаги | При высоком effort Claude прочитает больше файлов и прогонит тесты; при низком — быстрее задаст вопрос |

## Как твой запрос превращается в числа

Когда ты нажимаешь Enter, Claude Code собирает воедино твоё сообщение, системный промпт, описания инструментов, файл CLAUDE.md, историю переписки и все файлы в контексте — и отправляет всё это одним запросом на сервер. Модель, впрочем, никогда не видит это как обычный текст. Сначала происходит токенизация: текст разбивается на кусочки, и каждый кусочек превращается в число из фиксированного словаря, на котором модель обучалась. Например, `const` может превратиться в число 1978, а `await` — в 4293. С этого момента твой промпт — это просто массив чисел.

![Токенизация: текст разбивается на части и превращается в числа. Источник: Anthropic](/blog/claude-model-effort-level-1.jpg)

Задача модели — взять этот массив чисел и предсказать, какой токен идёт следующим. Она делает это, вычисляя вероятность для каждого токена из своего словаря и выбирая из топа. После `const x = await` хорошо обученная модель поставит высокую вероятность на `fetch` и почти нулевую — на что-то случайное типа `banana`. Именно этот механизм лежит в основе всего, что делает Claude Code — от простого автодополнения до сложных многошаговых задач, о которых мы писали в разборе того, [как Claude Code чинит баги](/blog/claude-fixes-bugs).

## Что скрывается в весах модели

То, что превращает входные токены в вероятности следующего слова, — это веса модели (их же называют параметрами). Это миллиарды чисел, организованных в огромные матрицы. Чтобы предсказать один токен, модель прогоняет твой ввод через эти матрицы — длинную цепочку матричных умножений — и на выходе считывает вероятности. Именно в весах живёт всё, что модель «знает».

![Промпт проходит через веса модели и превращается в вероятности следующего токена. Источник: Anthropic](/blog/claude-model-effort-level-2.jpg)

Веса каждой модели фиксируются во время обучения, и к моменту, когда ты отправляешь запрос, они уже read-only — то есть ничего в твоём промпте, CLAUDE.md или контексте их не меняет. Всё, что Claude знает о TypeScript, популярных фреймворках или идиоматичном Go, было «зашито» в веса ещё на этапе тренировки. Твой промпт и контекст всё ещё могут направлять предсказание — подсунуть Claude твой реальный код работает отлично, — но это именно направление, а не обучение. Если библиотека появилась после того, как модель обучили, её нет в весах: ты можешь дать документацию в контекст, и Claude ей воспользуется, но это влияет только на текущий ответ, а не «доучивает» модель навсегда. Поэтому, когда Claude уверенно вызывает несуществующий метод API (то есть выдаёт то, что называют галлюцинацией), это не сбой поиска — это веса, генерирующие правдоподобную на первый взгляд последовательность токенов на основе паттернов обучения.

Смена модели, по сути, меняет именно этот набор замороженных весов, который обрабатывает твой запрос. При этом модель не генерирует весь ответ сразу: она предсказывает один токен, добавляет его к последовательности и прогоняет всё заново, чтобы получить следующий. Ответ в 200 токенов — это 200 отдельных проходов через веса. Именно в этом цикле кроется большая часть времени ожидания и стоимости токенов на выходе.

<Callout type="note">
Модель определяет, какие веса обрабатывают запрос и сколько стоит каждый выходной токен. Но она НЕ определяет, сколько токенов будет сгенерировано — это решает уровень усилий.
</Callout>

## Effort — это больше, чем «время на подумать»

Когда Claude Code работает над задачей, генерируемые токены делятся на несколько категорий: размышления (та цепочка рассуждений, которую ты видишь между действиями), вызовы инструментов (структурированные блоки с названием инструмента типа Read или Edit и его аргументами) и текст для тебя — план, промежуточные обновления, итоговое резюме. Всё это — обычные выходные токены из одного и того же цикла, оплачиваемые по одной ставке. Токены размышлений генерируются точно так же, как остальные, и остаются в контексте до конца этого шага: когда Claude переходит к написанию кода, его предыдущие рассуждения становятся частью входных данных — так же, как прочитанный файл.

Effort передаётся модели как часть запроса, наравне с твоим промптом. Модель была обучена понимать, как вести себя на каждом уровне усилий, — и это выученное поведение зашито прямо в замороженные веса. Уровень effort влияет на то, насколько тщательным и уверенным Claude должен быть, прежде чем посчитать задачу выполненной, — и это учитывается на каждом шаге, приводя к большему числу токенов для более уверенного ответа.

![Один и тот же промпт на низком и высоком effort: высокий уровень генерирует примерно в 7 раз больше токенов для более уверенного ответа. Источник: Anthropic](/blog/claude-model-effort-level-3.jpg)

На более высоких уровнях effort Claude часто начинает с составления плана, и уровень усилий влияет на глубину и широту этого плана. Но план не заморожен: по мере поступления результатов действий Claude обновляет представление о том, сколько уже сделано и насколько он уверен в накопленном результате. Например, если шаг 1 из трёхэтапного плана по дебагу уже нашёл баг, шаги «проверить гипотезу 2» и «проверить гипотезу 3» могут стать не нужны — и Claude обычно прямо говорит об этом («первая проверка нашла причину, остальные не требуются») и пропускает их. Именно это ты видишь в Claude Code, когда список задач меняется на ходу. При этом команда Anthropic специально следит за «переусложнением» во время обучения моделей — избыточное раздувание работы на простых задачах снижает эффективность, поэтому высокий effort не означает, что Claude искусственно накрутит объём работы там, где это не нужно.

## Как выбирать уровень усилий

Рекомендация Anthropic проста: для большинства задач используй уровень усилий по умолчанию для конкретной модели. Дефолт — это тот уровень, при котором Claude масштабирует расход токенов в соответствии с тем, что большинство людей готовы потратить на подобную задачу. Effort стоит воспринимать как ручной оверрайд — сознательно менять его, когда у тебя есть чёткое предпочтение в сторону тщательности или скорости, обусловленное твоей областью или типом работы. Это скорее общая настройка предпочтений, чем решение, принимаемое под каждую конкретную задачу.

Полезное наблюдение из тестов Anthropic после выхода Claude Opus 4.8: при использовании дефолтного уровня усилий Opus 4.8 даёт лучшие результаты примерно за то же количество токенов, что и дефолтный уровень усилий Opus 4.7 на той же задаче. Это значит, что сама модель со временем становится эффективнее при той же «стоимости» работы — а не только мощнее в абсолютных цифрах.

## Что менять, когда Claude ошибся

Первый инстинкт при ошибке — покрутить какую-нибудь настройку. Но сначала стоит проверить контекст: промпт достаточно конкретный? Claude подключён к нужным инструментам? У него есть нужные навыки (skills)? Если ты повышаешь effort на задаче, которая в этом не должна нуждаться, — проблема обычно выше по цепочке: в контексте, в CLAUDE.md или в том, как поставлена задача.

Но если контекст был дан чётко и Claude всё равно ошибся, стоит задать себе один вопрос: он не старался достаточно — или он не знал достаточно?

| Симптом ошибки | Что менять | Направление |
|---|---|---|
| Claude был уверен, но неправ, хотя у него был весь нужный контекст | Модель | Взять более крупную |
| Claude пропустил файл, не прогнал тесты или бросил рефакторинг на середине | Effort | Повысить уровень усилий |

Более крупную модель стоит выбирать, когда проблема действительно сложная — тонкие баги, незнакомая область, архитектурные решения. Крупная модель нужна там, где маленькая модель уверенно ошибается независимо от того, сколько контекста ты ей даёшь: крупные модели вообще лучше справляются с неоднозначностью, а вот конкретные пошаговые инструкции — более надёжный рецепт успеха для маленьких моделей. И наоборот: маленькую модель стоит брать для рутины — точно описанных правок, механических изменений, вопросов по коду, который уже в контексте. Нет смысла платить за возможности, которые задаче не нужны: если ты уже давно на крупной модели, а работа рутинная, переход на меньшую ускорит дело и обычно снизит стоимость без потери качества.

Повышать effort стоит, если Claude ошибся именно из-за того, что пропустил файл, не прогнал тесты или не перепроверил свою работу — это особенно актуально, если ты выбрал уровень усилий ниже дефолтного для модели.

## Fable, Opus и Sonnet: специалист, эксперт и универсал

В Anthropic предлагают удобную метафору для связи модели и effort: Fable — это специалист, видевший задачи, каких почти никто больше не видел; Opus — эксперт; а Sonnet — по-настоящему хороший универсал. Effort решает, сколько времени любой из них потратит на твою задачу.

Opus на низком effort — это как получить пять минут с экспертом, у которого огромный опыт с задачами вроде твоей. Он приносит знания, которых нет в твоей кодовой базе: паттерны, которые он уже видел, подводные камни, о которых знает проверить. Но пять минут — это быстрое чтение кода, а не тщательное. Sonnet на высоком effort — это как дать по-настоящему хорошему универсалу целый день: он прочитает всё, прогонит тесты, дважды всё перепроверит и в итоге разберётся в задаче досконально, даже если у него нет узкоспециализированного опыта эксперта.

| Модель | Роль | Когда выбирать |
|---|---|---|
| Fable | Специалист с редким опытом | Нишевые, специфические проблемы, где нужен узкий экспертный взгляд |
| Opus | Эксперт | Сложные, неоднозначные задачи: архитектура, тонкие баги |
| Sonnet | Хороший универсал | Широкий круг задач при разумном балансе скорости и цены |

Если тебе интересно, как Claude вообще находит границы своих знаний и честно признаёт, чего не знает, — почитай наш разбор про [«неизвестные» Claude](/blog/claude-fable-unknowns): это хорошо дополняет тему выбора модели под неоднозначные задачи. А если только начинаешь разбираться с базовыми инструментами терминала перед тем, как погружаться в такие тонкости, у нас есть бесплатный курс [zero2claude](/learn/code-terminal) — он проведёт тебя от нуля до уверенной работы с Claude Code.

<Callout type="tip" title="Практическое правило">
Не крути ни одну из ручек «по умолчанию» — сначала проверь контекст. Ошибка от нехватки старания (пропущенный файл, непрогнанные тесты) — повод повысить effort. Ошибка от нехватки знаний (уверенно неправильный ответ при полном контексте) — повод взять более крупную модель.
</Callout>

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

<Faq>
<FaqItem q="В чём разница между моделью и уровнем усилий в Claude Code?">

Модель определяет набор фиксированных весов — общий диапазон возможностей и знаний Claude (например, Fable, Opus или Sonnet). Effort определяет, сколько работы Claude сделает по конкретному запросу: сколько файлов прочитает, сколько раз проверит себя тестами, как далеко зайдёт в многошаговой задаче до того, как остановится и спросит у тебя. Модель — это «кто отвечает», effort — «сколько усилий он вложит».

</FaqItem>
<FaqItem q="Повышение effort делает модель умнее?">

Нет. Effort не меняет веса модели и не добавляет ей знаний — он влияет только на объём работы: сколько файлов будет прочитано, сколько проверок выполнено, насколько тщательным будет план. Если проблема упирается в нехватку знаний модели, а не в недостаток стараний, effort не поможет — нужна более крупная модель.

</FaqItem>
<FaqItem q="Какой уровень усилий использовать по умолчанию?">

Anthropic рекомендует держаться дефолтного уровня усилий для выбранной модели в большинстве случаев — он рассчитан так, чтобы расходовать токены сопоставимо с тем, что большинство людей готовы потратить на подобную задачу. Effort стоит менять как общее предпочтение под тип твоей работы, а не подбирать заново под каждую отдельную задачу.

</FaqItem>
<FaqItem q="Что делать, если Claude постоянно ошибается на одной и той же задаче?">

Сначала проверь контекст: достаточно ли конкретен промпт, подключены ли нужные инструменты и файлы. Если контекст в порядке, спроси себя: Claude не старался (пропустил файл, не прогнал тесты) — тогда повышай effort; или Claude уверенно ошибся, несмотря на весь контекст, — тогда переходи на более крупную модель.

</FaqItem>
</Faq>

## Вывод

Модель и уровень усилий в Claude Code решают разные задачи, и путать их — верный способ переплачивать или недополучать качество. Модель — это про то, какие веса и какие знания вообще доступны для решения твоей задачи. Effort — про то, сколько работы Claude вложит в конкретный ответ здесь и сейчас: сколько файлов проверит, сколько раз перестрахуется, как далеко зайдёт перед тем, как вернуться к тебе с вопросом. Держись дефолтного effort как общего правила, бери более крупную модель для по-настоящему сложных и неоднозначных задач, а effort повышай точечно — когда видишь, что Claude поленился, а не что ему не хватило знаний.

<Callout type="note" title="Источник">
По мотивам статьи Anthropic «Choosing a Claude model and effort level in Claude Code». Пересказали по-русски для новичков.
</Callout>
