Последние модели Claude предлагают возможности thinking, которые могут быть особенно полезны для задач, связанных с рефлексией после tool use или со сложными многошаговыми рассуждениями. Вы можете направлять его начальный или interleaved thinking для лучших результатов.
Claude Opus 4.6 и Claude Sonnet 4.6 используют adaptive thinking (thinking: {type: "adaptive"}), при котором Claude динамически решает, когда и сколько думать. Claude калибрует своё thinking исходя из двух факторов: параметра effort и сложности запроса. Более высокий effort вызывает больше thinking, и более сложные запросы — тоже. На простых запросах, которые не требуют thinking, модель отвечает напрямую. Во внутренних оценках adaptive thinking устойчиво даёт лучшие результаты, чем extended thinking. Рассмотрите переход на adaptive thinking, чтобы получать самые интеллектуальные ответы.
Используйте adaptive thinking для рабочих нагрузок, требующих поведения agent'а, — таких как многошаговый tool use, сложные задачи кодинга и долгие agent-циклы. Более старые модели используют ручной режим thinking с budget_tokens.
Вы можете направлять thinking-поведение Claude:
After receiving tool results, carefully reflect on their quality and determine optimal next steps before proceeding. Use your thinking to plan and iterate based on this new information, and then take the best next action.
Поведение триггера adaptive thinking поддаётся промпту. Если вы замечаете, что модель думает чаще, чем вам хотелось бы, — такое может происходить с большими или сложными system prompt, — добавьте инструкцию, чтобы направить её:
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.
Если вы мигрируете с extended thinking с budget_tokens, замените конфигурацию thinking и перенесите управление бюджетом на effort:
До (extended thinking, более старые модели):
client.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=64000,
thinking={"type": "enabled", "budget_tokens": 32000},
messages=[{"role": "user", "content": "..."}],
)
После (adaptive thinking):
client.messages.create(
model="claude-opus-4-7",
max_tokens=64000,
thinking={"type": "adaptive"},
output_config={"effort": "high"}, # или "max", "xhigh", "medium", "low"
messages=[{"role": "user", "content": "..."}],
)
Если вы не используете extended thinking, никаких изменений не требуется. Thinking выключен по умолчанию, когда вы опускаете параметр thinking.
<thinking> внутри few-shot примеров, чтобы показать Claude паттерн рассуждений. Он обобщит этот стиль на свои собственные блоки extended thinking.<thinking> и <answer>, чтобы аккуратно отделить рассуждения от итогового вывода.