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 под задачу и смотрите на цену результата, а не на цену токена; глубина нужна там, где цена ошибки высока.
Проверь себя
Вам нужно переименовать функцию в десятке файлов, и каждый diff вы всё равно проверите сами. Какой effort разумнее?
low
high
max
low
для быстрых обменов, где вы проверяете каждый результат, включая переименования. Глубокое рассуждение здесь не окупит лишние thinking tokens, а effort влияет и на расход, и на качество, не только на скорость.
Модель A дешевле модели B за миллион токенов. Почему A не обязательно дешевле для вашей задачи?
Вы написали в промпте «think hard, это важно». Что сделает Claude Code?
high
на этот turn
opus
ultrathink
. Остальные фразы вроде «think hard» уходят в промпт как обычный текст и уровень effort не меняют.
Почему высокий effort может ухудшить длинную сессию, а не только удорожить её?
Источники
- Anthropic, Model configuration
- Anthropic, Manage costs effectively
- По мотивам AI Coding Crash Course, AI Hero
Текст подготовлен с помощью LLM и может содержать неточности.