Руководство по настройке Adaptive Thinking

Механизм адаптивного рассуждения для Claude Opus 4.7 / Sonnet 4.6 / Haiku 4.5: использование параметров thinking + effort, отличия от устаревшего budget_tokens, баланс качества и стоимости

Руководство по настройке Adaptive Thinking

Adaptive Thinking (адаптивное рассуждение) — это новое поколение режима рассуждения в семействах Claude 4.6/4.7: модель сама решает, когда подключать рассуждение и сколько токенов на него потратить, и разработчику не нужно заранее задавать фиксированный бюджет. В сочетании с параметром effort можно грубо управлять глубиной рассуждения. Этот документ — руководство по соответствующему API, матрице поддержки моделей, а также по балансу качества и стоимости.

Ключевые отличия от прежнего Extended Thinking

Параметр Прежний Extended Thinking (4.5 и ранее) Adaptive Thinking (4.6 / 4.7)
Параметр включения thinking={"type": "enabled", "budget_tokens": N} thinking={"type": "adaptive"}
Управление бюджетом Фиксированный лимит токенов (budget_tokens обязан быть < max_tokens) Модель регулирует автоматически, грубая настройка через effort
Чередование с вызовами инструментов По умолчанию не чередуется (требуется beta-заголовок interleaved-thinking-2025-05-14) Чередуется автоматически (beta-заголовок не нужен)
Совместимость с Opus 4.7 400 error (budget_tokens удалён) ✅ Единственный поддерживаемый режим
Совместимость с Sonnet 4.6 ⚠️ deprecated (всё ещё работает, но не рекомендуется) ✅ Рекомендуется

Краткое правило: для моделей семейств 4.6 / 4.7 используйте adaptive; budget_tokens — только для 4.5 и более ранних.

Матрица поддержки моделей

Модель adaptive thinking budget_tokens параметр effort
claude-opus-4-7 ✅ Единственный способ включения ❌ 400 error ✅ low / medium / high / xhigh / max
claude-sonnet-4-6 ✅ Рекомендуется ⚠️ Ещё работает, но deprecated ✅ low / medium / high
claude-opus-4-6 ✅ Рекомендуется ⚠️ Ещё работает, но deprecated ✅ low / medium / high / max
claude-haiku-4-5 ✅ Поддерживается ❌ Не поддерживается ❌ Параметр effort вызовет ошибку
claude-sonnet-4-5 и ранее ❌ Не поддерживается ✅ Используйте этот

При доступе через QCode.cc все указанные модели доступны (проверено на практике).

Параметр effort: грубый регулятор глубины рассуждения

effort управляет общей интенсивностью adaptive thinking (включая токены на рассуждение, число вызовов инструментов и подробность ответа).

effort Сценарий применения Относительная стоимость
low Простые вопросы, суб-агенты, чувствительность к задержкам
medium Обычное программирование, поиск по документации (большинство ежедневных задач) 1.5-2×
high Сложное рассуждение, многофайловый рефакторинг (по умолчанию) 2-3×
xhigh Долгоиграющие agent-воркфлоу (только для Opus 4.7, по умолчанию в Claude Code) 3-4×
max Приоритет максимального качества, стоимость вторична (только Opus 4.6 / 4.7)

Эмпирическое правило: high — это «золотая середина» для большинства интерактивных задач программирования; xhigh имеет наилучшее соотношение цены и качества в длинных agent-loop'ах (например, многошаговое ревью кода, глубокое исследование); max стоит включать только тогда, когда правильность намного важнее стоимости (например, генерация продакшен-кода, ключевые архитектурные решения).

Примеры вызова API

Python (anthropic SDK)

import anthropic

client = anthropic.Anthropic(
    base_url="http://103.236.53.153/api",
    api_key="cr_xxxxxxxx",
)

response = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=16000,
    thinking={"type": "adaptive"},
    output_config={"effort": "xhigh"},
    messages=[{"role": "user", "content": "重构 user service 模块的认证逻辑..."}],
)

for block in response.content:
    if block.type == "thinking":
        print(f"[思考] {block.thinking}")
    elif block.type == "text":
        print(f"[回答] {block.text}")

TypeScript (@anthropic-ai/sdk)

import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({
  baseURL: "http://103.236.53.153/api",
  apiKey: "cr_xxxxxxxx",
});

const response = await client.messages.create({
  model: "claude-opus-4-7",
  max_tokens: 16000,
  thinking: { type: "adaptive" },
  output_config: { effort: "xhigh" },
  messages: [{ role: "user", content: "重构 user service..." }],
});

Claude Code CLI

В CLI значение effort переключается клавишей Tab; текущий effort отображается в строке статуса. По умолчанию для Opus 4.7 установлено xhigh, можно вручную понизить до medium для экономии токенов.

Отображение содержимого рассуждения

В Opus 4.7 по умолчанию текст рассуждения не отображается (thinking.display: "omitted"), оно происходит только внутри. Если вы хотите показывать процесс рассуждения в UI:

thinking={"type": "adaptive", "display": "summarized"}

display: "summarized" заставляет модель выдавать сводку рассуждения (видимые thinking blocks); omitted только учитывает токены рассуждения, но не выводит текст. В Sonnet 4.6 / Haiku 4.5 по умолчанию используется summarized.

Task Budgets (Opus 4.7 Beta)

Если вы запускаете agent loop и хотите задать глобальный лимит на весь раунд (включая рассуждение + инструменты + финальный вывод), используйте task_budget:

response = client.beta.messages.create(
    betas=["task-budgets-2026-03-13"],
    model="claude-opus-4-7",
    max_tokens=64000,
    thinking={"type": "adaptive"},
    output_config={
        "effort": "high",
        "task_budget": {"type": "tokens", "total": 128000},
    },
    messages=[...],
)

Модель видит обратный отсчёт оставшегося бюджета и сама регулирует поведение, чтобы не выйти за лимит. Минимальное значение total — 20 000.

Рекомендации по мониторингу стоимости

После включения adaptive thinking растёт расход входных / выходных токенов, и его стоит отслеживать:

print(response.usage)
# Обращайте внимание на: input_tokens、output_tokens、cache_read_input_tokens
# Adaptive thinking 不会单独计费 thinking tokens —— 它们计入 output_tokens

Для пользователей QCode.cc запросы передаются на probe.qcode.cc (только узел прямого подключения Шэньчжэнь 103.236.53.153/api) — там можно посмотреть соотношение input / output / тратится-на-рассуждение для каждого запроса.

Часто задаваемые вопросы

Как пересчитать budget_tokens при переходе на adaptive thinking?

Линейного соответствия нет. budget_tokens=8000 не равен какому-то определённому уровню effort. Рекомендуется начинать с effort: "medium" и затем подстраивать в зависимости от качества ответа и расхода токенов. Если жёсткий лимит обязателен — используйте task_budget (см. выше).

Мой запрос к Opus 4.7 возвращает 400 с сообщением, что budget_tokens недопустим

Замените все thinking={"type": "enabled", "budget_tokens": N} на thinking={"type": "adaptive"}. Поле budget_tokens полностью удалено в Opus 4.7 (любое значение даст 400).

Стоит ли продолжать использовать budget_tokens в Sonnet 4.6?

Не рекомендуется. В новом коде используйте только adaptive thinking. budget_tokens ещё работает в 4.6, но это deprecated-путь, который будет удалён в одной из будущих версий.

Как изменить effort в Claude Code CLI?

Значение effort, отображаемое в строке статуса CLI, переключается клавишей Tab; постоянное значение по умолчанию задаётся в ~/.claude/settings.json в поле "effort".

Дальнейшие шаги

🚀
Начните с QCode — Claude Code & Codex
Один тариф для Claude Code и Codex, низкая задержка в Азии
Посмотреть тарифы → Создать аккаунт
Команда 3+?
Enterprise: выделенный домен + управление ключами + защита от бана, от ¥250/чел/мес
Enterprise →