Расширенное мышление в ручном режиме даёт вам прямой контроль над тем, сколько Claude размышляет. Вы задаёте бюджет токенов мышления в каждом запросе с помощью thinking: {type: "enabled", budget_tokens: N}, и Claude размышляет в рамках этого бюджета, прежде чем начать формировать окончательный ответ. Ручной режим остаётся полезным, когда ваша рабочая нагрузка требует предсказуемой задержки или точного контроля над стоимостью мышления. На этой странице описано, как задавать и настраивать бюджет, как ручной режим взаимодействует с чередующимся мышлением и кэшированием подсказок, а также как выполнить миграцию на адаптивное мышление.
О том, как работает само мышление, включая блоки мышления и структуру ответа, параметр display, потоковую передачу, мышление с использованием инструментов и шифрование, см. в обзоре мышления.
Доступность расширенного мышления для каждой модели, включая модели, где расширенное мышление является единственным режимом, приведена в таблице конфигурации по моделям.
Вот пример использования расширенного мышления в Messages API:
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=16000,
thinking={"type": "enabled", "budget_tokens": 10000},
messages=[
{
"role": "user",
"content": "Are there an infinite number of prime numbers such that n mod 4 == 3?",
}
],
)
# Ответ содержит блоки с кратким изложением мышления и текстовые блоки
for block in response.content:
match block.type:
case "thinking":
print(f"\nThinking summary: {block.thinking}")
case "text":
print(f"\nResponse: {block.text}")Чтобы включить ручное расширенное мышление, добавьте объект thinking с параметром type, установленным в enabled, и значением budget_tokens.
Параметр budget_tokens задаёт целевое количество токенов, которое Claude может использовать для своего внутреннего процесса рассуждения. Более крупные бюджеты могут улучшить качество ответа, обеспечивая более тщательный анализ сложных задач.
budget_tokens должен удовлетворять следующим ограничениям:
max_tokens. Токены мышления учитываются в лимите max_tokens для данного хода, поэтому бюджет должен оставлять место для окончательного ответа. Единственное исключение — чередующееся мышление, где budget_tokens может превышать max_tokens, поскольку бюджет охватывает все блоки мышления в рамках одного хода ассистента.budget_tokens должен быть меньше max_tokens, расширенное мышление нельзя сочетать с max_tokens: 0 (предварительный прогрев кэша).Бюджет — это целевое значение, а не строгий лимит. Фактическое использование токенов зависит от задачи, и Claude может прекратить рассуждение задолго до исчерпания бюджета; max_tokens остаётся жёстким потолком для общего объёма вывода.
В Claude Opus 4.5 — единственной модели, поддерживающей только расширенное мышление и при этом поддерживающей параметр effort, — effort формирует общий ответ, а budget_tokens задаёт глубину мышления; задавайте оба параметра.
Для настройки бюджета:
Чтобы отслеживать, во что фактически обходится бюджет, следите за полем usage.output_tokens_details.thinking_tokens в ответе, которое сообщает, сколько из оплачиваемых выходных токенов пришлось на внутреннее рассуждение. При потоковой передаче эта разбивка появляется только в финальном событии message_delta.
Когда вы будете готовы отказаться от ручных бюджетов, см. раздел Миграция на адаптивное мышление.
«Interleaved thinking» (чередующееся мышление) позволяет Claude размышлять между вызовами инструментов в рамках одного хода ассистента, анализируя результат каждого инструмента перед принятием решения о дальнейших действиях. Концепцию, структуру хода и поведение на моделях с адаптивным мышлением см. в разделе чередующееся мышление в обзоре мышления. В этом разделе описано, как включить его при использовании ручного мышления type: "enabled".
В Claude Opus 4.5, Claude Sonnet 4.5 и более ранних моделях Claude 4 (Claude Opus 4.1, Claude Opus 4 и Claude Sonnet 4) добавьте бета-заголовок interleaved-thinking-2025-05-14 к вашему запросу API.
Поколение 4.6 разделяется в ручном режиме:
type: "enabled" всё ещё функционирует, но устарел. Предпочтительнее использовать адаптивное мышление, которое чередуется автоматически без заголовка.thinking: {type: "adaptive"}, если вам нужно рассуждение между вызовами инструментов на этой модели.Claude Haiku 4.5 не поддерживает чередующееся мышление. В Claude API бета-заголовок принимается, но игнорируется.
Ещё два соображения для чередующегося мышления в ручном режиме:
budget_tokens здесь может превышать max_tokens; это исключение объясняется в правилах бюджета.Платформы по-разному обрабатывают бета-заголовок. Claude API и Claude Platform на AWS принимают interleaved-thinking-2025-05-14 на любой модели и игнорируют его там, где он не поддерживается. Принятие — не то же самое, что действие: на моделях, которые отклоняют type: "enabled" (4.7 и новее) или не имеют чередования в ручном режиме (Claude Opus 4.6), заголовок не оказывает влияния в ручном режиме; адаптивное мышление там чередуется автоматически.
Партнёрские платформы (Amazon Bedrock и Google Cloud) аналогично принимают заголовок на любой модели без возврата ошибки и игнорируют его на моделях, которые не поддерживают чередующееся мышление.
Общие правила структуры хода, включая цикл использования инструментов в рамках одного хода, обработку конфликтов в середине хода и переключение мышления между ходами, описаны в разделе Мышление с использованием инструментов.
Ручной режим добавляет одно требование: финальный ход ассистента в запросе с включённым мышлением должен начинаться с блока мышления (адаптивное мышление снимает это требование). Изменение конфигурации мышления между ходами также делает недействительным кэширование подсказок; см. следующий раздел.
Ручной режим добавляет одно правило поверх нейтрального к режиму поведения кэширования, описанного в разделе мышление и кэширование подсказок: изменение budget_tokens между запросами делает недействительными точки разрыва кэша, так же как и переключение режимов мышления, поскольку значение бюджета отображается в подсказке. Точки разрыва на уровне сообщений всегда промахиваются после изменения бюджета; промахнутся ли также точки разрыва инструментов и системной подсказки, зависит от того, где модель отображает конфигурацию.
На практике выберите бюджет и сохраняйте его стабильным на протяжении всего кэшированного разговора. Запуск многоходового разговора с кэшированием на уровне сообщений в Claude Sonnet 4.6 и изменение бюджета в третьем запросе с 4 000 до 8 000 токенов напрямую демонстрирует инвалидацию:
First request - establishing cache
First response usage: { cache_creation_input_tokens: 1370, cache_read_input_tokens: 0, input_tokens: 17, output_tokens: 700 }
Second request - same thinking parameters (cache hit expected)
Second response usage: { cache_creation_input_tokens: 0, cache_read_input_tokens: 1370, input_tokens: 303, output_tokens: 874 }
Third request - different thinking budget (cache miss expected)
Third response usage: { cache_creation_input_tokens: 1370, cache_read_input_tokens: 0, input_tokens: 747, output_tokens: 619 }Третий запрос пересоздаёт кэш (cache_creation_input_tokens=1370, cache_read_input_tokens=0), поскольку бюджет изменился между запросами. Исполняемую версию того же эксперимента в адаптивном режиме, где уровень effort играет ту же роль для кэша, что и budget_tokens здесь, см. в разделе Кэширование подсказок на странице управления мышлением.
Большая часть поведения мышления нейтральна к режиму и задокументирована один раз на странице Мышление. Всё описанное там применимо и в ручном режиме:
Если ваша модель поддерживает только расширенное мышление (Claude Sonnet 4.5, Claude Opus 4.5, Claude Haiku 4.5 и более ранние модели Claude 4), никаких действий сейчас не требуется: адаптивное мышление там недоступно, и type: "adaptive" возвращает ошибку 400. Продолжайте использовать budget_tokens, пока не перейдёте на модель, поддерживающую адаптивное мышление, а затем примените приведённое ниже сопоставление.
Вам необходимо мигрировать с type: "enabled", если:
budget_tokens устарел.type: "enabled" возвращает ошибку 400.Сопоставление невелико: удалите budget_tokens, установите thinking: {type: "adaptive"} и управляйте глубиной рассуждения с помощью output_config: {effort: ...} вместо бюджета токенов.
{
"model": "claude-sonnet-4-6",
"max_tokens": 16000,
"thinking": {
"type": "enabled",
"budget_tokens": 10000
}
}становится:
{
"model": "claude-sonnet-4-6",
"max_tokens": 16000,
"thinking": {
"type": "adaptive"
},
"output_config": {
"effort": "high"
}
}effort: "high" соответствует значению API по умолчанию; оно приведено здесь только для того, чтобы показать, где теперь находится управление глубиной, и его пропуск даёт идентичное поведение.
Ожидайте поведенческого различия, а не просто изменения синтаксиса. При фиксированном бюджете Claude размышляет при каждом запросе. При адаптивном мышлении Claude решает, размышлять ли и сколько, для каждого запроса, и при более низких настройках effort может полностью пропустить мышление на простых входных данных. Вы также можете удалить бета-заголовок interleaved-thinking-2025-05-14 после миграции: адаптивное мышление чередуется автоматически, и Claude API игнорирует этот заголовок на этих моделях. Сохранение блоков мышления также меняется: Claude Opus 4.5 и модели с номером 4.6 и выше сохраняют блоки мышления предыдущих ходов в контексте и тарифицируют их как входные данные, тогда как Claude Sonnet 4.5, Claude Haiku 4.5 и более ранние модели их удаляли; см. раздел сохранение блоков мышления по моделям.
Переключение режимов — это изменение конфигурации мышления, поэтому первый запрос после переключения делает недействительными точки разрыва кэша, как описано в разделе Кэширование подсказок в ручном режиме.
Полное руководство см. в разделах адаптивное мышление, effort и руководство по миграции моделей.
Узнайте, как работает мышление: блоки, отображение, потоковая передача и использование инструментов.
Позвольте Claude решать, когда и сколько размышлять при каждом запросе.
Сохраняйте блоки мышления и управляйте мышлением между вызовами инструментов и ходами.
Was this page helpful?