Эта функция соответствует требованиям Zero Data Retention (ZDR) (нулевого хранения данных). Если у вашей организации действует соглашение ZDR, данные, отправленные через эту функцию, не сохраняются после возврата ответа API.
Адаптивное мышление — это рекомендуемый способ использования расширенного мышления с Claude Opus 4.8, Claude Opus 4.7, Claude Opus 4.6 и 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} больше не принимается.
Адаптивное мышление может обеспечивать лучшую производительность, чем расширенное мышление с фиксированным 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.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:
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 4.6. |
xhigh | Claude всегда думает глубоко с расширенным исследованием. Доступно в Claude Fable 5, Claude Mythos 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 4.6 | Claude определяет, когда и в каком объёме использовать расширенное мышление. Используйте effort для направления. |
| Ручное | thinking: {type: "enabled", budget_tokens: N} | Все модели, кроме Claude Fable 5, Claude Mythos 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 Fable 5, Claude Mythos 5, Claude Mythos Preview, Claude Opus 4.8, Claude Opus 4.7, Opus 4.6 и 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 отклоняется. Более старые модели поддерживают только 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 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 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 и Vertex AI). Значения, сгенерированные на одной платформе, будут совместимы с другой.В 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?