---
title: Расширенные размышления
url: https://platform.claude.com/docs/ru/build-with-claude/extended-thinking
description: Настройте ручные расширенные размышления с фиксированным бюджетом budget_tokens на моделях Claude, которые их поддерживают, и перейдите на адаптивные размышления.
---

<Note>
  Чтобы узнать, как «zero data retention» (нулевое хранение данных), или ZDR, применяется к этой функции, см. раздел [API и хранение данных](https://platform.claude.com/docs/ru/manage-claude/api-and-data-retention).
</Note>

<Warning>
  «Extended thinking» (расширенные размышления) (`thinking.type: "enabled"` с `budget_tokens`) считаются устаревшими на моделях Claude 4.6 (запросы, использующие их, по-прежнему выполняются успешно). Claude 4.7 и более поздние модели не поддерживают их и отклоняют запросы, которые их используют, возвращая ошибку 400. На Claude 4.5 и более ранних моделях, поддерживающих размышления, расширенные размышления являются единственным доступным режимом размышлений. Claude Mythos Preview поддерживает оба режима. Там, где доступны оба режима, используйте вместо них [адаптивные размышления](https://platform.claude.com/docs/ru/build-with-claude/thinking).

  См. раздел [Переход на адаптивные размышления](https://platform.claude.com/docs/ru/build-with-claude/extended-thinking#migrating-to-adaptive-thinking), чтобы перейти на адаптивные размышления. Если ваша модель поддерживает только расширенные размышления, на этой странице описана поддерживаемая конфигурация; никаких изменений не требуется, пока вы не перейдёте на более новую модель.
</Warning>

<Note>
  Если запрос завершается ошибкой 400, сообщение которой начинается с `"thinking.type.enabled" is not supported`, ваша модель использует адаптивные размышления. См. [Устранение неполадок размышлений](https://platform.claude.com/docs/ru/build-with-claude/thinking-troubleshooting#error-thinking-type-enabled) или перейдите к разделу [Переход на адаптивные размышления](https://platform.claude.com/docs/ru/build-with-claude/extended-thinking#migrating-to-adaptive-thinking).
</Note>

«Extended thinking» (расширенные размышления) в ручном режиме дают вам прямой контроль над тем, сколько Claude думает. Вы задаёте бюджет токенов размышлений в каждом запросе с помощью `thinking: {type: "enabled", budget_tokens: N}`, и Claude думает в рамках этого бюджета, прежде чем приступить к окончательному ответу. Ручной режим остаётся полезным, когда ваша рабочая нагрузка требует предсказуемой задержки или точного контроля над затратами на размышления. На этой странице рассказывается, как задавать и настраивать бюджет, как ручной режим взаимодействует с чередующимися размышлениями и «prompt caching» (кэшированием подсказок), а также как перейти на адаптивные размышления.

Чтобы узнать, как работают сами размышления, включая блоки размышлений и форму ответа, параметр `display`, «streaming» (потоковую передачу), размышления с «tool use» (использованием инструментов) и шифрование, см. [обзор размышлений](https://platform.claude.com/docs/ru/build-with-claude/thinking).

## Поддерживаемые модели

Доступность расширенных размышлений по моделям, включая модели, где расширенные размышления являются единственным режимом, приведена в [таблице конфигурации по моделям](https://platform.claude.com/docs/ru/build-with-claude/thinking-troubleshooting#supported-models).

## Как использовать расширенные размышления

Вот пример использования расширенных размышлений в Messages API:

<CodeGroup>
  ```bash cURL
  curl https://api.anthropic.com/v1/messages \
    -H "x-api-key: $ANTHROPIC_API_KEY" \
    -H "anthropic-version: 2023-06-01" \
    -H "content-type: application/json" \
    -d '{
      "model": "claude-sonnet-4-6",
      "max_tokens": 16000,
      "thinking": {
        "type": "enabled",
        "budget_tokens": 10000
      },
      "messages": [
        {
          "role": "user",
          "content": "Are there an infinite number of prime numbers such that n mod 4 == 3?"
        }
      ]
    }'
  ```

  ```bash CLI
  ant messages create \
    --format yaml <<'YAML'
  model: claude-sonnet-4-6
  max_tokens: 16000
  thinking:
    type: enabled
    budget_tokens: 10000
  messages:
    - role: user
      content: Are there an infinite number of prime numbers such that n mod 4 == 3?
  YAML
  ```

  ```python Python
  client = anthropic.Anthropic()

  response = client.messages.create(
      model="claude-sonnet-4-6",
      max_tokens=16000,
      thinking={"type": "enabled", "budget_tokens": 10000},
      messages=[
          {
              "role": "user",
              "content": "Are there an infinite number of prime numbers such that n mod 4 == 3?",
          }
      ],
  )

  # Ответ содержит блоки с кратким изложением размышлений и текстовые блоки
  for block in response.content:
      match block.type:
          case "thinking":
              print(f"\nThinking summary: {block.thinking}")
          case "text":
              print(f"\nResponse: {block.text}")
  ```

  ```typescript TypeScript
  const client = new Anthropic();

  const response = await client.messages.create({
    model: "claude-sonnet-4-6",
    max_tokens: 16000,
    thinking: {
      type: "enabled",
      budget_tokens: 10000
    },
    messages: [
      {
        role: "user",
        content: "Are there an infinite number of prime numbers such that n mod 4 == 3?"
      }
    ]
  });

  // Ответ содержит блоки с кратким изложением размышлений и текстовые блоки
  for (const block of response.content) {
    switch (block.type) {
      case "thinking":
        console.log(`\nThinking summary: ${block.thinking}`);
        break;
      case "text":
        console.log(`\nResponse: ${block.text}`);
        break;
    }
  }
  ```

  ```csharp C#
  AnthropicClient client = new();

  var response = await client.Messages.Create(new()
  {
      Model = Model.ClaudeSonnet4_6,
      MaxTokens = 16000,
      Thinking = new ThinkingConfigEnabled(budgetTokens: 10000),
      Messages =
      [
          new()
          {
              Role = Role.User,
              Content = "Are there an infinite number of prime numbers such that n mod 4 == 3?",
          },
      ],
  });

  // Ответ содержит блоки с кратким изложением размышлений и текстовые блоки
  foreach (var block in response.Content)
  {
      if (block.TryPickThinking(out var thinking))
      {
          Console.WriteLine($"\nThinking summary: {thinking.Thinking}");
      }
      else if (block.TryPickText(out var text))
      {
          Console.WriteLine($"\nResponse: {text.Text}");
      }
  }
  ```

  ```go Go
  client := anthropic.NewClient()

  response, err := client.Messages.New(context.Background(), anthropic.MessageNewParams{
  	Model:     anthropic.ModelClaudeSonnet4_6,
  	MaxTokens: 16000,
  	Thinking:  anthropic.ThinkingConfigParamOfEnabled(10000),
  	Messages: []anthropic.MessageParam{
  		anthropic.NewUserMessage(anthropic.NewTextBlock("Are there an infinite number of prime numbers such that n mod 4 == 3?")),
  	},
  })
  if err != nil {
  	log.Fatal(err)
  }

  // Ответ содержит блоки с кратким изложением размышлений и текстовые блоки
  for _, block := range response.Content {
  	switch block := block.AsAny().(type) {
  	case anthropic.ThinkingBlock:
  		fmt.Printf("\nThinking summary: %s", block.Thinking)
  	case anthropic.TextBlock:
  		fmt.Printf("\nResponse: %s", block.Text)
  	}
  }
  ```

  ```java Java
  import com.anthropic.client.okhttp.AnthropicOkHttpClient;
  import com.anthropic.models.messages.MessageCreateParams;
  import com.anthropic.models.messages.Model;

  void main() {
      var client = AnthropicOkHttpClient.fromEnv();

      var params = MessageCreateParams.builder()
          .model(Model.CLAUDE_SONNET_4_6)
          .maxTokens(16_000)
          .enabledThinking(10_000)
          .addUserMessage("Are there an infinite number of prime numbers such that n mod 4 == 3?")
          .build();

      var response = client.messages().create(params);

      // Ответ содержит блоки с кратким изложением размышлений и текстовые блоки
      for (var block : response.content()) {
          block.thinking().ifPresent(thinkingBlock ->
              IO.println("\nThinking summary: " + thinkingBlock.thinking())
          );
          block.text().ifPresent(textBlock ->
              IO.println("\nResponse: " + textBlock.text())
          );
      }
  }
  ```

  ```php PHP
  $client = new Client();

  $response = $client->messages->create(
      model: 'claude-sonnet-4-6',
      maxTokens: 16000,
      thinking: ['type' => 'enabled', 'budget_tokens' => 10000],
      messages: [
          [
              'role' => 'user',
              'content' => 'Are there an infinite number of prime numbers such that n mod 4 == 3?',
          ],
      ],
  );

  // Ответ содержит блоки с кратким изложением размышлений и текстовые блоки
  foreach ($response->content as $block) {
      echo match (true) {
          $block instanceof \Anthropic\Messages\ThinkingBlock => "\nThinking summary: {$block->thinking}",
          $block instanceof \Anthropic\Messages\TextBlock => "\nResponse: {$block->text}",
          default => '',
      };
  }
  ```

  ```ruby Ruby
  client = Anthropic::Client.new

  response = client.messages.create(
    model: "claude-sonnet-4-6",
    max_tokens: 16_000,
    thinking: {
      type: :enabled,
      budget_tokens: 10_000
    },
    messages: [
      {
        role: :user,
        content: "Are there an infinite number of prime numbers such that n mod 4 == 3?"
      }
    ]
  )

  # Ответ содержит блоки с кратким изложением размышлений и текстовые блоки
  response.content.each do |block|
    case block
    when Anthropic::Models::ThinkingBlock
      puts "\nThinking summary: #{block.thinking}"
    when Anthropic::Models::TextBlock
      puts "\nResponse: #{block.text}"
    end
  end
  ```
</CodeGroup>

Чтобы включить ручные расширенные размышления, добавьте объект `thinking` с параметром `type`, установленным в `enabled`, и значением `budget_tokens`.

Параметр `budget_tokens` задаёт целевое количество токенов, которое Claude может использовать для своего внутреннего процесса рассуждения. Большие бюджеты могут улучшить качество ответа, позволяя проводить более тщательный анализ сложных задач.

## Правила и настройка бюджета

`budget_tokens` должен удовлетворять следующим ограничениям:

* **Минимум 1 024 токена.** API отклоняет меньшие значения.
* **Меньше, чем `max_tokens`.** Токены размышлений учитываются в лимите `max_tokens` для хода, поэтому бюджет должен оставлять место для окончательного ответа. Единственное исключение — [чередующиеся размышления](https://platform.claude.com/docs/ru/build-with-claude/extended-thinking#interleaved-thinking), где `budget_tokens` может превышать `max_tokens`, поскольку бюджет распространяется на все блоки размышлений в рамках одного хода ассистента.
* **Без предварительного прогрева кэша.** Поскольку `budget_tokens` должен быть меньше `max_tokens`, расширенные размышления нельзя сочетать с `max_tokens: 0` ([предварительный прогрев кэша](https://platform.claude.com/docs/ru/build-with-claude/prompt-caching#pre-warming-the-cache)).

Бюджет — это целевое значение, а не строгий предел. Фактическое использование токенов зависит от задачи, и Claude может прекратить рассуждение задолго до исчерпания бюджета; `max_tokens` остаётся жёстким потолком для общего объёма вывода.

На Claude Opus 4.5, единственной модели только с расширенными размышлениями, которая поддерживает [effort](https://platform.claude.com/docs/ru/build-with-claude/effort), effort формирует общий ответ, а `budget_tokens` задаёт глубину размышлений; задавайте оба параметра.

Чтобы настроить бюджет:

* Подбирайте отправную точку под задачу. Для простых задач начинайте вблизи минимума в 1 024 токена и постепенно увеличивайте, чтобы найти оптимальный диапазон для вашего сценария использования. Для сложных задач начинайте с большего бюджета в 16 000 токенов или более и корректируйте в соответствии с вашими требованиями к задержке и качеству. Более высокие бюджеты позволяют проводить более всестороннее рассуждение с убывающей отдачей, зависящей от задачи, и ценой увеличенной задержки. Для критически важных задач протестируйте разные настройки, чтобы найти правильный баланс.
* Для бюджетов размышлений свыше 32k используйте [пакетную обработку](https://platform.claude.com/docs/ru/build-with-claude/batch-processing), чтобы избежать сетевых проблем. Принуждение модели думать более чем на 32k токенов порождает длительные запросы, которые могут столкнуться с системными тайм-аутами и лимитами открытых соединений.

Чтобы отслеживать, во что вам фактически обходится бюджет, следите за полем `usage.output_tokens_details.thinking_tokens` в ответе, которое сообщает, сколько из оплачиваемых выходных токенов пришлось на внутреннее рассуждение. При потоковой передаче эта разбивка появляется только в финальном событии `message_delta`.

Когда вы будете готовы отказаться от ручных бюджетов, см. раздел [Переход на адаптивные размышления](https://platform.claude.com/docs/ru/build-with-claude/extended-thinking#migrating-to-adaptive-thinking).

## Чередующиеся размышления в ручном режиме

«Interleaved thinking» (чередующиеся размышления) позволяют Claude размышлять между вызовами инструментов в пределах одного хода ассистента, рассуждая о каждом результате инструмента, прежде чем решить, что делать дальше. О самой концепции, структуре хода и поведении на моделях с адаптивными размышлениями см. раздел [чередующиеся размышления](https://platform.claude.com/docs/ru/build-with-claude/thinking#interleaved-thinking) в обзоре размышлений. В этом разделе описано, как включить их при использовании ручных размышлений `type: "enabled"`.

На Claude Opus 4.5, Claude Sonnet 4.5 (устарела) и более ранних моделях Claude 4 добавьте [«beta header» (бета-заголовок)](https://platform.claude.com/docs/ru/api/beta-headers) `interleaved-thinking-2025-05-14` в ваш запрос к API.

Поколение 4.6 в ручном режиме разделяется:

* **Claude Sonnet 4.6**: бета-заголовок с ручным `type: "enabled"` по-прежнему работает, но объявлен устаревшим. Предпочитайте [адаптивные размышления](https://platform.claude.com/docs/ru/build-with-claude/thinking), которые чередуются автоматически без заголовка.
* **Claude Opus 4.6**: в ручном режиме чередующихся размышлений нет вообще. Чередуется только его адаптивный режим, поэтому переключитесь на `thinking: {type: "adaptive"}`, если вам нужно рассуждение между вызовами инструментов на этой модели.

Claude Haiku 4.5 не поддерживает чередующиеся размышления. В Claude API бета-заголовок принимается, но игнорируется.

Ещё два соображения для чередующихся размышлений в ручном режиме:

* `budget_tokens` здесь может превышать `max_tokens`; [правила бюджета](https://platform.claude.com/docs/ru/build-with-claude/extended-thinking#budget-rules-and-tuning) объясняют это исключение.
* Чередующиеся размышления поддерживаются только для [инструментов, используемых через Messages API](https://platform.claude.com/docs/ru/agents-and-tools/tool-use/overview).

Платформы обрабатывают бета-заголовок по-разному. Claude API и [Claude Platform на AWS](https://platform.claude.com/docs/ru/build-with-claude/claude-platform-on-aws) принимают `interleaved-thinking-2025-05-14` на любой модели и игнорируют его там, где он не поддерживается. Принятие — не то же самое, что эффект: на моделях, которые отклоняют `type: "enabled"` (4.7 и новее) или не имеют чередования в ручном режиме (Claude Opus 4.6), заголовок не оказывает эффекта в ручном режиме; адаптивные размышления там чередуются автоматически.

Платформы, управляемые партнёрами ([Amazon Bedrock](https://platform.claude.com/docs/ru/build-with-claude/claude-in-amazon-bedrock) и [Google Cloud](https://platform.claude.com/docs/ru/build-with-claude/claude-on-vertex-ai)), аналогично принимают заголовок на любой модели, не возвращая ошибку, и игнорируют его на моделях, которые не поддерживают чередующиеся размышления.

## Структура хода в ручном режиме

Общие правила структуры хода, включая цикл использования инструментов в рамках одного хода, обработку конфликтов в середине хода и переключение размышлений между ходами, описаны в разделе [Размышления при использовании инструментов](https://platform.claude.com/docs/ru/build-with-claude/thinking#thinking-with-tool-use).

Ручной режим добавляет одно требование: последний ход ассистента в запросе с включёнными размышлениями должен начинаться с блока размышлений ([адаптивные размышления](https://platform.claude.com/docs/ru/build-with-claude/thinking) снимают это требование). Изменение конфигурации размышлений между ходами также делает недействительным кэширование подсказок; см. следующий раздел.

## Кэширование подсказок в ручном режиме

Ручной режим добавляет одно правило поверх не зависящего от режима поведения кэширования, описанного в разделе [Размышления и кэширование подсказок](https://platform.claude.com/docs/ru/build-with-claude/thinking#thinking-and-prompt-caching): изменение `budget_tokens` между запросами делает недействительными точки останова кэша, так же как и переключение режимов размышлений, поскольку значение бюджета отображается в подсказке. Точки останова на уровне сообщений всегда дают промах после изменения бюджета; дадут ли промах также точки останова инструментов и системной подсказки, зависит от того, где модель отображает конфигурацию.

На практике выберите бюджет и держите его стабильным на протяжении всей жизни кэшированного разговора. Запуск многоходового разговора с кэшированием на уровне сообщений на Claude Sonnet 4.6 и изменение бюджета в третьем запросе с 4 000 до 8 000 токенов наглядно показывает инвалидацию:

```text Output wrap
First request - establishing cache
First response usage: { cache_creation_input_tokens: 1370, cache_read_input_tokens: 0, input_tokens: 17, output_tokens: 700 }

Second request - same thinking parameters (cache hit expected)
Second response usage: { cache_creation_input_tokens: 0, cache_read_input_tokens: 1370, input_tokens: 303, output_tokens: 874 }

Third request - different thinking budget (cache miss expected)
Third response usage: { cache_creation_input_tokens: 1370, cache_read_input_tokens: 0, input_tokens: 747, output_tokens: 619 }
```

Третий запрос заново создаёт кэш (`cache_creation_input_tokens=1370`, `cache_read_input_tokens=0`), поскольку бюджет изменился между запросами. Запускаемую версию того же эксперимента в адаптивном режиме, где уровень effort играет ту же роль для кэша, что и `budget_tokens` здесь, см. в разделе [Кэширование подсказок](https://platform.claude.com/docs/ru/build-with-claude/thinking-steering-and-cost#prompt-caching) на странице управления размышлениями.

## Общая механика

Большая часть поведения размышлений не зависит от режима и документирована один раз на странице [Размышления](https://platform.claude.com/docs/ru/build-with-claude/thinking). Всё, что там описано, применимо и в ручном режиме:

* [Управление отображением размышлений](https://platform.claude.com/docs/ru/build-with-claude/thinking#controlling-thinking-display)
* [Потоковая передача размышлений](https://platform.claude.com/docs/ru/build-with-claude/thinking#streaming-thinking)
* [Размышления при использовании инструментов](https://platform.claude.com/docs/ru/build-with-claude/thinking#thinking-with-tool-use), включая [сохранение блоков размышлений](https://platform.claude.com/docs/ru/build-with-claude/thinking#preserving-thinking-blocks)
* [Размышления и кэширование подсказок](https://platform.claude.com/docs/ru/build-with-claude/thinking#thinking-and-prompt-caching)
* [Размышления и контекстное окно](https://platform.claude.com/docs/ru/build-with-claude/thinking#thinking-and-the-context-window)
* [Шифрование размышлений](https://platform.claude.com/docs/ru/build-with-claude/thinking#thinking-encryption)
* [Цены](https://platform.claude.com/docs/ru/build-with-claude/thinking-steering-and-cost#pricing) (на странице [Управление размышлениями](https://platform.claude.com/docs/ru/build-with-claude/thinking-steering-and-cost))

## Переход на адаптивные размышления

Если ваша модель поддерживает только расширенные размышления (Claude Sonnet 4.5 (устарела), Claude Opus 4.5, Claude Haiku 4.5 и более ранние модели Claude 4), сейчас никаких действий не требуется: адаптивные размышления там недоступны, и `type: "adaptive"` [возвращает ошибку 400](https://platform.claude.com/docs/ru/build-with-claude/thinking-troubleshooting#error-thinking-type-adaptive). Сохраняйте `budget_tokens`, пока не перейдёте на модель, поддерживающую адаптивные размышления, а затем примените приведённое ниже сопоставление.

Вам необходимо отказаться от `type: "enabled"`, если:

* Вы используете Claude Opus 4.6 или Claude Sonnet 4.6, где `budget_tokens` устарел.
* Вы используете Claude 4.7 или более позднюю модель, такую как Claude Opus 5.5, Claude Sonnet 5, Claude Sonnet 5.5, Claude Fable 5.1 или Claude Haiku 5.5, где `type: "enabled"` возвращает ошибку 400.

Сопоставление простое: удалите `budget_tokens`, задайте `thinking: {type: "adaptive"}` и управляйте глубиной рассуждения с помощью `output_config: {effort: ...}` вместо бюджета токенов.

```json
{
  "model": "claude-sonnet-4-6",
  "max_tokens": 16000,
  "thinking": {
    "type": "enabled",
    "budget_tokens": 10000
  }
}
```

превращается в:

```json
{
  "model": "claude-sonnet-4-6",
  "max_tokens": 16000,
  "thinking": {
    "type": "adaptive"
  },
  "output_config": {
    "effort": "high"
  }
}
```

`effort: "high"` является значением по умолчанию на Claude Sonnet 4.6, поэтому, если его здесь опустить, поведение не изменится; оно указано только для того, чтобы показать, где в адаптивном режиме задаётся глубина рассуждения. Claude Opus 5.5 и Claude Haiku 5.5 по умолчанию используют `"medium"`, а другие модели, поддерживающие effort, по умолчанию используют `"high"` (см. [Уровни усилий](https://platform.claude.com/docs/ru/build-with-claude/effort#effort-levels)).

Ожидайте изменения поведения, а не только синтаксиса. При фиксированном бюджете Claude размышляет в каждом запросе. При адаптивных размышлениях Claude сам определяет, размышлять ли и насколько в каждом запросе, и при более низких настройках [effort](https://platform.claude.com/docs/ru/build-with-claude/effort) может полностью пропускать размышления на простых входных данных. После перехода вы также можете удалить бета-заголовок `interleaved-thinking-2025-05-14`: адаптивные размышления чередуются автоматически, а Claude API игнорирует этот заголовок на этих моделях. Сохранение блоков размышлений тоже меняется: Claude Opus 4.5 и модели с номером 4.6 и выше сохраняют блоки размышлений предыдущих ходов в контексте и тарифицируют их как входные данные, тогда как Claude Sonnet 4.5 (устарела), Claude Haiku 4.5 и более ранние модели их удаляли; см. [сохранение блоков размышлений по моделям](https://platform.claude.com/docs/ru/build-with-claude/thinking#thinking-block-preservation-by-model).

Переключение режимов является изменением конфигурации размышлений, поэтому первый запрос после переключения делает недействительными точки останова кэша, как описано в разделе [Кэширование подсказок в ручном режиме](https://platform.claude.com/docs/ru/build-with-claude/extended-thinking#extended-thinking-with-prompt-caching).

Полное руководство см. в разделах [адаптивные размышления](https://platform.claude.com/docs/ru/build-with-claude/thinking), [effort](https://platform.claude.com/docs/ru/build-with-claude/effort) и в [руководстве по миграции моделей](https://platform.claude.com/docs/ru/about-claude/models/migration-guide).

## Следующие шаги

<CardGroup cols={3}>
  <Card title="Размышления" icon="brain" href="https://platform.claude.com/docs/ru/build-with-claude/thinking">
    Узнайте, как работают размышления: блоки, отображение, потоковая передача и использование инструментов.
  </Card>

  <Card title="Управление размышлениями" icon="compass" href="https://platform.claude.com/docs/ru/build-with-claude/thinking-steering-and-cost">
    Позвольте Claude определять, когда и насколько размышлять в каждом запросе.
  </Card>

  <Card title="Размышления в рабочих процессах с инструментами и несколькими ходами" icon="wrench" href="https://platform.claude.com/docs/ru/build-with-claude/thinking-tool-workflows">
    Сохраняйте блоки размышлений и управляйте размышлениями между вызовами инструментов и ходами.
  </Card>
</CardGroup>
