Was this page helpful?
This feature is eligible for Zero Data Retention (ZDR). When your organization has a ZDR arrangement, data sent through this feature is not stored after the API response is returned.
Адаптивное мышление — это рекомендуемый способ использования расширенного мышления с Claude Opus 4.7, Claude Opus 4.6 и Claude Sonnet 4.6, и это режим по умолчанию на Claude Mythos Preview (где он автоматически применяется, когда thinking не установлен). Вместо того чтобы вручную устанавливать бюджет токенов мышления, адаптивное мышление позволяет Claude динамически определять, когда и в какой степени использовать расширенное мышление на основе сложности каждого запроса. На Claude Opus 4.7 адаптивное мышление — это единственный поддерживаемый режим мышления; ручное thinking: {type: "enabled", budget_tokens: N} больше не принимается.
Адаптивное мышление может обеспечить лучшую производительность, чем расширенное мышление с фиксированным budget_tokens для многих рабочих нагрузок, особенно для бимодальных задач и долгосрочных агентских рабочих процессов. Заголовок бета-версии не требуется.
Если ваша рабочая нагрузка требует предсказуемой задержки или точного контроля над затратами на мышление, расширенное мышление с budget_tokens по-прежнему функционально на Claude Opus 4.6 и Claude Sonnet 4.6, но является устаревшим и больше не рекомендуется. См. предупреждение ниже.
Адаптивное мышление поддерживается на следующих моделях:
claude-mythos-preview), адаптивное мышление является режимом по умолчанию; thinking: {type: "disabled"} не поддерживаетсяclaude-opus-4-7), адаптивное мышление — единственный поддерживаемый режим мышления. Мышление отключено, если вы явно не установите thinking: {type: "adaptive"} в вашем запросе; ручное thinking: {type: "enabled"} отклоняется с ошибкой 400.claude-opus-4-6)claude-sonnet-4-6)thinking.type: "enabled" и budget_tokens устарели на Opus 4.6 и Sonnet 4.6 и будут удалены в будущем выпуске модели. Используйте thinking.type: "adaptive" с параметром effort вместо этого. Существующие конфигурации budget_tokens по-прежнему функциональны, но больше не рекомендуются; планируйте миграцию.
Более старые модели (Sonnet 4.5, Opus 4.5 и т. д.) не поддерживают адаптивное мышление и требуют thinking.type: "enabled" с budget_tokens.
В адаптивном режиме мышление является необязательным для модели. Claude оценивает сложность каждого запроса и определяет, использовать ли расширенное мышление и в какой степени. На уровне усилий по умолчанию (high), Claude почти всегда думает. На более низких уровнях усилий Claude может пропустить мышление для более простых задач.
Адаптивное мышление также автоматически включает чередующееся мышление. Это означает, что Claude может думать между вызовами инструментов, что делает его особенно эффективным для агентских рабочих процессов.
Установите thinking.type на "adaptive" в вашем запросе API:
Вы можете комбинировать адаптивное мышление с параметром усилия для управления тем, сколько мышления использует Claude. Уровень усилия действует как мягкое руководство для распределения мышления Claude:
| Уровень усилия | Поведение мышления |
|---|---|
max | Claude всегда думает без ограничений на глубину мышления. Доступно на Claude Mythos Preview, Claude Opus 4.7, Claude Opus 4.6 и Claude Sonnet 4.6. |
xhigh | Claude всегда глубоко думает с расширенным исследованием. Доступно на Claude Opus 4.7. |
high (по умолчанию) | Claude всегда думает. Обеспечивает глубокое рассуждение по сложным задачам. |
medium | Claude использует умеренное мышление. Может пропустить мышление для очень простых запросов. |
low | Claude минимизирует мышление. Пропускает мышление для простых задач, где скорость имеет наибольшее значение. |
Адаптивное мышление работает безупречно с потоковой передачей. Блоки мышления передаются через события thinking_delta так же, как в режиме ручного мышления:
| Режим | Конфигурация | Доступность | Когда использовать |
|---|---|---|---|
| Адаптивное | thinking: {type: "adaptive"} | Claude Mythos Preview (по умолчанию), Opus 4.7 (единственный режим), Opus 4.6, Sonnet 4.6 | Claude определяет, когда и в какой степени использовать расширенное мышление. Используйте effort для руководства. |
| Ручное | thinking: {type: "enabled", budget_tokens: N} | Все модели, кроме Claude Opus 4.7 (отклоняется). Устарело на Opus 4.6 и Sonnet 4.6 (рассмотрите адаптивный режим вместо этого). | Когда вам нужен точный контроль над расходом токенов мышления. |
| Отключенное | Опустите параметр thinking или передайте {type: "disabled"} | Все модели, кроме Claude Mythos Preview | Когда вам не нужно расширенное мышление и вы хотите минимальную задержку. |
Адаптивное мышление доступно на Claude Mythos Preview, Claude Opus 4.7, Opus 4.6 и Sonnet 4.6. На Mythos Preview адаптивное мышление является режимом по умолчанию и применяется автоматически, когда thinking не установлен. На Claude Opus 4.7 адаптивное мышление — единственный поддерживаемый режим, и type: "enabled" с budget_tokens отклоняется. Более старые модели поддерживают только type: "enabled" с budget_tokens. На Opus 4.6 и Sonnet 4.6 type: "enabled" с budget_tokens по-прежнему функционален, но устарел.
Доступность чередующегося мышления по режимам:
interleaved-thinking-2025-05-14.При использовании адаптивного мышления предыдущие ходы помощника не должны начинаться с блоков мышления. Это более гибко, чем ручной режим, где 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 on Claude 4 models when the display field on the thinking configuration is unset or set to "summarized". On Claude Opus 4.7 and Claude Mythos Preview, display defaults to "omitted" instead, so you must set display: "summarized" explicitly to receive summarized thinking.
Here are some important considerations for summarized thinking:
In rare cases where you need access to full thinking output for Claude 4 models, contact Anthropic sales.
The display field on the thinking configuration controls how thinking content is returned in API responses. It accepts two values:
"summarized": Thinking blocks contain summarized thinking text. See Summarized thinking for details. This is the default on Claude Opus 4.6, Claude Sonnet 4.6, and earlier Claude 4 models."omitted": Thinking blocks are returned with an empty thinking field. The signature field still carries the encrypted full thinking for multi-turn continuity (see Thinking encryption). This is the default on Claude Opus 4.7 and Claude Mythos Preview.Setting display: "omitted" is useful when your application doesn't surface thinking content to users. The primary benefit is faster time-to-first-text-token when streaming: The server skips streaming thinking tokens entirely and delivers only the signature, so the final text response begins streaming sooner.
Here are some important considerations for omitted thinking:
signature to reconstruct the original thinking for prompt construction (see Preserving thinking blocks). Any text you place in the thinking field of a round-tripped omitted block is ignored.display is invalid with thinking.type: "disabled" (there is nothing to display).thinking.type: "adaptive" and the model skips thinking for a simple request, no thinking block is produced regardless of display.The signature field is identical whether display is "summarized" or "omitted". Switching display values between turns in a conversation is supported.
На Claude Opus 4.7 thinking.display по умолчанию имеет значение "omitted". Блоки мышления по-прежнему появляются в потоке ответов, но их поле thinking пусто, если вы явно не согласитесь. Это молчаливое изменение от Claude Opus 4.6, где значение по умолчанию было "summarized". Чтобы восстановить суммированный текст мышления на Claude Opus 4.7, явно установите thinking.display на "summarized":
thinking = {
"type": "adaptive",
"display": "summarized",
}Для примеров кода и поведения потоковой передачи с display: "omitted", см. Управление отображением мышления на странице расширенного мышления. Примеры там используют type: "enabled"; с адаптивным мышлением используйте:
thinking = {"type": "adaptive", "display": "omitted"}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. If you pass them back, whether the API keeps or strips them depends on the model: Opus 4.5+ and Sonnet 4.6+ keep them in context by default; earlier Opus/Sonnet models and all Haiku models strip them. See context editing to configure this.
If sending back thinking blocks, pass 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 при активном мышлении.max_tokens и ограничениями размера контекстного окна.client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-7",
max_tokens=16000,
thinking={"type": "adaptive"},
messages=[
{
"role": "user",
"content": "Explain why the sum of two even numbers is always even.",
}
],
)
for block in response.content:
if block.type == "thinking":
print(f"\nThinking: {block.thinking}")
elif block.type == "text":
print(f"\nResponse: {block.text}")client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-7",
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)client = anthropic.Anthropic()
with client.messages.stream(
model="claude-opus-4-7",
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)Узнайте больше о расширенном мышлении, включая ручной режим, использование инструментов и кэширование подсказок.