
Claude Code — Модели, уровни и усилия
Claude Code стартует с дефолтной моделью и дефолтным уровнем усилий, и подавляющее большинство разработчиков не трогают ни то ни другое. Здесь ничего страшного - дефолты подобраны разумно. Но «разумный дефолт» это обычно что-то среднее, а иногда хочется улучшить работу и получить качественный ответ.
Разберёмся, какие модели вообще есть и когда их стоит настраивать.
Четыре типа моделей
Haiku (4.5) - быстрый уровень. Поиск, простые переименования, grep-style разведка по кодовой базе. Отвечает почти мгновенно. Если гоняете субагентов на исследование репозитория до начала настоящей работы - Haiku тут идеален. Уровни усилий он не поддерживает вовсе: Haiku не размышляет, Haiku делает.
Sonnet (5) - рабочая лошадь. Написание функций, небольшие рефакторы, ревью файлов, «объясни этот модуль». На Anthropic API у Sonnet 5 нативное окно в 1 миллион токенов - без суффиксов, доплат и плясок.
Opus (5) - флагман общего назначения. Заметно сильнее на сложных рассуждениях, архитектурных решениях и нетривиальной отладке. Стоит дороже за токен.
Fable (5) - самая мощная модель в Claude Code, заточенная под задачи, которые не влезают в один присест. Держит длинные автономные сессии, сначала исследует и только потом действует, проверяет себя чаще остальных. Дефолтом не является нигде и не станет - включается явно через /model fable. По тестам Anthropic, Fable дотягивает задачи, которые Opus и Sonnet не берут ни на каком уровне усилий. Стоит соответственно.
Какая модель у вас сейчас по умолчанию
Зависит от плана, и это первый сюрприз для многих:
| Тип аккаунта | Дефолт |
|---|---|
| Max, Team Premium, Enterprise pay-as-you-go, Anthropic API | Opus 5 |
| Pro, Team Standard, Enterprise subscription seats | Sonnet 5 |
Алиасы, которые полезно знать
| Алиас | Что делает |
|---|---|
default |
Сбрасывает переопределение модели к рекомендованной для вашего аккаунта |
best |
Fable 5, если он доступен вашей организации, иначе последний Opus |
fable / opus / sonnet / haiku |
Последняя версия соответствующего семейства |
opus[1m], sonnet[1m] |
То же самое, но с окном в 1M токенов |
opusplan |
Гибрид: Opus в plan mode, Sonnet на исполнении |
Переключаетесь внутри сессии через /model, задаёте дефолт в settings.json:
{
"model": "sonnet"
}
Приоритет такой: /model в сессии → флаг --model при запуске → переменная ANTHROPIC_MODEL → значение в settings-файле.
Начиная с v2.1.153 /model не просто переключает модель на лету, а сохраняет выбор как дефолт для новых сессий. Если хотите поменять только на текущую сессию - в пикере жмите s вместо Enter. Стоит запомнить, иначе однажды обнаружите, что «случайно» живёте на Fable третью неделю.
Про окно в 1 миллион токенов
Миллион токенов - это примерно «весь репозиторий целиком, и ещё место останется». Раскладка по планам:
- Fable 5, Sonnet 5 и Opus 4.7+ на Anthropic API всегда работают с 1M.
- На Max, Team и Enterprise Opus автоматически апгрейдится до 1M без всякой конфигурации.
- На Pro - только через usage credits.
Режимы работы
По умолчанию Claude Code в ручном режиме (manual): читает файлы, запускает команды, редактирует код - но спрашивает разрешения перед большинством действий, которые трогают файлы, шелл или сеть. Основной цикл переключения - Shift+Tab.
Plan mode ограничивает Claude read-only инструментами. Он исследует кодовую базу, ищет паттерны, продумывает подход - но не может ничего написать, пока вы не одобрите план. Это ограничение на уровне инструментов: в plan mode Claude физически не дотянется до ваших файлов.
Войти можно через Shift+Tab, через --permission-mode plan при запуске или префиксом /plan перед конкретным промптом. Когда план готов, Claude показывает его и спрашивает, как действовать дальше - одобрить и перейти в авторежим, одобрить с ручной проверкой каждой правки, или продолжить планировать.
Plan mode оправдан, когда изменение затрагивает несколько файлов или вы лезете в незнакомую часть кодовой базы. Накладные расходы - вы тратите токены на разведку до написания кода. Но обычно это дешевле, чем разгребать рефактор, который зацепил не то.
Auto-accept edits - противоположность: правки применяются без вопросов. Хорош для механической работы, которую вы всё равно посмотрите потом через git diff.
Есть ещё режимы за флагами - auto с фоновым классификатором безопасности, dontAsk, bypassPermissions. Последний - для контейнеров и CI, не для ноутбука.
Алиас opusplan
Четвёртая опция в пикере /model. Работает так: Opus в plan mode для архитектурных размышлений, автоматический переход на Sonnet при начале исполнения. Рассуждения флагмана на планировании, эффективность Sonnet на генерации кода.
Важное обновление: раньше opusplan не получал автоматический апгрейд до 1M-окна, и это был известный баг с открытыми issue на GitHub. Сейчас это исправлено - фаза планирования использует то же контекстное окно, что и обычный opus, включая автоматический апгрейд до 1M на подписочных тирах. Если вы не на тире с автоапгрейдом и хотите 1M на обеих фазах, есть явный вариант: opusplan[1m].
Если статьи или тред на форуме советуют вам «использовать opus[1m] вместо opusplan» - этот совет протух.
Уровни усилий
И вот здесь главное недопонимание, которое стоит развеять сразу.
Усилие - это не «сколько модель думает перед ответом». Точнее, не только. Усилие управляет тем, сколько работы Claude вообще делает по вашему запросу:
- сколько файлов прочитает;
- насколько тщательно проверит результат;
- как далеко продвинется в многошаговой задаче, прежде чем вернуться к вам за подтверждением.
На высоком усилии Claude скорее сам прочитает пять файлов, прогонит тесты и перепроверит вывод. На низком - скорее переспросит вас, чем потратит токены на самостоятельные раскопки.
То есть если Claude «недоработал» - пропустил файл, не запустил тесты, бросил рефактор на полпути - это симптом низкого усилия, а не слабой модели.
Пять уровней
| Уровень | Когда |
|---|---|
low |
Короткие узкие задачи, где важна скорость и не важен интеллект |
medium |
Экономия токенов там, где можно немного пожертвовать качеством |
high |
Баланс. Дефолт на всех моделях, кроме Opus 4.7 |
xhigh |
Более глубокие рассуждения за больший расход токенов |
max |
Максимум возможностей. Anthropic честно предупреждает: возможна убывающая отдача и склонность к overthinking |
Поддержка по моделям:
- Fable 5, Opus 5, Sonnet 5, Opus 4.8, Opus 4.7 - все пять уровней.
- Opus 4.6, Sonnet 4.6 - без
xhigh. - Haiku - усилия не поддерживает в принципе.
Если задать уровень, которого у модели нет, Claude Code молча откатится к ближайшему поддерживаемому снизу: xhigh на Opus 4.6 отработает как high.
Отдельным пунктом в меню /effort живёт ultracode. Это не уровень усилия модели, а настройка самого Claude Code: отправляет xhigh и вдобавок заставляет Claude оркестрировать динамические workflow для содержательных задач. Работает только в рамках текущей сессии.
Как задавать
claude --model opus --effort xhigh
Внутри сессии - /effort (без аргументов откроет слайдер), или стрелками влево-вправо прямо в пикере /model. Сброс к дефолту модели - /effort auto.
В settings.json:
{
"model": "opus",
"effortLevel": "high"
}
Ключ называется effortLevel и принимает low, medium, high, xhigh. Значения max и ultracode туда не пролезут - они только на сессию. Для постоянного max нужна переменная окружения:
export CLAUDE_CODE_EFFORT_LEVEL=max
Приоритет: переменная окружения → ваша настройка → дефолт модели. Frontmatter скилла или субагента перебивает уровень сессии, но не перебивает переменную окружения.
Разовый вариант: слово ultrathink где угодно в промпте. Об этом ниже - там есть нюанс.
Как модель и усилие взаимодействуют
Это две независимые оси. Полезная аналогия от команды Claude Code: Sonnet - очень хороший универсал, Opus - эксперт, Fable - узкий специалист, видевший такое, чего не видел никто. Уровень усилий решает, сколько времени любой из них потратит на вашу задачу.
- Opus на low - это пять минут с экспертом. Он принесёт знание, которого нет в вашей кодовой базе: знакомые паттерны, подводные камни, которые он знает где искать. Но пять минут - это беглый взгляд на код, не внимательный.
- Sonnet на high - это хороший универсал, которому дали весь день. Прочитает всё, прогонит тесты, перепроверит себя и разберётся именно в вашем коде. Чего у него меньше - узнавания в стиле «о, я это ровно такое уже видел».
- Fable даже на low - специалист, который бросил взгляд на задачу, где застряли все, и всё равно заметил то, что не заметил никто.
Ни один вариант не лучше объективно. Модель - это примерно «насколько способен», усилие - «насколько дотошен». Большинству реальных задач нужно и то и другое.
| low | medium / high | xhigh / max | |
|---|---|---|---|
| Haiku | Поиск, разведка | — | — |
| Sonnet | Механические правки | Большинство работы | Сложная отладка в знакомом коде |
| Opus | Быстрая экспертная оценка | Общие рассуждения | Архитектура, хитрые баги |
| Fable | Взгляд специалиста | Длинные автономные сессии | Задачи, которые не берёт никто |
Что крутить, когда Claude ошибся
Официальная рекомендация Anthropic полезно контринтуитивна: первым делом не трогайте ручки вообще. Посмотрите на контекст. Промпт слишком расплывчатый? Подключены ли нужные инструменты и скиллы? Если вы поднимаете усилие на задаче, которой это не должно требоваться, проблема обычно выше по течению - в контексте, в CLAUDE.md, в постановке.
А когда контекст в порядке, вопрос сводится к одному: он не смог или он не старался?
- Не смог - Claude получил весь нужный контекст, честно попробовал и всё равно уверенно выдал неверное. Берите модель побольше.
- Не старался - пропустил файл, не запустил тесты, не перепроверил вывод. Поднимайте усилие.
И наоборот: если вы давно на большой модели, а работа последние часы рутинная - спуститесь вниз. Быстрее, дешевле, на качестве не скажется.
Частые ошибки
Крутить ручки вместо контекста
Самая дорогая привычка. Поднять усилие проще, чем переписать промпт, поэтому люди поднимают усилие. Помогает это ровно в тех случаях, когда проблема действительно была в усердии, а не в том, что Claude не понял задачу.
Считать, что дефолт - это medium
Был период, когда medium был дефолтом на Opus 4.6 и Sonnet 4.6, и это вызвало заметное трение в сообществе. Сейчас дефолт - high на всех моделях с поддержкой усилий (кроме Opus 4.7, у которого xhigh). Так что если вы полгода назад прописали "effortLevel": "high" в settings и гордо считали, что выжимаете максимум - вы просто продублировали дефолт.
Fable или Opus на всё подряд
На Pro ($20/месяц) вы делите токенный бюджет между Claude Code и обычным Claude. Гонять флагман на переименованиях сожжёт бюджет так, как Sonnet не сожжёт. Разница качества на рутине незначительна. Разница стоимости - вполне.
При этом обратное тоже верно: на действительно сложной многошаговой работе меньшая модель молотит итерацию за итерацией, упираясь в потолок своих возможностей, а большая доходит до того же результата за меньшее число шагов. Итоговая стоимость задачи может оказаться ниже на модели подороже. Смотрите на цену задачи, а не на цену токена.
Относиться к ultrathink как к постоянному режиму
Здесь надо поправить популярное заблуждение: ultrathink не меняет уровень усилий. Claude Code распознаёт это слово и добавляет инструкцию в контекст - значение effort, уходящее в API, остаётся прежним. Работает на один ход.
Прописывать ultrathink в CLAUDE.md - особенно распространённая ошибка, потому что CLAUDE.md загружается в каждую сессию, и слово там просто лежит. Максимум, что вы получите - глубокомысленную обработку файла на том ходу, где Claude ещё только здоровается.
Заодно: фразы вроде «think hard» и «think more» Claude Code как ключевые слова не распознаёт. Это обычный текст промпта. Работает только ultrathink.
Не закреплять модель в frontmatter субагентов
Субагенты наследуют модель сессии по умолчанию. Сидите на Opus с высоким усилием - каждый субагент тоже, включая тех, кто просто ищет, где лежит utils.ts. Пять Opus'ов на поиск файла: технически работает, финансово сомнительно.
Лечится одной строкой в определении субагента:
---
name: codebase-explorer
model: haiku
---
Для субагентов на Sonnet или Opus можно закрепить и усилие:
---
name: security-auditor
model: opus
effort: high
---
Это именно переопределение, а не дефолт, — сессия его не переспорит. Если нужно задать модель всем субагентам разом, есть CLAUDE_CODE_SUBAGENT_MODEL.
Ожидать, что усилие переживёт смену модели
Уровни low, medium, high и xhigh сохраняются между сессиями, если вы задали их в интерактивной сессии. Но при переключении моделей есть нюансы:
- Haiku усилия не поддерживает - настройка при переключении на него просто не применяется.
- При первом запуске Fable 5, Opus 4.8 или Opus 4.7 Claude Code применит дефолт этой модели, даже если раньше вы выставляли другой уровень, и будет держать его, пока вы не сделаете явный выбор через
/effortили--effort. - У Opus 5 такой блокировки нет: ранее выставленный уровень переносится.
Если много прыгаете между моделями - проверяйте уровень после переключения.
Шпаргалка
- Начинайте с дефолтов. Дефолтное усилие - это уровень, на котором Claude тратит примерно столько, сколько большинство людей и хотели бы потратить на такую задачу.
- Усилие - это общая настройка под ваш тип работы, а не решение по каждой задаче. Выставили раз под свой домен и забыли.
- Текущий уровень видно прямо в заголовке сессии рядом с именем модели - «with high effort». Открывать
/modelнеобязательно. ultrathink- для разовых сложных проблем без изменения настроек сессии.- Закрепляйте модель и усилие в frontmatter субагентов, если пользуетесь ими регулярно.
- Следите за бюджетом на Pro. Он общий с обычным Claude.
- Ошибка? Сначала контекст. Потом - «не смог» (модель) или «не старался» (усилие).
Большую часть времени вы вообще не должны думать ни об одной из этих настроек. Но когда результат мимо - теперь понятно, за какую ручку браться.

Комментарии