На этой странице рассматриваются наиболее распространённые сбои при настройке мышления или при круговой передаче блоков мышления (отправке возвращённых блоков мышления обратно в последующих запросах). В первом разделе каждая модель сопоставляется с поддерживаемыми ею конфигурациями мышления и теми, которые она отклоняет; каждый последующий раздел начинается с наблюдаемого вами симптома, чтобы вы могли напрямую сопоставить сообщение об ошибке или неожиданный ответ с его причиной и способом устранения. О том, как работает мышление, см. в обзоре Мышление.
Большинство ошибок конфигурации мышления — это несоответствие между значением thinking.type в запросе и тем, что поддерживает модель. В текущих моделях мышление работает как thinking: {type: "adaptive"}, а в новейших оно включено по умолчанию. Некоторые более ранние модели вместо этого используют расширенное мышление — устаревший ручной режим, настраиваемый как thinking: {type: "enabled", budget_tokens: N}.
Extended thinking (расширенное мышление) (thinking.type: "enabled" с budget_tokens) объявлено устаревшим в моделях Claude 4.6 (запросы с его использованием по-прежнему выполняются успешно). Claude 4.7 и более поздние модели не поддерживают его и отклоняют запросы, которые его используют, возвращая ошибку 400. В моделях Claude 4.5 и более ранних, поддерживающих мышление, расширенное мышление является единственным доступным режимом мышления. Claude Mythos Preview поддерживает оба режима. Там, где доступны оба режима, используйте вместо этого адаптивное мышление.
В таблице указано, что поддерживает каждая модель, что используется по умолчанию и какие значения thinking.type она отклоняет с ошибкой 400; любое значение, не указанное как отклоняемое, принимается.
| Модель | Типы мышления | По умолчанию | Отклоняется с ошибкой 400 |
|---|---|---|---|
| Claude Fable 5 | Только адаптивное | Всегда включено | "enabled", "disabled" |
| Claude Mythos 5 | Только адаптивное | Всегда включено | "enabled", "disabled" |
| Claude Mythos Preview | Адаптивное, расширенное | Всегда включено | "disabled" |
| Claude Opus 5 | Только адаптивное | Включено | "enabled", "disabled"2 |
| Claude Opus 4.8 | Только адаптивное | Выключено | "enabled" |
| Claude Opus 4.7 | Только адаптивное | Выключено | "enabled" |
| Claude Sonnet 5 | Только адаптивное | Включено | "enabled" |
| Claude Opus 4.6 | Адаптивное, расширенное (устарело)1 | Выключено | Нет |
| Claude Sonnet 4.6 | Адаптивное, расширенное (устарело)1 | Выключено | Нет |
| Claude Opus 4.5 | Только расширенное | Выключено | "adaptive" |
| Claude Haiku 4.5 | Только расширенное | Выключено | "adaptive" |
| Claude Sonnet 4.5 | Только расширенное | Выключено | "adaptive" |
1 enabled и budget_tokens по-прежнему работают на этих моделях, но устарели; используйте вместо них адаптивное мышление.
2 Claude Opus 5 принимает "disabled" при уровне effort high или ниже; сочетание с effort xhigh или max возвращает ошибку 400. Это ограничение применяется к Claude Opus 5 и более поздним моделям и проверяется при каждом запросе.
Модели с пометкой Всегда включено не могут отключить мышление. Модели с пометкой Включено по умолчанию используют мышление, но принимают thinking: {type: "disabled"}.
Более ранние модели Claude 4 (Claude Opus 4.1, Claude Sonnet 4 и Claude Opus 4) поддерживают только расширенное мышление; об их доступности см. Устаревание моделей. Claude Fable 5 и Claude Mythos 5 недоступны при нулевом хранении данных.
"thinking.type.enabled" не поддерживаетсяЗапрос завершается ошибкой 400 с сообщением:
"thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.Это происходит потому, что запрошенная вами модель больше не поддерживает расширенное мышление (см. Конфигурации, отклоняемые каждой моделью).
Переключите запрос на thinking: {type: "adaptive"} и управляйте глубиной мышления с помощью effort вместо budget_tokens. Раздел Переход на адаптивное мышление пошагово описывает это преобразование.
"thinking.type.disabled" не поддерживаетсяЗапрос завершается ошибкой 400 с сообщением:
"thinking.type.disabled" is not supported for this model. Thinking defaults to adaptive mode when not specified; use "thinking.type.enabled" with "budget_tokens" for extended thinking.Это происходит на моделях, где мышление всегда включено: Claude Fable 5, Claude Mythos 5 и Claude Mythos Preview отклоняют "disabled". На Claude Fable 5 и Claude Mythos 5 предложение в тексте ошибки использовать "thinking.type.enabled" также неприменимо: эти модели отклоняют и его.
Опустите параметр thinking; эти модели думают без какой-либо настройки. Если вашей целью было исключить текст мышления из ответов, используйте display: "omitted" вместо отключения мышления; см. Управление отображением мышления.
Ошибка 400 на "disabled" также может возникнуть на Claude Opus 5, который принимает thinking: {type: "disabled"} только при уровне effort high или ниже: сочетание с effort xhigh или max отклоняется. Понизьте уровень effort или оставьте мышление включённым.
Запрос завершается ошибкой 400 с сообщением:
adaptive thinking is not supported on this modelЭто происходит потому, что модель поддерживает только расширенное мышление (см. Конфигурации, отклоняемые каждой моделью).
Используйте вместо этого thinking: {type: "enabled", budget_tokens: N}; конфигурацию см. в разделе Расширенное мышление.
Запрос, возвращающий результаты инструментов, завершается ошибкой 400 invalid_request_error, сообщение которой содержит:
`thinking` or `redacted_thinking` blocks in the latest assistant message cannot be modifiedВ многоходовых диалогах и диалогах с использованием инструментов вы отправляете предыдущие сообщения ассистента, включая их блоки thinking и redacted_thinking, обратно в API, и API проверяет, что они поступают без изменений. Эта ошибка возникает, когда отправляемое вами обратно сообщение ассистента отличается от того, которое вернул API, — чаще всего потому, что ваш код фильтрует блоки содержимого по типу и отбрасывает блоки redacted_thinking или пересобирает сообщение ассистента вместо того, чтобы вернуть его как есть.
Возвращайте ход ассистента дословно, включая блоки мышления. Правила см. в разделе Сохранение блоков мышления, а разобранный пример круговой передачи с корректным кодом для каждого SDK — в разделе Мышление в рабочих процессах с инструментами и несколькими ходами.
Ответ содержит блоки thinking, но их поле thinking — пустая строка, и заполнено только поле signature.
Это происходит потому, что display по умолчанию имеет значение "omitted" на новых моделях, что возвращает блоки мышления без их текста.
Установите display: "summarized" в вашей конфигурации мышления, чтобы получать сводный текст мышления; значения по умолчанию для каждой модели см. в разделе Управление отображением мышления.
Некоторые ответы вообще не содержат блока thinking, хотя мышление настроено.
Это нормально в адаптивном режиме: Claude пропускает мышление на запросах, которые считает достаточно простыми, чтобы ответить напрямую.
Если вы хотите, чтобы мышление происходило чаще или глубже, повысьте effort или направляйте его с помощью подсказок; см. Управление частотой мышления Claude.
Ответ иногда записывает вызов инструмента в свой текст вместо того, чтобы выдать блок tool_use, или включает <thinking> или другие внутренние XML-теги в видимый текст. Утёкший вызов инструмента никогда не выполняется, а в агентных циклах утёкший текст остаётся в истории диалога, поэтому затрагиваются и последующие ходы.
Это происходит на Claude Opus 5 при отключённом мышлении, чаще всего на нагрузках с интенсивным использованием инструментов, таких как поиск. Правила в системной подсказке, предписывающие модели не думать или не рассуждать, усиливают утечку тегов.
Снова включите мышление (значение по умолчанию) и используйте более низкие уровни effort для контроля стоимости токенов. Если ваша интеграция должна оставлять мышление отключённым, примените меры по работе с подсказками из раздела Работа с отключённым мышлением.
stop_reason: "max_tokens"Ответ завершается с stop_reason: "max_tokens", часто с усечённым или отсутствующим текстовым блоком.
Это происходит потому, что токены мышления учитываются в max_tokens, поэтому длинный проход мышления может исчерпать бюджет до завершения текстового ответа.
Увеличьте max_tokens, чтобы оставить место и для мышления, и для текста, или понизьте effort, чтобы Claude тратил меньше на мышление; см. Контроль стоимости и Мышление и контекстное окно.
cache_read_input_tokens падает до нуля на запросах, которые ранее попадали в кэш.
Это происходит потому, что конфигурация мышления и уровень effort (или его значение по умолчанию) являются частью кэшируемого префикса подсказки, поэтому изменение любого из них начинает новый префикс: переключение режимов мышления, изменение значения effort и изменение budget_tokens — всё это делает недействительными точки разрыва кэша сообщений и может также сделать недействительными точки разрыва инструментов и системной подсказки, в зависимости от того, где модель отображает конфигурацию.
Сохраняйте конфигурацию мышления и уровень effort постоянными между запросами, относящимися к одному диалогу; явная установка параметра в его значение по умолчанию эквивалентна его пропуску и не приводит к инвалидации. См. Мышление и кэширование подсказок.
Вы меняете effort, но частота или глубина мышления остаётся прежней.
Это происходит потому, что effort является основным рычагом управления мышлением только в адаптивном режиме. На моделях, поддерживающих только расширенное мышление, глубина мышления задаётся через budget_tokens.
Настраивайте budget_tokens на этих моделях или проверьте, в каком режиме работает ваша модель; см. Мышление и effort. На Claude Opus 4.5 — единственной модели с поддержкой только расширенного мышления, которая поддерживает effort, — effort сочетается с бюджетом; см. Правила бюджета и настройка.
Обзор: что такое мышление, как его настроить и как оно взаимодействует с инструментами, кэшированием и потоковой передачей.
Полный справочник по ошибкам, включая ошибки 400 конфигурации мышления с их точными серверными сообщениями.
Преобразуйте запросы с budget_tokens в адаптивное мышление с effort.
Was this page helpful?