Выбор модели и режимы мышления
Настройки конфигурации из предыдущей статьи задают правила и разрешения — но именно выбор модели определяет, насколько «умным» и быстрым будет агент. Это самый прямой рычаг влияния на соотношение качество/стоимость в работе, и именно здесь разумная настройка экономит реальные деньги.
Семейство моделей: актуальный расклад
На середину 2026 года Claude Code работает с четырьмя основными уровнями моделей:
| Модель | API ID | Цена (input/output, за 1M токенов) | Контекст | Thinking |
|---|---|---|---|---|
| Haiku 4.5 | claude-haiku-4-5 | $1 / $5 | 200k | Extended ✓ |
| Sonnet 4.6 | claude-sonnet-4-6 | $3 / $15 | 1M | Extended + Adaptive ✓ |
| Opus 4.8 | claude-opus-4-8 | $5 / $25 | 1M | Adaptive ✓ |
| Fable 5 | claude-fable-5 | $10 / $50 | 1M | Adaptive ✓ |
Haiku — самый быстрый и дешёвый вариант. Отлично справляется с рутиной: генерация boilerplate, простые правки, rename, форматирование, короткие summary.
Sonnet — рабочая лошадка большинства разработчиков. Хорошая скорость при высоком качестве, поддерживает и extended, и adaptive thinking. Важная деталь: контекстное окно 1M токенов против 200k у Haiku — для работы с большими кодовыми базами это принципиально.
Opus 4.8 — когда задача реально сложная: архитектурные решения, анализ запутанных зависимостей, многошаговые рассуждения. По умолчанию работает с effort: high — это зафиксировано в документации Anthropic.
Fable 5 — самая мощная публично доступная модель на данный момент; adaptive thinking всегда включён. Оправдан только там, где цена ошибки высока и другие модели не справляются.
> На практике 90% работы в Claude Code покрывает Sonnet — он используется по умолчанию. Haiku и Opus — точечные переключения под конкретный тип задач.
flowchart LR
H["Haiku 4.5\n$1/$5 за MTok\n200k контекст\nExtended thinking"]
S["Sonnet 4.6\n$3/$15 за MTok\n1M контекст\nExtended + Adaptive"]
O["Opus 4.8\n$5/$25 за MTok\n1M контекст\nAdaptive thinking"]
F["Fable 5\n$10/$50 за MTok\n1M контекст\nAdaptive thinking"]
H -- "дороже · умнее" --> S -- "дороже · умнее" --> O -- "дороже · умнее" --> FКак переключить модель
Четыре способа, от быстрого к постоянному.
1. Прямо в сессии — /model
/model claude-opus-4-8Переключение происходит мгновенно, без перезапуска. Следующий запрос уже пойдёт через Opus. Удобно, когда в процессе сессии понимаешь, что задача сложнее ожидаемого.
2. Для всей команды — settings.json
{
"model": "claude-sonnet-4-6"
}Как разобрано в Настройки и иерархия конфигурации: project-level файл коммитится в репо и применяется ко всем. Личный override — в settings.local.json.
3. Переменная окружения — ANTHROPIC_MODEL
ANTHROPIC_MODEL=claude-haiku-4-5 claude -p "краткое summary этого файла"Удобно в CI/CD: дешёвая модель для рутинных проверок, дорогая — только для code review.
4. CLI-флаг — --model
claude --model claude-opus-4-8 "разберись в этой архитектуре"Перекрывает все настройки на время одного запуска.
Полный порядок приоритета:
CLI --model > settings.local.json > settings.json > ~/.claude/settings.json > ANTHROPIC_MODELExtended thinking и adaptive thinking
Это два разных механизма — их часто путают, но они решают разные задачи.
Extended thinking — явный режим: вы сами задаёте бюджет токенов на «внутренние рассуждения», и модель думает перед ответом. Поддерживают Haiku 4.5 и (в режиме обратной совместимости) Sonnet 4.6. В Claude Code включается через:
{
"alwaysThinkingEnabled": true
}Бюджет мышления контролируется переменной окружения:
MAX_THINKING_TOKENS=8000 claudeПо умолчанию «мысли» скрыты — видно только итоговый ответ. Включить отображение summary:
{
"showThinkingSummaries": true
}Чтобы полностью отключить extended thinking (например, для быстрых автоматических задач):
MAX_THINKING_TOKENS=0 claude -p "добавь docstring"Adaptive thinking — другой механизм: модель сама решает, когда и насколько глубоко думать, без явного бюджета. Встроен в Sonnet 4.6, Opus 4.8 и Fable 5. Пользователь не управляет этим напрямую, но глубина мышления зависит от effortLevel (см. ниже).
Практическое следствие: на Opus 4.8 нет смысла включать alwaysThinkingEnabled — он не поддерживает extended thinking, только adaptive. На Sonnet 4.6 работают оба механизма, но Anthropic рекомендует переходить на effortLevel вместо явного бюджета токенов.
effortLevel: реостат между скоростью и глубиной
Параметр effortLevel — более тонкая настройка, чем выбор модели. Он управляет тем, сколько усилий агент вкладывает в каждый запрос, и работает поверх adaptive thinking:
| Уровень | Когда использовать |
|---|---|
low | Быстрые правки, rename, форматирование |
medium | Стандартная разработка (дефолт для большинства моделей) |
high | Рефакторинг, отладка нетривиальных багов |
xhigh | Архитектурные решения, анализ больших кодовых баз |
Установить в settings.json:
{
"effortLevel": "high"
}Пеключить в сессии:
/effort xhighПеред одним запуском через CLI:
CLAUDE_CODE_EFFORT_LEVEL=low claude -p "добавь комментарии к функции"effortLevel и выбор модели — ортогональные настройки. Sonnet с effortLevel: xhigh на конкретной задаче может дать результат лучше, чем Opus с effortLevel: low. Opus 4.8 по умолчанию работает с effort: high — если хочется сэкономить, явно выставьте low или medium.
Практический гайд: когда платить за более сильную модель
Haiku — достаточно:
- Генерация unit-тестов по существующему коду
- Написание CHANGELOG или commit message
- Переименование переменных, форматирование
- Краткое summary файла или документа
Sonnet — дефолт для большинства задач:
- Реализация новых фич среднего размера
- Debug нетривиального бага с контекстом стека и логов
- Code review с объяснением проблем
- Работа с большим контекстом (когда нужно больше 100k токенов)
Opus 4.8 / Fable 5 — когда сложность реально высокая:
- Разбор чужой архитектуры без документации
- Рефакторинг легаси-кода с неочевидными инвариантами
- Архитектурные решения с множеством trade-offs
- Задачи, где Sonnet несколько раз ошибся или потерял нить
Ключевой принцип: начинайте с Sonnet, переключайтесь на Opus или Fable 5 только когда видите, что модель «не вытягивает» — даёт поверхностные ответы или принимает заведомо плохие решения. Для CI/CD-автоматизации рассмотрите Haiku — разница в затратах при сотнях запросов в день существенная.
fallbackModel и управление в команде
Если основная модель перегружена или недоступна, Claude Code автоматически переключится на резервную:
{
"model": "claude-opus-4-8",
"fallbackModel": ["claude-sonnet-4-6", "claude-haiku-4-5"]
}Цепочка — до трёх моделей, пробуются по порядку. Этот список не мержится между файлами настроек — работает только тот, что в файле с высшим приоритетом.
Для enterprise-деплоев можно ограничить доступные модели через managed-settings:
{
"availableModels": ["sonnet", "haiku"],
"enforceAvailableModels": true
}Тогда разработчики не смогут случайно переключиться на дорогую модель там, где бюджет этого не предусматривает.
See also
- Настройки и иерархия конфигурации — где прописывать
modelиeffortLevel, как они наследуются по уровням - Управление контекстным окном — Haiku ограничен 200k токенов, Sonnet и Opus дают 1M; это напрямую влияет на выбор модели для больших кодовых баз
- CLAUDE.md и система памяти — в CLAUDE.md можно указать агенту, при каких задачах запрашивать более мощную модель
- Промпт-кэширование, батчи и оптимизация затрат — как сократить расходы при работе с дорогими моделями через кэширование и batch API
- Субагенты и контекстная изоляция — субагентам можно назначить другую модель, чем у основной сессии; типичный паттерн — Haiku для рутинных подзадач
- Headless-режим и скриптинг через CLI —
--modelиANTHROPIC_MODELв CI/CD пайплайнах