# Модель и усилия в Claude Code: больше знаний или больше стараний

Клуб обучения ИИ · Автор: Ирина Накисен

Канонический URL: https://www.sparkk.ru/g/ai-club/87
Читать в Telegram: https://t.me/iiinfo00bot?startapp=guide_87-src_web

---

Claude Code предлагает две настройки, которые будто бы «делают ответ лучше»: **модель** и **уровень усилий**. Но как именно они влияют на результат? Когда стоит выбрать другую модель, а когда — просто изменить усилия?

Легко предположить, что крупная модель вроде Fable даёт более умный результат, чем Sonnet, а высокий уровень усилий означает лишь то, что Claude дольше думает перед ответом.

Первое предположение верно: самые большие модели **более способны** — это подтверждают отраслевые бенчмарки.

Но усилия — не только «время на размышление». Они задают, **сколько работы Claude выполняет по запросу в целом**. Сюда входят:

- длительность размышлений;
- количество прочитанных файлов;
- объём проверок;
- глубина прохождения многошаговой задачи до обращения к вам.

При высоких усилиях Claude чаще читает файлы, запускает тесты и перепроверяет результат, прежде чем вернуться к вам. При низких усилиях он скорее запросит контекст, чем потратит токены на самостоятельное исследование.

## Как работает выбор модели

Чтобы понять, чем управляет настройка модели, начнём с момента, когда вы нажимаете Enter.

Claude Code объединяет ваше сообщение с системным промптом, определениями инструментов, файлом CLAUDE.md, историей диалога и файлами из контекста. Всё это отправляется в API одним запросом.

![Содержимое API-запроса](https://storage.yandexcloud.net/clubkit-media-prod/tenants/ai-club/gallery/98991dda21f74abab04aa292fc8c9c7f.webp)

Всё, что есть у Claude Code, упаковывается в один API-запрос. На сервере текст токенизируется ещё до того, как попадёт в модель.

Модель не видит это как обычный текст. Сначала происходит токенизация: текст разбивается на фрагменты, каждому соответствует целое число из фиксированного словаря, с которым обучалась модель. Например, `const` может соответствовать 1978, а `await` — 4293. После этого **ваш промпт — это массив целых чисел**.

![Токенизация](https://storage.yandexcloud.net/clubkit-media-prod/tenants/ai-club/gallery/8e08fbfecf724301b56b8b54a9ec82e9.webp)

Токенизатор делит текст на фрагменты и сопоставляет им номера в фиксированном словаре. Каждый фрагмент верхней строки превращается в свой ID нижней строки; показанные ID условны.

Задача модели — взять этот массив и предсказать следующий токен. Она вычисляет вероятность для каждого токена в словаре и выбирает один из наиболее вероятных. После `const x = await` хорошо обученная модель назначит высокую вероятность `fetch` и почти нулевую — `banana`.

![Вероятности токенов](https://storage.yandexcloud.net/clubkit-media-prod/tenants/ai-club/gallery/ee2f267feffc4d96b106643646e85ec9.webp)

Предсказание модели — это вероятность для каждого токена в её словаре. Разрыв между лучшим вариантом и нерелевантным огромен.

Преобразовать входные токены в эти вероятности помогают **веса** (или параметры): миллиарды чисел, организованных в большие матрицы. Для предсказания одного токена модель пропускает вход через длинную цепочку матричных умножений и считывает вероятности на выходе. **Именно в весах хранится всё, что модель «знает».**

Веса каждой модели задаются во время обучения и к моменту ваших запросов **доступны только для чтения**. Ни промпт, ни CLAUDE.md, ни контекст их не меняют. Инференс — это использование модели после завершения обучения, когда веса зафиксированы.

![Фиксированные веса](https://storage.yandexcloud.net/clubkit-media-prod/tenants/ai-club/gallery/92a84c164a274c5e806d8375d1b5c7ec.webp)

Ваш промпт поступает на вход, вероятности — на выход. Веса посередине не меняются.

Всё, что Claude знает о TypeScript, популярных фреймворках и общем программировании, было закодировано в этих весах при обучении.

Промпт и контекст всё ещё могут направлять предсказание. Дать Claude ваш реальный код — эффективный способ направить его, но это не добавляет ничего в сами веса.

Если библиотека появилась после обучения модели, её нет в весах. Можно поместить документацию в контекст, и Claude ею воспользуется, но это **направление, а не обучение**. Ответ будет учитывать её только в текущем запросе, а базовая модель ничего не сохранит.

Когда Claude уверенно вызывает несуществующий API — это галлюцинация: веса сгенерировали последовательность, правдоподобную по паттернам обучения, а не «неудачный поиск».

Так что же меняет выбор модели? Он **заменяет набор фиксированных весов**, который обрабатывает ваш запрос.

Модель не генерирует весь ответ сразу: она предсказывает один токен, добавляет его к последовательности и снова запускает вычисление для следующего. Ответ из 200 токенов требует 200 отдельных проходов через веса. Этот цикл занимает большую часть времени ожидания и определяет стоимость выходных токенов.

![Генерация по одному токену](https://storage.yandexcloud.net/clubkit-media-prod/tenants/ai-club/gallery/3ffc4a6dda6848269474fbf9ed3040ca.webp)

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

Настройка модели выбирает веса для запроса и цену каждого выходного токена. Она не определяет, **сколько** токенов будет сгенерировано: это может сильно отличаться для одного и того же промпта — в зависимости от объёма работы, который решит выполнить Claude.

Именно этим управляют усилия.

## Как работают усилия

Пока Claude Code выполняет задачу, генерируемые токены относятся к нескольким категориям:

- **Размышления:** рассуждения, которые вы видите перед действиями и между ними.
- **Вызовы инструментов:** структурированные блоки с названием инструмента, например Read или Edit, и его аргументами; Claude Code их разбирает и исполняет.
- **Текст для вас:** план, обновления о ходе работы и итоговая сводка.

Все они — обычные выходные токены одного и того же цикла и тарифицируются одинаково. Токены размышлений генерируются так же, как остальные, и остаются в контексте до конца хода.

Когда Claude переходит к написанию кода, его предыдущее рассуждение становится частью входа — так же, как прочитанный файл.

![Типы выходных токенов](https://storage.yandexcloud.net/clubkit-media-prod/tenants/ai-club/gallery/d042736b88984dee94e59bf091dd448b.webp)

Как же усилия меняют это поведение? Уровень усилий **отправляется модели как часть запроса**, рядом с вашим промптом. Модель обучена понимать, как вести себя на каждом уровне; это выученное поведение уже зашито в фиксированных весах.

При поступлении запроса усилия — ещё один вход, на который модель реагирует так же, как на текст промпта. Они определяют требуемую тщательность и уверенность перед признанием задачи завершённой. Это взвешивается на каждом шаге; для большей уверенности нужно больше токенов.

![Сравнение уровней усилий](https://storage.yandexcloud.net/clubkit-media-prod/tenants/ai-club/gallery/33d9bfba6a764c4b8b5432bee76cfa34.webp)

При высоких усилиях Claude часто начинает с плана, и уровень влияет на его глубину и ширину. Но план не застывает: получая результаты действий, Claude обновляет представление о прогрессе и уверенности в результате.

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

Высокие усилия повышают вероятность перепроверки: например, проверки найденного ответа или оставшихся гипотез. Но на простой задаче Claude обычно не будет искусственно раздувать расход только из-за повышенного уровня. «Избыточное обдумывание» команда отслеживает при обучении, поскольку оно снижает эффективность.

## Как выбрать уровень усилий

Для большинства задач используйте **уровень усилий модели по умолчанию**. Он рассчитан на объём токенов, который большинство людей готово тратить на задачу.

Считайте усилия ручной настройкой того, насколько долго и глубоко Claude работает. Меняйте их осознанно, когда у вас есть устойчивое предпочтение к тщательности или скорости в вашем домене; это скорее общая настройка, чем решение для каждой отдельной задачи.

После выхода Opus 4.8 практическая деталь: в тестировании значение усилий по умолчанию у Opus 4.8 давало лучшие результаты примерно при том же числе токенов, что и значение по умолчанию у Opus 4.7 на той же задаче.

## Что менять, когда Claude ошибается

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

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

Но предположим, контекст ясен, а Claude всё равно ошибается. Спросите себя: **он недостаточно постарался или недостаточно знал?**

![Модель и усилия](https://storage.yandexcloud.net/clubkit-media-prod/tenants/ai-club/gallery/5eeb09ecaadf4cafba33f4e8b844ff25.webp)

### Модель: задача была слишком сложной

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

Крупные модели лучше справляются и с неоднозначностью. Для маленьких моделей более конкретные инструкции, направляющие выполнение, обычно дают лучший результат.

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

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

### Усилия: Claude недостаточно постарался

Выбирайте более высокий уровень усилий, если ошибка возникла из-за недостаточной тщательности: Claude пропустил файл, не запустил тесты или не перепроверил результат. Это особенно актуально, если был выбран уровень ниже стандартного.

## Специалист, эксперт и универсал

Полезная метафора: Fable — специалист для проблем, с которыми почти никто не справляется; Opus — эксперт; Sonnet — очень хороший универсал. Уровень усилий определяет, сколько времени каждый из них потратит на вашу задачу.

Opus на низких усилиях — это пять минут с экспертом, который глубоко знаком с подобными проблемами. Он приносит знания, которых нет в кодовой базе: знакомые паттерны, известные ловушки, опыт решения множества похожих задач. Но пять минут — это быстрый взгляд на код, а не внимательное чтение каждого файла.

Sonnet на высоких усилиях — универсал, у которого есть целый день. Он хорошо пишет код, прочитает всё, запустит проверки, перепроверит работу и досконально разберётся в вашем конкретном проекте.

Fable — специалист, которого зовут, когда остальные зашли в тупик. Даже на низких усилиях он заметит то, чего не увидят другие. За это распознавание вы платите больше всего, поэтому его стоит оставлять для задач, которые действительно этого требуют.

Ни одна из этих настроек не «лучше» всегда. Модель — это приблизительно **способности**, а усилия — приблизительно **тщательность**. Большинству реальных задач нужно и то, и другое.

## Усилия, модель и расход токенов

Как взаимодействуют выбор модели, усилия и расход токенов? Это зависит от задачи.

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

![Простая задача](https://storage.yandexcloud.net/clubkit-media-prod/tenants/ai-club/gallery/c8ee31a61cb446ebb35c5af5ddd13721.webp)

Кривые приведены только для иллюстрации и относятся к одной простой задаче, которую обе модели могут выполнить быстро. Это не реальные данные бенчмарков.

На сложной многошаговой работе ситуация меняется. Меньшая модель вынуждена приближаться к пределу своих возможностей и тратить итерации, тогда как большая достигает того же уровня качества за меньшее число шагов.

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

Это особенно заметно у Fable. На длинной многошаговой работе она сильнее всего выходит вперёд. В тестировании она завершала задачи, до которых Opus и Sonnet не доходили ни при каком уровне усилий. При этом у неё самая высокая цена за токен — ещё одна причина оставлять её для работы, которой она действительно нужна.

![Сложная задача](https://storage.yandexcloud.net/clubkit-media-prod/tenants/ai-club/gallery/ed095bd589e4428683980a91659a3d7d.webp)

Кривые приведены только для иллюстрации и относятся к одной сложной задаче, которая нагружает обе модели. Это не реальные данные бенчмарков.

Главная мысль графиков: усилия выбирают, как далеко Claude готов продвигаться по кривой. Это не означает, что ему обязательно придётся пройти весь этот путь, чтобы завершить задачу.

Наконец, усилия формируют расход токенов, но не устанавливают его жёсткий потолок. Единственный жёсткий лимит — [max_tokens](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#max-tokens-and-context-window-size-with-extended-thinking): при достижении он обрывает ответ на середине. Это грубый инструмент, в основном важный для API-разработчиков. Мягкие механизмы — например, [бюджеты задач](https://platform.claude.com/docs/en/build-with-claude/task-budgets#task-budgets-are-advisory-not-enforced) или просьба отвечать кратко — полезнее. Это ориентиры, которым модель обучена следовать: приближаясь к лимиту, она старается завершить ответ, а не упирается в стену.

**Усилия меняют объём работы Claude. Модель меняет то, что Claude знает.**

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

Если Claude всё равно ошибается, спросите себя: ему не хватило знаний или старания? Нехватка знаний — проблема модели; недостаток старания — проблема уровня усилий.

---

Источник: [ClaudeDevs в X](https://x.com/ClaudeDevs/status/2074900291062034618). Автор оригинала — [@lydiahallie](https://x.com/@lydiahallie), член технической команды Claude Code.
