output_config.effort (уровень усилий) и thinking (адаптивное рассуждение).
Сначала см. страницу Claude API Basics с информацией о каналах, тарификации и базовом подключении.
Поддерживаемые модели: Claude Opus 4.8 / 4.7 / 4.6, Sonnet 4.6 и т. д. На этой странице в качестве примера используется Opus 4.8.
Онлайн-инструмент для тестирования
Не хотите писать код? Попробуйте онлайн-тестер рассуждений APIYI: выберите модель и уровень effort, задайте Max Tokens, отметьте «return thinking summary» и сравните, как каждый уровень effort рассуждает — прямо в браузере.Тестер рассуждений · Онлайн-инструмент APIYI
Запускайте тесты рассуждений Claude (а также GPT / Gemini) прямо в браузере — код не требуется, достаточно вставить ваш ключ APIYI.

Структура запроса
Эндпоинт и заголовки
Когда APIYI направляет запросы в Bedrock, клиент по-прежнему использует нативный формат Anthropic (
x-api-key + /v1/messages); шлюз внутренне выполняет преобразование в Bedrock bedrock-2023-05-31. Вам не нужно задавать anthropic_version: bedrock-2023-05-31.Минимальное тело запроса
уровни effort
effort управляет тем, сколько token Claude готов потратить на получение результата, балансируя между полнотой и скоростью/стоимостью. Это влияет на все расходы token: ответ, вызовы инструментов и расширенное мышление.
Тело запроса с effort
Обзор уровней
Какие уровни поддерживает каждая модель
Не каждая модель поддерживает каждый уровень.xhigh был добавлен в Opus 4.7, а max не поддерживается в Sonnet:
Адаптивное рассуждение
Opus 4.7 / 4.8 используют адаптивное рассуждение: модель сама решает, когда и сколько рассуждать, а effort управляет глубиной.thinking.type: "adaptive"— включает адаптивное рассуждение (уберите его, и модель не будет рассуждать).thinking.display: "summarized"— возвращает блоки сводки рассуждений в ответе; уберите его, если не нужно их показывать.- Связь between effort and thinking:
high/xhigh/maxпочти всегда глубоко рассуждают;low/mediumмогут пропускать рассуждение на простых задачах. - Значение по умолчанию для
displayотличается в зависимости от модели: для Opus 4.6 по умолчаниюsummarized, а для Opus 4.7 / 4.8 по умолчаниюomitted(блок рассуждений по-прежнему существует, но его текстthinkingпустой, что выглядит как пауза перед ответом). Задайтеdisplay: "summarized"явно, чтобы надежно получать сводки. - В native API нет модели с суффиксом
-thinking. Будет ли модель рассуждать, определяется параметромthinking, а не суффиксом имени модели; любойxxx-thinking— это сторонний alias — просто используйте базовый ID модели вместе с параметромthinking.
Что такое сводка рассуждений на самом деле (важно)
- Сводка генерируется Anthropic (моделью/слоем обслуживания) — не шлюзом и не отдельной моделью. Сырой ход рассуждений никогда не возвращается дословно; вы получаете официальную сводку.
- Вы не можете задавать стиль сводки рассуждений через system prompt.
systemопределяет, как модель рассуждает, и стиль итогового ответа; сводка — это просто читаемое представление внутреннего рассуждения. Переносите требования к тону, форматированию и стилю в ограничения для итогового ответа, чтобы они отображались в блокеtext. - Не просите модель выводить внутреннее рассуждение дословно в ответе — это может вызвать отказ (
stop_reason: "refusal", при этомstop_details.categoryможет бытьreasoning_extraction). Чтобы увидеть рассуждение, смотрите сводкуdisplay: "summarized".
При продолжении многотурового разговора на той же модели передавайте thinking blocks из предыдущего хода обратно без изменений (включая signature и блоки с пустым текстом) — API отклоняет измененные thinking blocks. Показывать сводку можно; редактировать ее перед возвратом нельзя.
Разбор ответа
Ответcontent представляет собой массив блоков, различающихся по type:
usage:
Если
stop_reason равно max_tokens, вывод был усечен max_tokens (рассуждение может легко заполнить бюджет при высокой effort), и текст ответа может быть пустым — просто выбросьте max_tokens.поля рассуждения при потоковой передаче (stream)
Приstream: true содержимое рассуждения не передается через delta.text — для него предусмотрена отдельная последовательность событий:
Текст ответа по-прежнему передается через
delta.type = "text_delta" → delta.text. При display: "omitted" блок рассуждения по-прежнему отображается, но delta.thinking — пустая строка.
Полный рабочий пример
Примечания к маршруту Bedrock
Устранение неполадок
"thinking.type.enabled" is not supported for this model
Самая распространенная ошибка 400 при вызове Opus 4.7 / 4.8 через маршрут AWS (Bedrock):
thinking: { "type": "enabled", "budget_tokens": N }. Opus 4.7 / 4.8 (и более новые модели) удалили ее и поддерживают только adaptive thinking; upstream AWS возвращает ValidationException 400. Это соответствует примечанию в разделе Адаптивное thinking выше.
Исправление: удалите type: "enabled" и budget_tokens и используйте adaptive + output_config.effort, чтобы управлять глубиной рассуждения.
Чтобы работать без thinking: Opus 4.7 / 4.8 принимают
thinking: { "type": "disabled" }, или просто не указывайте поле thinking (нет поля = нет thinking).Ссылки
- Anthropic — документация по Effort:
platform.claude.com/docs/en/build-with-claude/effort - AWS Bedrock — адаптивное рассуждение:
docs.aws.amazon.com/bedrock/latest/userguide/claude-messages-adaptive-thinking.html - AWS Bedrock — Claude Opus 4.8:
docs.aws.amazon.com/bedrock/latest/userguide/model-card-anthropic-claude-opus-4-8.html