Перейти к тексту

Claude Code: работа с coding-агентом2. Как устроен coding-агент

Модель и effort: что выбрать для задачи

Засчитывается, когда отвечены все вопросы квиза

Зачем это нужно

В ленте каждую неделю новая модель, которая «рвёт всех на бенчмарках», и кажется, что, не переключившись, вы отстаёте. А рядом в Claude Code есть второй регулятор — effort, и непонятно, крутить его на максимум или нет. Без понимания механики оба выбора делаются наугад: вы либо переплачиваете за простые задачи, либо получаете поверхностный результат там, где нужна глубина.

Как это устроено

Reasoning tokens. Модель выдаёт три вида output: текст, tool calls и рассуждение — thinking. Идея старая: если попросить модель расписать решение по шагам, она ошибается реже. Thinking — это такие шаги, только модель пишет их для себя. Claude Code по умолчанию сворачивает thinking; Ctrl+O включает verbose mode, и рассуждение видно серым курсивом. В интерактивной сессии на Anthropic API thinking по умолчанию приходит redacted, и раскрыть в нём нечего: полные summaries включает настройка showThinkingSummaries: true. Оплачиваются все thinking tokens, даже свёрнутые.

Effort управляет адаптивным рассуждением: модель сама решает, думать ли на каждом шаге и сколько, а уровень задаёт, насколько щедро. Уровни — low, medium, high, xhigh, max; какие из них доступны, зависит от модели. Если модель не поддерживает выбранный уровень, Claude Code берёт ближайший поддерживаемый уровень ниже. Шкала откалибрована для каждой модели отдельно, так что high у разных моделей — не одно и то же.

Документация описывает уровни так:

  • low — быстрые обмены, где вы проверяете каждый результат: мозговой штурм, первый набросок, переименование;
  • medium — повседневная инженерная работа с ясными рамками;
  • high — работа, где важна проверка и вероятны пограничные случаи, например исправление бага в существующем коде;
  • xhigh — более глубокое рассуждение ценой большего расхода токенов;
  • max — трудные задачи, которые Claude должен проработать без вас. Документация предупреждает: на max отдача может падать, а модель склонна передумывать — проверьте, прежде чем включать его везде.

Уровень по умолчанию у разных моделей разный; текущий видно в заголовке сессии рядом с именем модели («with low effort»). Задать его можно через /effort, слайдер в /model, флаг --effort при запуске или CLAUDE_CODE_EFFORT_LEVEL. Чтобы попросить глубокого рассуждения на один turn, не меняя настройку сессии, добавьте в промпт слово ultrathink.

Модель. В /model выбирают по алиасу, не запоминая версий: sonnet — для повседневного кодинга, opus — для сложного рассуждения, haiku — быстрая и экономная для простых задач, opusplan — opus в plan mode и sonnet при выполнении. Алиас указывает на рекомендованную версию и со временем обновляется; чтобы закрепить версию, укажите полное имя модели. Текущую модель показывает /status.

Цена задачи, а не цена токена. Больше effort — больше thinking tokens. Это не только деньги, но и время. Автор оригинала добавляет третью цену — контекст: по его опыту, чем больше токенов уходит на рассуждение, тем быстрее сессия приближается к зоне, где модель работает хуже. А дешёвая за токен модель, которой нужно втрое больше токенов и две попытки, может обойтись дороже. Сравнивайте, сколько стоит довести задачу до результата.

Мнение автора оригинала: модель — примерно половина успеха, вторая половина — harness и окружение. Любая модель из верхнего эшелона справится, если проект хорошо подготовлен, а вложения в окружение переживут смену модели. Поэтому выберите одну пару «модель + effort» и поработайте с ней: так вы быстрее научитесь её промптить, чем гоняясь за лидером рейтинга.

Практика

В Cadence дайте один и тот же промпт дважды, каждый раз в чистой сессии:

/effort low
Explore this repository and summarize its structure and main features.

Затем /clear, /effort high и тот же промпт. После каждого прогона откройте /usage и сравните output в строке Usage by model, а также время работы. Решите, стоила ли разница в глубине ответа разницы в токенах — для этой задачи.

Подводные камни

  • max не сохраняется. Если только вы не задали его через CLAUDE_CODE_EFFORT_LEVEL, Claude Code применяет max лишь к текущей сессии.
  • «think hard» — не команда. Ключевым словом Claude Code распознаёт только ultrathink; фразы вроде «think hard» уходят модели как обычный текст.
  • Смена effort посреди сессии касается prompt cache. Claude Code может показать предупреждение о кэше и попросить подтвердить переключение — не отмахивайтесь от него в длинной сессии.

Вывод: подбирайте модель и effort под задачу и смотрите на цену результата, а не на цену токена; глубина нужна там, где цена ошибки высока.

Проверь себя

Источники

Текст подготовлен с помощью LLM и может содержать неточности.