Модель в Claude Code выбирают на своих задачах: команда берёт три-четыре типовые правки из репозитория, прогоняет их на разных алиасах и сравнивает diff, результат тестов и расход. Общий рейтинг моделей отвечает на вопрос о среднем разработчике, а ваш вопрос касается конкретного кода, конкретных тестов и конкретной привычки ревьюера. Такой выбор уместен, когда у репозитория есть автоматические тесты, иначе сравнивать приходится на глаз.

Способы выбора

TL;DR

Переключить модель можно четырьмя путями: командой /model внутри сессии, флагом claude --model при запуске, переменной ANTHROPIC_MODEL и полем model в файле настроек. Вместо номера версии удобнее брать алиас: opus, sonnet, haiku, opusplan или другой из списка в /model.

Порядок приоритета описан в документации Claude Code по настройке моделей: команда внутри сессии перебивает флаг запуска, флаг перебивает переменную окружения, переменная перебивает файл настроек. Для эксперимента этого достаточно: запускаете сессию с нужным флагом, а в середине задачи меняете выбор через /model. Привычка фиксировать алиас в настройках проекта пригодится позже, когда выбор будет сделан и закреплён за командой.

  • sonnet — алиас для повседневной разработки: правки, тесты, небольшие рефакторинги.
  • opus — алиас для задач, где нужно длинное рассуждение: чужой модуль, запутанная ошибка, архитектурное решение.
  • haiku — быстрый вариант для механических операций вроде переименования или массовой правки по шаблону.
  • opusplan — связка, в которой планирование идёт на одной модели, а исполнение плана на другой.
  • Суффикс [1m] включает расширенное окно контекста там, где версия модели его поддерживает.

Какая модель стоит по умолчанию, зависит от типа учётной записи: подписка и доступ через API дают разные стартовые значения, а список доступных вариантов может отличаться между аккаунтами. Поэтому в отчёте о сравнении запишите алиас вместе с полным именем, которое показал /model в вашей сессии. Без этой записи через месяц невозможно понять, что именно вы сравнивали.

Тестовые задачи

Сравнение моделей начинается с набора задач, а выбор модели идёт вторым шагом. Возьмите репозиторий, в котором тесты запускаются одной командой, и подготовьте три задачи разного веса. Первая: локальная правка в одном файле, например поменять формат даты в выгрузке. Вторая: исправление падающего теста, причина которого лежит в соседнем модуле. Третья: рефакторинг, затрагивающий несколько файлов и сохраняющий поведение. Каждую задачу сформулируйте письменно, чтобы одинаковый текст получили все модели.

Текст задачи заслуживает отдельного внимания. Укажите файлы, в которых разрешено менять код, команду запуска тестов и признак готовности, например «все тесты модуля проходят, публичные имена остались прежними». Чем точнее критерий, тем меньше результат зависит от догадок модели, и тем яснее видна разница между моделями без примеси разных формулировок.

  1. Создайте отдельную ветку или рабочее дерево git на каждую модель и каждую задачу, чтобы результаты лежали рядом и оставались раздельными.
  2. Запустите claude --model sonnet, затем claude --model opus и вставьте один и тот же текст задачи. Контекст CLAUDE.md и права доступа держите одинаковыми.
  3. После завершения задачи запустите тесты сами, отдельным вызовом. Отчёт агента об успешных тестах считайте заявлением; доказательство даёт только ваш прогон.
  4. Сохраните diff, вывод тестов и расход токенов по /usage для каждой пары «задача и модель» в общую таблицу.

Повторить прогон на одной и той же паре полезно хотя бы дважды: ответы модели различаются от запуска к запуску, и единичный удачный результат вводит в заблуждение. Если тесты репозитория нестабильны, исправьте это до сравнения, иначе вы сравниваете шум. Похожий подход к другому инструменту разобран в статье про выбор модели в Cursor на тестовом наборе: набор задач там строится по тем же правилам.

Чтение diff

Прошли тесты или нет, решает только первую половину. Вторая половина: насколько diff удобно читать и принимать. Короткий точечный diff, который меняет ровно то, что просили, экономит ревьюеру внимание. Длинный diff с попутной переделкой соседних функций требует отдельной проверки каждого куска, даже если тесты зелёные. Читайте результат так, как читаете чужой pull request, и фиксируйте замечания по одной схеме.

ПризнакЧто смотретьЧто записать
Объём правкиЧисло изменённых файлов и строк против размера задачиЛишние файлы и попутные переименования
Соответствие стилюИменование, форматирование, привычные в репозитории приёмыМеста, где пришлось править руками
ТестыПрошли ли существующие, добавлены ли новые, проверяют ли они поведениеТесты, которые подгоняют код под ответ
ОбъяснениеСовпадает ли описание агента с реальным diffУтверждения без подтверждения в коде

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

Когда мнения ревьюеров расходятся, добавьте в таблицу колонку «принял бы без правок / принял бы с правками / отклонил». Три ответа от двух-трёх человек дают картину честнее, чем единичная оценка автора эксперимента.

● Discovery · 1 час · бесплатно

Какую задачу вашего репозитория вы бы прогнали первой?

Прийти на Discovery →

Расход и рассуждение

Помимо алиаса качество и расход меняет уровень рассуждения. Команда /effort принимает значения от low до max: на низком уровне агент отвечает быстрее и дешевле, на высоком тратит больше токенов на размышление. Для честного сравнения фиксируйте уровень одинаковым у всех моделей, а затем отдельным прогоном проверьте, меняет ли повышение уровня результат на вашей самой трудной задаче.

Расход смотрите по счётчику самой сессии: окно /usage показывает токены текущей сессии, а на подписке ещё и использование плана. Подробнее о том, как лимиты прерывают длинные задачи и как планировать работу при них, написано в материале про лимиты Claude Code и контроль расхода. Цены и квоты вендора меняются, поэтому актуальные значения берите со страницы тарифов самого сервиса, а в таблице эксперимента храните относительные величины: сколько токенов ушло на каждую задачу у каждой модели.

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

Решение для команды

По итогам прогона у вас окажется таблица из задач, моделей, ссылок на diff и оценок ревьюеров. Решение обычно выглядит как правило распределения, а единого ответа «лучшая модель» нет: механические правки идут на быстрый алиас, повседневные задачи на средний, сложные расследования на старший или на связку с планированием. Правило записывают в общий файл CLAUDE.md репозитория, как это делает команда с единым контуром Claude Code, чтобы новичку хватало файла вместо догадок.

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

Если часть сотрудников работает через собственные подписки, а часть через ключи, выбор модели придётся сверять с тем, что реально доступно каждому. Запишите в правило алиас и запасной вариант на случай, когда основной временно недоступен или упёрся в лимит. Тогда прерывание задачи превращается в переключение, а работа продолжается по уже известной процедуре.

// с чего начать

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

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

Как сменить модель в Claude Code?
Внутри сессии введите /model и выберите вариант в списке либо укажите алиас, например /model sonnet. При запуске используйте флаг claude --model opus. Постоянный выбор задаётся переменной ANTHROPIC_MODEL или полем model в файле настроек.
Какие алиасы моделей есть в Claude Code?
Среди алиасов в документации default, sonnet, opus, haiku и opusplan, есть и суффикс [1m] для расширенного контекста. Набор вариантов зависит от версии Claude Code и вашей учётной записи, поэтому сверяйтесь со списком в /model.
Какая модель Claude Code лучше для кода?
Единого ответа нет: результат зависит от репозитория, тестов и сложности задачи. Прогоните три-четыре типовые правки на двух алиасах и сравните diff, тесты и расход. Механические правки часто идут на быстром алиасе, трудные расследования на старшем.
Что делает режим opusplan?
Это алиас связки, в которой планирование выполняет одна модель, а исполнение плана другая. Он подходит для задач, где сначала нужен продуманный план, а затем длинная серия правок. Эффект проверьте на своих задачах и сверяйте с описанием.
Как узнать расход при выборе модели?
Откройте окно /usage в сессии и записывайте расход после каждой задачи. Цифры тарифов берите со страницы вендора, потому что они меняются. В таблице сравнения храните относительные величины по каждой паре «задача и модель».