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

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

> **Про семейство 5**: повседневные рекомендации по-прежнему `claude-sonnet-5` / `claude-opus-5` (4.x остаётся в продаже). Матрица параметров ниже снята на Claude 4.6 / 4.7 / 4.8. Совпадают ли значения `thinking` / `effort` у 5-серии с таблицей, в этом проходе **не проверялось** — не переносите выводы, специфичные для 4.x (например запрет `budget_tokens` у Opus 4.8 или уровни `xhigh` / `max`), на семейство 5. Выбор 5-серии см. в [Выбор модели](/docs/usage/model-selection).

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

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

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

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

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

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

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

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

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

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

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

### Python (anthropic SDK)

```python
import anthropic

client = anthropic.Anthropic(
    base_url="https://api.qcode.cc/api",
    api_key="cr_xxxxxxxx",
)

response = client.messages.create(
    model="claude-opus-4-8",
    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)

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

const client = new Anthropic({
  baseURL: "https://api.qcode.cc/api",
  apiKey: "cr_xxxxxxxx",
});

const response = await client.messages.create({
  model: "claude-opus-4-8",
  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.8 установлено `xhigh`, можно вручную понизить до `medium` для экономии токенов.

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

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

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

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

## Task Budgets (Opus 4.8 Beta)

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

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

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

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

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

```python
print(response.usage)
# Обращайте внимание на: input_tokens, output_tokens, cache_read_input_tokens
# Adaptive thinking не тарифицирует thinking tokens отдельно —— они учитываются в output_tokens
```

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

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

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

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

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

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

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

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

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

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

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

- [Руководство по выбору модели](/docs/usage/model-selection) — сравнение цен и возможностей моделей
- [Лучшие практики](/docs/usage/best-practices) — техники промптов для большого контекста и agent-воркфлоу
- [Эндпоинты и форматы API](/docs/getting-started/endpoints-and-api-paths) — полная таблица доменов QCode.cc
- [Полное руководство по Claude Code](/docs/getting-started/claude-code-tutorial) — все возможности CLI