Адаптивное мышление — это рекомендуемый способ использования расширенного мышления с Claude Opus 4.6. Вместо того чтобы вручную устанавливать бюджет токенов мышления, адаптивное мышление позволяет Claude динамически решать, когда и сколько думать на основе сложности каждого запроса.
Адаптивное мышление надежно обеспечивает лучшую производительность, чем расширенное мышление с фиксированным budget_tokens, и мы рекомендуем перейти на адаптивное мышление, чтобы получить наиболее интеллектуальные ответы от Opus 4.6. Заголовок бета-версии не требуется.
Адаптивное мышление поддерживается на следующих моделях:
claude-opus-4-6)thinking.type: "enabled" и budget_tokens устарели на Opus 4.6 и будут удалены в будущем выпуске модели. Используйте thinking.type: "adaptive" с параметром effort вместо этого.
Более старые модели (Sonnet 4.5, Opus 4.5 и т. д.) не поддерживают адаптивное мышление и требуют thinking.type: "enabled" с budget_tokens.
В адаптивном режиме мышление является необязательным для модели. Claude оценивает сложность каждого запроса и решает, думать ли и сколько думать. На уровне усилий по умолчанию (high), Claude почти всегда будет думать. На более низких уровнях усилий Claude может пропустить мышление для более простых задач.
Адаптивное мышление также автоматически включает чередующееся мышление. Это означает, что Claude может думать между вызовами инструментов, что делает его особенно эффективным для рабочих процессов агентов.
Установите thinking.type на "adaptive" в вашем запросе API:
Вы можете объединить адаптивное мышление с параметром effort, чтобы направить, сколько Claude будет думать. Уровень усилий служит мягким руководством для распределения мышления Claude:
| Уровень усилий | Поведение мышления |
|---|---|
max | Claude всегда думает без ограничений на глубину мышления. Только Opus 4.6 — запросы, использующие max на других моделях, вернут ошибку. |
high (по умолчанию) | Claude всегда думает. Обеспечивает глубокое рассуждение на сложных задачах. |
medium | Claude использует умеренное мышление. Может пропустить мышление для очень простых запросов. |
low | Claude минимизирует мышление. Пропускает мышление для простых задач, где скорость имеет наибольшее значение. |
Адаптивное мышление работает безупречно с потоковой передачей. Блоки мышления передаются через события thinking_delta так же, как в режиме ручного мышления:
| Режим | Конфигурация | Доступность | Когда использовать |
|---|---|---|---|
| Адаптивное | thinking: {type: "adaptive"} | Opus 4.6 | Claude решает, когда и сколько думать. Используйте effort для руководства. |
| Ручное | thinking: {type: "enabled", budget_tokens: N} | Все модели. Устарело на Opus 4.6 — используйте адаптивный режим вместо этого. | Когда вам нужен точный контроль над расходом токенов мышления. |
| Отключено | Опустите параметр thinking | Все модели | Когда вам не нужно расширенное мышление и вы хотите минимальную задержку. |
Адаптивное мышление в настоящее время доступно на Opus 4.6. Более старые модели поддерживают только type: "enabled" с budget_tokens. На Opus 4.6 type: "enabled" с budget_tokens по-прежнему принимается, но устарело — мы рекомендуем использовать адаптивное мышление с параметром effort вместо этого.
При использовании адаптивного мышления предыдущие ходы ассистента не должны начинаться с блоков мышления. Это более гибко, чем ручной режим, где API требует, чтобы ходы с включенным мышлением начинались с блока мышления.
Последовательные запросы, использующие адаптивное мышление, сохраняют точки разрыва кэша подсказок. Однако переключение между режимами адаптивного и включенного/отключенного мышления нарушает точки разрыва кэша для сообщений. Системные подсказки и определения инструментов остаются кэшированными независимо от изменений режима.
Поведение срабатывания адаптивного мышления можно настроить через подсказку. Если Claude думает чаще или реже, чем вам хотелось бы, вы можете добавить руководство в вашу системную подсказку:
Extended thinking adds latency and should only be used when it
will meaningfully improve answer quality — typically for problems
that require multi-step reasoning. When in doubt, respond directly.Направление Claude думать реже может снизить качество на задачах, которые выигрывают от рассуждений. Измерьте влияние на ваши конкретные рабочие нагрузки перед развертыванием настройки на основе подсказок в производство. Рассмотрите возможность сначала протестировать с более низкими уровнями усилий.
Используйте max_tokens как жесткий лимит на общий результат (мышление + текст ответа). Параметр effort обеспечивает дополнительное мягкое руководство по тому, сколько мышления выделяет Claude. Вместе они дают вам эффективный контроль над затратами.
На уровнях усилий high и max Claude может думать более обширно и с большей вероятностью исчерпать бюджет max_tokens. Если вы наблюдаете stop_reason: "max_tokens" в ответах, рассмотрите возможность увеличения max_tokens, чтобы дать модели больше места, или снизьте уровень усилий.
Следующие концепции применяются ко всем моделям, поддерживающим расширенное мышление, независимо от того, используете ли вы адаптивный или ручной режим.
With extended thinking enabled, the Messages API for Claude 4 models returns a summary of Claude's full thinking process. Summarized thinking provides the full intelligence benefits of extended thinking, while preventing misuse. This is the default behavior when the display field on the thinking configuration is unset or set to "summarized".
Here are some important considerations for summarized thinking:
Claude Sonnet 3.7 continues to return full thinking output.
In rare cases where you need access to full thinking output for Claude 4 models, contact our sales team.
Full thinking content is encrypted and returned in the signature field. This field is used to verify that thinking blocks were generated by Claude when passed back to the API.
It is only strictly necessary to send back thinking blocks when using tools with extended thinking. Otherwise you can omit thinking blocks from previous turns, or let the API strip them for you if you pass them back.
If sending back thinking blocks, we recommend passing everything back as you received it for consistency and to avoid potential issues.
Here are some important considerations on thinking encryption:
signature_delta inside a content_block_delta event just before the content_block_stop event.signature values are significantly longer in Claude 4 models than in previous models.signature field is an opaque field and should not be interpreted or parsed.signature values are compatible across platforms (Claude APIs, Amazon Bedrock, and Vertex AI). Values generated on one platform will be compatible with another.For complete pricing information including base rates, cache writes, cache hits, and output tokens, see the pricing page.
The thinking process incurs charges for:
When extended thinking is enabled, a specialized system prompt is automatically included to support this feature.
When using summarized thinking:
When using display: "omitted":
thinking field is empty)The billed output token count will not match the visible token count in the response. You are billed for the full thinking process, not the thinking content visible in the response.
Страница расширенного мышления охватывает несколько тем более подробно с примерами кода, специфичными для режима:
tool_choice при активном мышлении.adaptive и enabled/disabled нарушает точки разрыва кэша для сообщений (системные подсказки и определения инструментов остаются кэшированными).max_tokens и ограничениями размера контекстного окна.Was this page helpful?
curl https://api.anthropic.com/v1/messages \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "content-type: application/json" \
--data \
'{
"model": "claude-opus-4-6",
"max_tokens": 16000,
"thinking": {
"type": "adaptive"
},
"messages": [
{
"role": "user",
"content": "Explain why the sum of two even numbers is always even."
}
]
}'import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-6",
max_tokens=16000,
thinking={
"type": "adaptive"
},
output_config={
"effort": "medium"
},
messages=[{
"role": "user",
"content": "What is the capital of France?"
}]
)
print(response.content[0].text)import anthropic
client = anthropic.Anthropic()
with client.messages.stream(
model="claude-opus-4-6",
max_tokens=16000,
thinking={"type": "adaptive"},
messages=[{"role": "user", "content": "What is the greatest common divisor of 1071 and 462?"}],
) as stream:
for event in stream:
if event.type == "content_block_start":
print(f"\nStarting {event.content_block.type} block...")
elif event.type == "content_block_delta":
if event.delta.type == "thinking_delta":
print(event.delta.thinking, end="", flush=True)
elif event.delta.type == "text_delta":
print(event.delta.text, end="", flush=True)Узнайте больше о расширенном мышлении, включая ручной режим, использование инструментов и кэширование подсказок.