Поддерживаемые модели
Расширенное мышление поддерживается в следующих моделях:- Claude Sonnet 4.5 (
claude-sonnet-4-5-20250929) - Claude Sonnet 4 (
claude-sonnet-4-20250514) - Claude Sonnet 3.7 (
claude-3-7-sonnet-20250219) (устарела) - Claude Haiku 4.5 (
claude-haiku-4-5-20251001) - Claude Opus 4.1 (
claude-opus-4-1-20250805) - Claude Opus 4 (
claude-opus-4-20250514)
Поведение API отличается между моделями Claude Sonnet 3.7 и Claude 4, но формы API остаются точно такими же.Для получения дополнительной информации см. Различия в мышлении между версиями моделей.
Как работает расширенное мышление
Когда расширенное мышление включено, Claude создает блоки содержимогоthinking, где выводит своё внутреннее рассуждение. Claude использует идеи из этого рассуждения перед тем, как создать окончательный ответ.
Ответ API будет включать блоки содержимого thinking, за которыми следуют блоки содержимого text.
Вот пример формата ответа по умолчанию:
Как использовать расширенное мышление
Вот пример использования расширенного мышления в Messages API:thinking с параметром type, установленным на enabled, и budget_tokens на указанный бюджет токенов для расширенного мышления.
Параметр budget_tokens определяет максимальное количество токенов, которые Claude может использовать для своего внутреннего процесса рассуждения. В моделях Claude 4 это ограничение применяется к полным токенам мышления, а не к суммированному выводу. Большие бюджеты могут улучшить качество ответа, позволяя более тщательный анализ для сложных задач, хотя Claude может не использовать весь выделенный бюджет, особенно в диапазонах выше 32k.
budget_tokens должен быть установлен на значение меньше, чем max_tokens. Однако при использовании чередующегося мышления с инструментами вы можете превысить это ограничение, так как лимит токенов становится вашим полным контекстным окном (200k токенов).
Суммированное мышление
С включённым расширенным мышлением Messages API для моделей Claude 4 возвращает сводку полного процесса мышления Claude. Суммированное мышление обеспечивает полные преимущества интеллекта расширенного мышления, предотвращая неправомерное использование. Вот некоторые важные соображения для суммированного мышления:- Вам выставляется счёт за полные токены мышления, созданные исходным запросом, а не за токены сводки.
- Количество выставленных токенов вывода не будет совпадать с количеством токенов, которые вы видите в ответе.
- Первые несколько строк вывода мышления более подробны, предоставляя детальное рассуждение, которое особенно полезно для целей инженерии подсказок.
- По мере того как Anthropic стремится улучшить функцию расширенного мышления, поведение суммирования может измениться.
- Суммирование сохраняет ключевые идеи процесса мышления Claude с минимальной добавленной задержкой, обеспечивая потоковый пользовательский опыт и простую миграцию с Claude Sonnet 3.7 на модели Claude 4.
- Суммирование обрабатывается другой моделью, чем та, которую вы указываете в своих запросах. Модель мышления не видит суммированный вывод.
Claude Sonnet 3.7 продолжает возвращать полный вывод мышления.В редких случаях, когда вам нужен доступ к полному выводу мышления для моделей Claude 4, свяжитесь с нашей командой продаж.
Потоковое мышление
Вы можете передавать ответы расширенного мышления потоком, используя события, отправляемые сервером (SSE). Когда потоковая передача включена для расширенного мышления, вы получаете содержимое мышления через событияthinking_delta.
Для получения дополнительной документации по потоковой передаче через Messages API см. Потоковая передача сообщений.
Вот как обрабатывать потоковую передачу с мышлением:
При использовании потоковой передачи с включённым мышлением вы можете заметить, что текст иногда приходит большими порциями, чередуясь с меньшей доставкой токен за токеном. Это ожидаемое поведение, особенно для содержимого мышления.Система потоковой передачи должна обрабатывать содержимое партиями для оптимальной производительности, что может привести к этому «прерывистому» паттерну доставки с возможными задержками между событиями потоковой передачи. Мы постоянно работаем над улучшением этого опыта, с будущими обновлениями, сосредоточенными на более плавной потоковой передаче содержимого мышления.
Расширенное мышление с использованием инструментов
Расширенное мышление можно использовать наряду с использованием инструментов, позволяя Claude рассуждать о выборе инструмента и обработке результатов. При использовании расширенного мышления с использованием инструментов помните о следующих ограничениях:-
Ограничение выбора инструмента: Использование инструментов с мышлением поддерживает только
tool_choice: {"type": "auto"}(по умолчанию) илиtool_choice: {"type": "none"}. Использованиеtool_choice: {"type": "any"}илиtool_choice: {"type": "tool", "name": "..."}приведёт к ошибке, потому что эти опции принуждают использование инструментов, что несовместимо с расширенным мышлением. -
Сохранение блоков мышления: Во время использования инструментов вы должны передать блоки
thinkingобратно в API для последнего сообщения помощника. Включите полный неизменённый блок обратно в API для сохранения непрерывности рассуждения.
Переключение режимов мышления в разговорах
Вы не можете переключать мышление в середине хода помощника, включая циклы использования инструментов. Весь ход помощника должен работать в одном режиме мышления:- Если мышление включено, последний ход помощника должен начинаться с блока мышления.
- Если мышление отключено, последний ход помощника не должен содержать никаких блоков мышления
Распространённые сценарии ошибок
Вы можете столкнуться с этой ошибкой:- У вас было мышление отключено во время последовательности использования инструментов
- Вы хотите включить мышление снова
- Ваше последнее сообщение помощника содержит блоки использования инструментов, но нет блока мышления
Практическое руководство
✗ Неправильно: Переключение мышления сразу после использования инструментаПереключение режимов мышления также делает недействительным кэширование подсказок для истории сообщений. Для получения дополнительной информации см. раздел Расширенное мышление с кэшированием подсказок.
Пример: Передача блоков мышления с результатами инструментов
Пример: Передача блоков мышления с результатами инструментов
Вот практический пример, показывающий, как сохранить блоки мышления при предоставлении результатов инструментов:Ответ API будет включать блоки мышления, текста и tool_use:Теперь давайте продолжим разговор и используем инструментОтвет API теперь будет только включать текст
Сохранение блоков мышления
Во время использования инструментов вы должны передать блокиthinking обратно в API, и вы должны включить полный неизменённый блок обратно в API. Это критично для сохранения потока рассуждений модели и целостности разговора.
Хотя вы можете опустить блоки
thinking из предыдущих ходов assistant, мы предлагаем всегда передавать все блоки мышления обратно в API для любого многоходового разговора. API будет:- Автоматически фильтровать предоставленные блоки мышления
- Использовать релевантные блоки мышления, необходимые для сохранения рассуждений модели
- Выставлять счёт только за входные токены для блоков, показанных Claude
При переключении режимов мышления во время разговора помните, что весь ход помощника (включая циклы использования инструментов) должен работать в одном режиме мышления. Для получения дополнительной информации см. Переключение режимов мышления в разговорах.
- Непрерывность рассуждения: Блоки мышления захватывают пошаговое рассуждение Claude, которое привело к запросам инструментов. Когда вы отправляете результаты инструментов, включение исходного мышления гарантирует, что Claude может продолжить своё рассуждение с того места, где оно остановилось.
- Поддержание контекста: Хотя результаты инструментов появляются как сообщения пользователя в структуре API, они являются частью непрерывного потока рассуждений. Сохранение блоков мышления поддерживает этот концептуальный поток через несколько вызовов API. Для получения дополнительной информации об управлении контекстом см. наше руководство по контекстным окнам.
thinking вся последовательность последовательных блоков thinking должна соответствовать выводам, созданным моделью во время исходного запроса; вы не можете переставлять или изменять последовательность этих блоков.
Чередующееся мышление
Расширенное мышление с использованием инструментов в моделях Claude 4 поддерживает чередующееся мышление, которое позволяет Claude думать между вызовами инструментов и делать более сложные рассуждения после получения результатов инструментов. С чередующимся мышлением Claude может:- Рассуждать о результатах вызова инструмента перед тем, как решить, что делать дальше
- Связывать несколько вызовов инструментов с шагами рассуждения между ними
- Принимать более тонкие решения на основе промежуточных результатов
interleaved-thinking-2025-05-14 в ваш запрос API.
Вот некоторые важные соображения для чередующегося мышления:
- С чередующимся мышлением
budget_tokensможет превышать параметрmax_tokens, так как он представляет общий бюджет для всех блоков мышления в одном ходе помощника. - Чередующееся мышление поддерживается только для инструментов, используемых через Messages API.
- Чередующееся мышление поддерживается только для моделей Claude 4 с заголовком бета-версии
interleaved-thinking-2025-05-14. - Прямые вызовы Claude API позволяют вам передавать
interleaved-thinking-2025-05-14в запросах к любой модели без эффекта. - На платформах третьих сторон (например, Amazon Bedrock и Vertex AI), если вы передаёте
interleaved-thinking-2025-05-14к любой модели, кроме Claude Opus 4.1, Opus 4 или Sonnet 4, ваш запрос не пройдёт.
Использование инструментов без чередующегося мышления
Использование инструментов без чередующегося мышления
- Claude думает один раз в начале, чтобы понять задачу
- Принимает все решения об использовании инструментов заранее
- Когда возвращаются результаты инструментов, Claude сразу же предоставляет ответ без дополнительного мышления
Использование инструментов с чередующимся мышлением
Использование инструментов с чередующимся мышлением
- Claude думает о задаче изначально
- После получения результата калькулятора Claude может снова подумать о том, что означает этот результат
- Claude затем решает, как запросить базу данных на основе первого результата
- После получения результата базы данных Claude ещё раз думает о обоих результатах перед формулировкой окончательного ответа
- Бюджет мышления распределяется по всем блокам мышления в пределах хода
Расширенное мышление с кэшированием подсказок
Кэширование подсказок с мышлением имеет несколько важных соображений:Задачи расширенного мышления часто занимают более 5 минут. Рассмотрите использование кэша на 1 час для сохранения попаданий кэша в течение более длительных сеансов мышления и многошаговых рабочих процессов.
- Блоки мышления из предыдущих ходов удаляются из контекста, что может повлиять на точки разрыва кэша
- При продолжении разговоров с использованием инструментов блоки мышления кэшируются и считаются входными токенами при чтении из кэша
- Это создаёт компромисс: хотя блоки мышления не потребляют пространство контекстного окна визуально, они всё ещё считаются в вашем использовании входных токенов при кэшировании
- Если мышление становится отключённым, запросы не пройдут, если вы передаёте содержимое мышления в текущем ходе использования инструментов. В других контекстах содержимое мышления, переданное в API, просто игнорируется
- Изменения параметров мышления (включено/отключено или распределение бюджета) делают недействительными точки разрыва кэша сообщений
- Чередующееся мышление усиливает инвалидацию кэша, так как блоки мышления могут возникать между несколькими вызовами инструментов
- Системные подсказки и инструменты остаются кэшированными несмотря на изменения параметров мышления или удаление блоков
Хотя блоки мышления удаляются для кэширования и расчётов контекста, они должны быть сохранены при продолжении разговоров с использованием инструментов, особенно с чередующимся мышлением.
Понимание поведения кэширования блока мышления
При использовании расширенного мышления с использованием инструментов блоки мышления демонстрируют специфическое поведение кэширования, которое влияет на подсчёт токенов: Как это работает:- Кэширование происходит только при выполнении последующего запроса, который включает результаты инструментов
- Когда выполняется последующий запрос, предыдущая история разговора (включая блоки мышления) может быть кэширована
- Эти кэшированные блоки мышления считаются входными токенами в ваших метриках использования при чтении из кэша
- Когда включен блок результата пользователя, не являющийся результатом инструмента, все предыдущие блоки мышления игнорируются и удаляются из контекста
- Это поведение кэширования происходит автоматически, даже без явных маркеров
cache_control - Это поведение согласуется независимо от использования обычного мышления или чередующегося мышления
Кэширование системной подсказки (сохраняется при изменении мышления)
Кэширование системной подсказки (сохраняется при изменении мышления)
Кэширование сообщений (делается недействительным при изменении мышления)
Кэширование сообщений (делается недействительным при изменении мышления)
cache_creation_input_tokens=1370 и cache_read_input_tokens=0, доказывая, что кэширование на основе сообщений делается недействительным при изменении параметров мышления.Максимальные токены и размер контекстного окна с расширенным мышлением
В более старых моделях Claude (до Claude Sonnet 3.7), если сумма токенов подсказки иmax_tokens превышала контекстное окно модели, система автоматически регулировала max_tokens для соответствия ограничению контекста. Это означало, что вы могли установить большое значение max_tokens, и система молча уменьшала бы его по мере необходимости.
С моделями Claude 3.7 и 4 max_tokens (который включает ваш бюджет мышления при включённом мышлении) применяется как строгое ограничение. Система теперь вернёт ошибку валидации, если токены подсказки + max_tokens превышает размер контекстного окна.
Вы можете прочитать наше руководство по контекстным окнам для более тщательного углубления.
Контекстное окно с расширенным мышлением
При расчёте использования контекстного окна с включённым мышлением есть некоторые соображения, о которых следует помнить:- Блоки мышления из предыдущих ходов удаляются и не считаются в вашем контекстном окне
- Мышление текущего хода считается в вашем лимите
max_tokensдля этого хода
Контекстное окно с расширенным мышлением и использованием инструментов
При использовании расширенного мышления с использованием инструментов блоки мышления должны быть явно сохранены и возвращены с результатами инструментов. Расчёт эффективного контекстного окна для расширенного мышления с использованием инструментов становится:Управление токенами с расширенным мышлением
Учитывая поведение контекстного окна иmax_tokens с расширенным мышлением моделей Claude 3.7 и 4, вам может потребоваться:
- Более активно отслеживать и управлять использованием токенов
- Регулировать значения
max_tokensпо мере изменения длины подсказки - Потенциально использовать конечные точки подсчёта токенов более часто
- Помнить, что предыдущие блоки мышления не накапливаются в вашем контекстном окне
Шифрование мышления
Полное содержимое мышления зашифровано и возвращено в полеsignature. Это поле используется для проверки того, что блоки мышления были созданы Claude при передаче обратно в API.
Строго необходимо отправлять блоки мышления только при использовании инструментов с расширенным мышлением. В противном случае вы можете опустить блоки мышления из предыдущих ходов или позволить API удалить их, если вы передадите их обратно.Если отправляете блоки мышления, мы рекомендуем передавать всё обратно так, как вы это получили, для согласованности и избежания потенциальных проблем.
- При потоковой передаче ответов подпись добавляется через
signature_deltaвнутри событияcontent_block_deltaнепосредственно перед событиемcontent_block_stop. - Значения
signatureзначительно длиннее в моделях Claude 4, чем в предыдущих моделях. - Поле
signatureявляется непрозрачным полем и не должно интерпретироваться или анализироваться - оно существует исключительно в целях проверки. - Значения
signatureсовместимы между платформами (Claude APIs, Amazon Bedrock и Vertex AI). Значения, созданные на одной платформе, будут совместимы с другой.
Редакция мышления
Иногда внутреннее рассуждение Claude будет отмечено нашими системами безопасности. Когда это происходит, мы шифруем часть или всё содержимое блокаthinking и возвращаем его вам как блок redacted_thinking. Блоки redacted_thinking расшифровываются при передаче обратно в API, позволяя Claude продолжить свой ответ без потери контекста.
При разработке приложений, ориентированных на клиентов, которые используют расширенное мышление:
- Помните, что блоки редактированного мышления содержат зашифрованное содержимое, которое не читается человеком
- Рассмотрите предоставление простого объяснения, такого как: “Часть внутреннего рассуждения Claude была автоматически зашифрована в целях безопасности. Это не влияет на качество ответов.”
- Если показываете блоки мышления пользователям, вы можете отфильтровать редактированные блоки, сохраняя обычные блоки мышления
- Будьте прозрачны в том, что использование функций расширенного мышления может иногда привести к шифрованию некоторого рассуждения
- Реализуйте надлежащую обработку ошибок для корректного управления редактированным мышлением без нарушения вашего пользовательского интерфейса
Видение редактированных блоков мышления в вашем выводе - это ожидаемое поведение. Модель всё ещё может использовать это редактированное рассуждение для информирования своих ответов при сохранении защитных ограждений безопасности.Если вам нужно протестировать обработку редактированного мышления в вашем приложении, вы можете использовать эту специальную тестовую строку как вашу подсказку:
ANTHROPIC_MAGIC_STRING_TRIGGER_REDACTED_THINKING_46C9A13E193C177646C7398A98432ECCCE4C1253D5E2D82641AC0E52CC2876CBthinking и redacted_thinking обратно в API в многоходовом разговоре вы должны включить полный неизменённый блок обратно в API для последнего хода помощника. Это критично для сохранения потока рассуждений модели. Мы предлагаем всегда передавать все блоки мышления обратно в API. Для получения дополнительной информации см. раздел Сохранение блоков мышления выше.
Пример: Работа с редактированными блоками мышления
Пример: Работа с редактированными блоками мышления
Этот пример демонстрирует, как обрабатывать блоки
redacted_thinking, которые могут появиться в ответах, когда внутреннее рассуждение Claude содержит содержимое, отмеченное системами безопасности:Различия в мышлении между версиями моделей
Messages API обрабатывает мышление по-разному в моделях Claude Sonnet 3.7 и Claude 4, в основном в поведении редакции и суммирования. См. таблицу ниже для сокращённого сравнения:| Функция | Claude Sonnet 3.7 | Модели Claude 4 |
|---|---|---|
| Вывод мышления | Возвращает полный вывод мышления | Возвращает суммированное мышление |
| Чередующееся мышление | Не поддерживается | Поддерживается с заголовком бета-версии interleaved-thinking-2025-05-14 |
Цены
Расширенное мышление использует стандартную схему ценообразования токенов:| Модель | Базовые входные токены | Записи кэша | Попадания кэша | Выходные токены |
|---|---|---|---|---|
| Claude Opus 4.1 | $15 / MTok | $18.75 / MTok | $1.50 / MTok | $75 / MTok |
| Claude Opus 4 | $15 / MTok | $18.75 / MTok | $1.50 / MTok | $75 / MTok |
| Claude Sonnet 4.5 | $3 / MTok | $3.75 / MTok | $0.30 / MTok | $15 / MTok |
| Claude Sonnet 4 | $3 / MTok | $3.75 / MTok | $0.30 / MTok | $15 / MTok |
| Claude Sonnet 3.7 | $3 / MTok | $3.75 / MTok | $0.30 / MTok | $15 / MTok |
- Токены, используемые во время мышления (выходные токены)
- Блоки мышления из последнего хода помощника, включённые в последующие запросы (входные токены)
- Стандартные выходные токены текста
Когда расширенное мышление включено, специализированная системная подсказка автоматически включается для поддержки этой функции.
- Входные токены: Токены в вашем исходном запросе (исключает токены мышления из предыдущих ходов)
- Выходные токены (выставлены счётом): Исходные токены мышления, которые Claude создал внутренне
- Выходные токены (видимые): Суммированные токены мышления, которые вы видите в ответе
- Без расходов: Токены, используемые для создания сводки
Количество выставленных токенов вывода не будет совпадать с видимым количеством токенов в ответе. Вам выставляется счёт за полный процесс мышления, а не за сводку, которую вы видите.
Лучшие практики и соображения для расширенного мышления
Работа с бюджетами мышления
- Оптимизация бюджета: Минимальный бюджет составляет 1024 токена. Мы предлагаем начать с минимума и постепенно увеличивать бюджет мышления, чтобы найти оптимальный диапазон для вашего случая использования. Более высокие количества токенов позволяют более комплексное рассуждение, но с убывающей отдачей в зависимости от задачи. Увеличение бюджета может улучшить качество ответа в обмен на повышенную задержку. Для критических задач протестируйте различные параметры, чтобы найти оптимальный баланс. Обратите внимание, что бюджет мышления является целевым, а не строгим ограничением — фактическое использование токенов может варьироваться в зависимости от задачи.
- Начальные точки: Начните с больших бюджетов мышления (16k+ токенов) для сложных задач и регулируйте в зависимости от ваших потребностей.
- Большие бюджеты: Для бюджетов мышления выше 32k мы рекомендуем использовать пакетную обработку для избежания проблем с сетью. Запросы, которые толкают модель думать выше 32k токенов, вызывают долгоживущие запросы, которые могут столкнуться с тайм-аутами системы и ограничениями открытых соединений.
- Отслеживание использования токенов: Отслеживайте использование токенов мышления для оптимизации затрат и производительности.
Соображения производительности
- Время ответа: Будьте готовы к потенциально более длительному времени ответа из-за дополнительной обработки, необходимой для процесса рассуждения. Учитывайте, что создание блоков мышления может увеличить общее время ответа.
- Требования потоковой передачи: Потоковая передача требуется, когда
max_tokensбольше 21333. При потоковой передаче будьте готовы обрабатывать как блоки мышления, так и текстовое содержимое по мере их поступления.
Совместимость функций
- Мышление несовместимо с модификациями
temperatureилиtop_k, а также с принудительным использованием инструментов. - Когда мышление включено, вы можете установить
top_pна значения между 1 и 0.95. - Вы не можете предварительно заполнить ответы, когда мышление включено.
- Изменения бюджета мышления делают недействительными кэшированные префиксы подсказок, которые включают сообщения. Однако кэшированные системные подсказки и определения инструментов продолжат работать при изменении параметров мышления.
Руководства по использованию
- Выбор задачи: Используйте расширенное мышление для особенно сложных задач, которые выигрывают от пошагового рассуждения, таких как математика, кодирование и анализ.
- Обработка контекста: Вам не нужно самостоятельно удалять предыдущие блоки мышления. Claude API автоматически игнорирует блоки мышления из предыдущих ходов, и они не включаются при расчёте использования контекста.
- Инженерия подсказок: Просмотрите наши советы по инженерии подсказок расширенного мышления, если вы хотите максимизировать возможности мышления Claude.