Эта функция соответствует требованиям Zero Data Retention (ZDR) (нулевого хранения данных). Если у вашей организации действует соглашение ZDR, данные, отправленные через эту функцию, не сохраняются после возврата ответа API.
Адаптивное мышление — это рекомендуемый способ использования расширенного мышления с Claude Opus 4.8, Claude Opus 4.7, Claude Opus 4.6, Claude Sonnet 5 и Claude Sonnet 4.6. В Claude Fable 5 и Claude Mythos 5 мышление всегда включено и не может быть отключено; адаптивное мышление — единственный режим мышления. В Claude Mythos Preview адаптивное мышление является режимом по умолчанию и применяется автоматически, когда параметр thinking не задан. Вместо ручной установки бюджета токенов мышления адаптивное мышление позволяет Claude динамически определять, когда и в каком объёме использовать расширенное мышление, исходя из сложности каждого запроса. В Claude Opus 4.8 и Claude Opus 4.7 адаптивное мышление — единственный поддерживаемый режим мышления; ручная настройка thinking: {type: "enabled", budget_tokens: N} больше не принимается. В Claude Sonnet 5 адаптивное мышление включено по умолчанию; передайте thinking: {type: "disabled"}, чтобы отключить его, а ручная настройка {type: "enabled", budget_tokens: N} отклоняется с ошибкой 400.
Адаптивное мышление может обеспечить лучшую производительность, чем расширенное мышление с фиксированным budget_tokens, для многих рабочих нагрузок, особенно для бимодальных задач и длительных агентных рабочих процессов. Бета-заголовок не требуется.
Если ваша рабочая нагрузка требует предсказуемой задержки или точного контроля над затратами на мышление, расширенное мышление с budget_tokens по-прежнему функционирует в Claude Opus 4.6 и Claude Sonnet 4.6, но является устаревшим и больше не рекомендуется. См. предупреждение ниже.
Адаптивное мышление поддерживается в следующих моделях:
claude-fable-5) и Claude Mythos 5 (claude-mythos-5) — адаптивное мышление всегда включено; thinking: {type: "disabled"} не поддерживаетсяthinking: {type: "disabled"} не поддерживаетсяthinking: {type: "adaptive"} в своём запросе; ручная настройка thinking: {type: "enabled"} отклоняется с ошибкой 400.thinking: {type: "adaptive"} в своём запросе; ручная настройка thinking: {type: "enabled"} отклоняется с ошибкой 400.claude-sonnet-5) — адаптивное мышление включено по умолчанию; ручная настройка {type: "enabled"} отклоняется с ошибкой 400.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 может пропускать мышление для более простых задач.
Адаптивное мышление также автоматически включает чередующееся мышление («interleaved thinking»). Это означает, что Claude может размышлять между вызовами инструментов, что делает его особенно эффективным для агентных рабочих процессов.
Установите thinking.type в значение "adaptive" в вашем запросе к API:
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-8",
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}")Вы можете сочетать адаптивное мышление с параметром effort, чтобы управлять тем, сколько Claude размышляет. Уровень усилий действует как мягкое указание для распределения мышления Claude:
| Уровень усилий | Поведение мышления |
|---|---|
max | Claude всегда размышляет без ограничений на глубину мышления. Доступно в Claude Fable 5, Claude Mythos 5, Claude Mythos Preview, Claude Opus 4.8, Claude Opus 4.7, Claude Opus 4.6, Claude Sonnet 5 и Claude Sonnet 4.6. |
xhigh | Claude всегда глубоко размышляет с расширенным исследованием. Доступно в Claude Fable 5, Claude Mythos 5, Claude Sonnet 5, Claude Opus 4.8 и Claude Opus 4.7. |
high (по умолчанию) | Claude почти всегда размышляет. Обеспечивает глубокое рассуждение для сложных задач. |
medium | Claude использует умеренное мышление. Может пропускать мышление для очень простых запросов. |
low | Claude минимизирует мышление. Пропускает мышление для простых задач, где скорость важнее всего. |
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-8",
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)Адаптивное мышление без проблем работает с потоковой передачей. Блоки мышления передаются потоком через события thinking_delta так же, как и в ручном режиме мышления:
client = anthropic.Anthropic()
with client.messages.stream(
model="claude-opus-4-8",
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)| Режим | Конфигурация | Доступность | Когда использовать |
|---|---|---|---|
| Адаптивный | thinking: {type: "adaptive"} | Claude Fable 5 (всегда включено), Claude Mythos 5 (всегда включено), Claude Mythos Preview (по умолчанию), Claude Opus 4.8 (единственный режим), Opus 4.7 (единственный режим), Opus 4.6, Sonnet 5, Sonnet 4.6 | Claude определяет, когда и в каком объёме использовать расширенное мышление. Используйте effort для управления. |
| Ручной | thinking: {type: "enabled", budget_tokens: N} | Все модели, кроме Claude Fable 5, Claude Mythos 5, Claude Sonnet 5, Claude Opus 4.8 и Claude Opus 4.7 (отклоняется с ошибкой 400). Устарел в Opus 4.6 и Sonnet 4.6 (рассмотрите адаптивный режим вместо него). | Когда вам нужен точный контроль над расходом токенов мышления. |
| Отключён | Опустите параметр thinking или передайте {type: "disabled"} | Все модели, кроме Claude Fable 5, Claude Mythos 5 и Claude Mythos Preview. В Claude Sonnet 5 передайте {type: "disabled"} явно (если опустить thinking, по умолчанию используется адаптивный режим). | Когда вам не нужно расширенное мышление и вы хотите минимальную задержку. |
Адаптивное мышление доступно в Claude Fable 5, Claude Mythos 5, Claude Mythos Preview, Claude Opus 4.8, Claude Opus 4.7, Opus 4.6, Sonnet 5 и Sonnet 4.6. В Claude Fable 5 и Claude Mythos 5 адаптивное мышление всегда включено: оно применяется, когда параметр thinking не задан, и не может быть отключено. В Mythos Preview адаптивное мышление используется по умолчанию и применяется автоматически, когда параметр thinking не задан. В Claude Opus 4.8 адаптивное мышление — единственный поддерживаемый режим; мышление отключено, если вы явно не укажете thinking: {type: "adaptive"}, а ручная настройка type: "enabled" с budget_tokens отклоняется с ошибкой 400. В Claude Opus 4.7 адаптивное мышление — единственный поддерживаемый режим, и type: "enabled" с budget_tokens отклоняется. В Claude Sonnet 5 адаптивное мышление включено по умолчанию; ручная настройка type: "enabled" отклоняется с ошибкой 400, а {type: "disabled"} отключает мышление. Более старые модели поддерживают только type: "enabled" с budget_tokens. В Opus 4.6 и Sonnet 4.6 type: "enabled" с budget_tokens по-прежнему функционирует, но является устаревшим.
Доступность чередующегося мышления по режимам:
interleaved-thinking-2025-05-14.При использовании адаптивного мышления предыдущие ходы ассистента не обязаны начинаться с блоков мышления. Это более гибко, чем в ручном режиме, где API требует, чтобы ходы с включённым мышлением начинались с блока мышления.
Последовательные запросы с использованием adaptive мышления сохраняют точки разрыва кэша подсказок. Однако переключение между режимами мышления adaptive и enabled/disabled нарушает точки разрыва кэша для сообщений. Системные подсказки и определения инструментов остаются кэшированными независимо от смены режима.
Поведение срабатывания адаптивного мышления можно настраивать через подсказки. Если 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.Чтобы, наоборот, поощрить мышление, используйте фразу вроде:
This task involves multi-step reasoning. Think carefully before responding.Эффективность управления может быть чувствительна к точной формулировке. Если одна формулировка не даёт желаемого поведения, попробуйте более прямой вариант.
Вы также можете управлять мышлением для отдельных сообщений из хода пользователя. Добавление "Please think hard before responding." к сообщению пользователя побуждает Claude размышлять на этом ходу; "Answer directly without deliberating." подавляет это. Это работает независимо от системной подсказки и полезно, когда только некоторые запросы в разговоре требуют расширенного рассуждения.
Указание Claude размышлять реже может снизить качество для задач, которые выигрывают от рассуждения. Измерьте влияние на ваши конкретные рабочие нагрузки, прежде чем внедрять настройку на основе подсказок в продакшен. Рассмотрите возможность сначала протестировать с более низкими уровнями усилий.
Используйте max_tokens как жёсткое ограничение на общий вывод (мышление + текст ответа). Параметр effort предоставляет дополнительное мягкое указание на то, сколько мышления выделяет Claude. Вместе они дают вам эффективный контроль над затратами.
На уровнях усилий high и max Claude может размышлять более обширно и с большей вероятностью исчерпать бюджет max_tokens. Если вы наблюдаете stop_reason: "max_tokens" в ответах, рассмотрите возможность увеличить max_tokens, чтобы дать модели больше пространства, или понизить уровень усилий.
Следующие концепции применимы ко всем моделям, поддерживающим расширенное мышление, независимо от того, используете ли вы адаптивный или ручной режим.
При включённом расширенном мышлении Messages API для моделей Claude 4 возвращает сводку полного процесса мышления Claude. Суммированное мышление обеспечивает все интеллектуальные преимущества расширенного мышления, одновременно предотвращая злоупотребления. Это поведение по умолчанию для моделей Claude 4, когда поле display в конфигурации мышления не задано или установлено в значение "summarized". В Claude Fable 5, Claude Mythos 5, Claude Sonnet 5, Claude Opus 4.8, Claude Opus 4.7 и Claude Mythos Preview значение display по умолчанию равно "omitted", поэтому для получения суммированного мышления необходимо явно задать display: "summarized".
Вот несколько важных соображений относительно суммированного мышления:
В редких случаях, когда вам необходим доступ к полному выводу мышления для моделей Claude 4, свяжитесь с отделом продаж Anthropic.
Поле display в конфигурации мышления управляет тем, как содержимое мышления возвращается в ответах API. Оно принимает два значения:
"summarized": блоки мышления содержат обобщённый текст мышления. Подробнее см. в разделе Обобщённое мышление. Это значение по умолчанию для Claude Opus 4.6, Claude Sonnet 4.6 и более ранних моделей Claude 4."omitted": блоки мышления возвращаются с пустым полем thinking. Поле signature по-прежнему содержит зашифрованное полное мышление для обеспечения непрерывности в многоходовых диалогах (см. Шифрование мышления). Это значение по умолчанию для Claude Fable 5, Claude Mythos 5, Claude Sonnet 5, Claude Opus 4.8, Claude Opus 4.7 и Claude Mythos Preview.Установка display: "omitted" полезна, когда ваше приложение не показывает содержимое мышления пользователям. Основное преимущество — более быстрое время до первого текстового токена при потоковой передаче: сервер полностью пропускает потоковую передачу токенов мышления и передаёт только подпись, поэтому итоговый текстовый ответ начинает передаваться раньше.
Вот несколько важных соображений относительно опущенного мышления:
signature, чтобы восстановить исходное мышление для построения подсказки (см. Сохранение блоков мышления). Любой текст, который вы помещаете в поле thinking возвращаемого опущенного блока, игнорируется.display недопустим при thinking.type: "disabled" (отображать нечего).thinking.type: "adaptive", если модель пропускает мышление для простого запроса, блок мышления не создаётся независимо от значения display.Поле signature идентично независимо от того, равно ли display значению "summarized" или "omitted". Переключение значений display между ходами в диалоге поддерживается.
Настройка display управляет только видимостью. При любой настройке мышление происходит и тарифицируется одинаково.
Значение по умолчанию для thinking.display зависит от модели:
"omitted". Блоки мышления по-прежнему появляются в потоке ответа, но их поле thinking пустое, если вы явно не включите отображение. Это негласное изменение по сравнению с Claude Opus 4.6, где значением по умолчанию было "summarized"."summarized". Читаемая сводка появляется без явного включения.Чтобы получать суммаризированный текст мышления в моделях, где значение по умолчанию — "omitted", явно установите thinking.display в "summarized":
thinking = {
"type": "adaptive",
"display": "summarized",
}Примеры кода и поведение потоковой передачи с display: "omitted" см. в разделе Управление отображением мышления на странице расширенного мышления. В примерах там используется type: "enabled"; с адаптивным мышлением используйте:
thinking = {"type": "adaptive", "display": "omitted"}Полное содержимое мышления шифруется и возвращается в поле signature. Это поле используется для проверки того, что блоки мышления были сгенерированы Claude, когда они передаются обратно в API.
Строго необходимо отправлять обратно блоки мышления только при использовании инструментов с расширенным мышлением. В противном случае вы можете опустить блоки мышления из предыдущих ходов. Если вы передаёте их обратно, то сохранит ли их API или удалит, зависит от модели: Opus 4.5+ и Sonnet 4.6+ по умолчанию сохраняют их в контексте; более ранние модели Opus/Sonnet и все модели Haiku удаляют их. См. раздел редактирование контекста, чтобы настроить это поведение.
Если вы отправляете блоки мышления обратно, передавайте всё в том виде, в каком получили, для согласованности и во избежание потенциальных проблем.
Вот несколько важных соображений относительно шифрования мышления:
signature_delta внутри события content_block_delta непосредственно перед событием content_block_stop.signature в моделях Claude 4 значительно длиннее, чем в предыдущих моделях.signature является непрозрачным полем и не должно интерпретироваться или анализироваться.signature совместимы между платформами (API Claude, Amazon Bedrock и Google Cloud). Значения, сгенерированные на одной платформе, будут совместимы с другой.В Claude Fable 5 и Claude Mythos 5 необработанная цепочка рассуждений никогда не возвращается. Блоки мышления, которые вы получаете, — это обычные блоки thinking, а не redacted_thinking. Настройка thinking.display работает так же, как и в других моделях:
"summarized" возвращает читаемую сводку рассуждений."omitted" (значение по умолчанию в этих моделях) по-прежнему включает блоки thinking в ответы, но их поле thinking является пустой строкой.Форму ответа для блоков мышления см. в справочнике Messages API.
При продолжении разговора на той же модели передавайте каждый блок мышления обратно в API точно в том виде, в каком он был получен, включая блоки, у которых поле thinking пустое. Не редактируйте и не реконструируйте их. Чтение текста сводки для отображения допустимо: API отклоняет блоки, содержимое которых было изменено, а не блоки, которые вы прочитали.
При переключении моделей, например после резервного переключения при отказе классификатора, удалите блоки thinking и redacted_thinking из предыдущих ходов ассистента. Блоки мышления привязаны к модели, которая их создала. Другие модели молча игнорируют их, а не отклоняют запрос, но игнорируемые блоки всё равно добавляют входные токены.
Два исключения, описанные в разделе Кредит резервного переключения:
fallback от резервного переключения посреди вывода остаются там, где они появились.Чтобы получить представление о рассуждениях модели, читайте блоки thinking, описанные в этом разделе, вместо того чтобы запрашивать рассуждения в тексте ответа. В Claude Fable 5 запрос, который пытается извлечь внутренние рассуждения модели как часть текста ответа, может быть отклонён с stop_details.category: "reasoning_extraction". См. Категории отказов для справки по полям и рекомендаций по обработке.
Полную информацию о ценах, включая базовые тарифы, запись в кэш, попадания в кэш и выходные токены, см. на странице с ценами.
Процесс мышления влечёт за собой расходы за:
Когда расширенное мышление включено, автоматически добавляется специализированная системная подсказка для поддержки этой функции.
При использовании суммаризированного мышления:
При использовании display: "omitted":
thinking пустое)Количество тарифицируемых выходных токенов не будет совпадать с количеством видимых токенов в ответе. Вы платите за весь процесс мышления, а не за содержимое мышления, видимое в ответе.
Чтобы узнать, сколько тарифицируемых выходных токенов было потрачено на внутренние рассуждения, прочитайте usage.output_tokens_details.thinking_tokens в ответе. Это значение отражает исходные рассуждения, сгенерированные моделью (а не суммаризированный текст, возвращённый в теле ответа), и всегда меньше или равно output_tokens. Вычтите его из output_tokens, чтобы приблизительно оценить часть вывода, не относящуюся к рассуждениям.
{
"usage": {
"input_tokens": 25,
"output_tokens": 348,
"output_tokens_details": {
"thinking_tokens": 312
}
}
}output_tokens остаётся итоговым авторитетным значением, используемым для тарификации. output_tokens_details — это разбивка только для чтения, предназначенная для наблюдаемости.
Страница расширенного мышления более подробно рассматривает несколько тем с примерами кода для конкретных режимов:
tool_choice, когда мышление активно.adaptive и enabled/disabled нарушает точки разрыва кэша для сообщений (системные подсказки и определения инструментов остаются кэшированными).max_tokens и ограничениями контекстного окна.Узнайте больше о расширенном мышлении, включая ручной режим, использование инструментов и кэширование подсказок.
Управляйте тем, насколько тщательно Claude отвечает, с помощью параметра effort.
Was this page helpful?