Skip to content

Thinking модели: способность к размышлениям Claude и Gemini 3

Что вы сможете делать после изучения

  • Настраивать thinking budget для моделей Claude Opus 4.5 и Sonnet 4.5 Thinking
  • Использовать thinking level для Gemini 3 Pro/Flash (minimal/low/medium/high)
  • Гибко регулировать интенсивность размышлений через систему variant OpenCode
  • Понимать interleaved thinking (механизм размышлений при вызове инструментов)
  • Освоить стратегию сохранения блоков размышлений (конфигурация keep_thinking)

Ваша текущая проблема

Вы хотите, чтобы AI-модели показывали лучшие результаты в сложных задачах — например, при многошаговых рассуждениях, отладке кода или проектировании архитектуры. Но вы знаете:

  • Обычные модели отвечают слишком быстро, недостаточно глубоко обдумывая
  • Официальный Claude ограничивает функцию thinking, доступ к ней затруднён
  • Конфигурация thinking level для Gemini 3 неясна
  • Непонятно, сколько размышлений достаточно (какой budget следует установить)
  • При чтении содержимого блоков размышлений возникают ошибки подписи

Когда применять этот подход

Подходящие сценарии:

  • Сложные задачи, требующие многошаговых рассуждений (проектирование алгоритмов, системная архитектура)
  • Тщательный code review или отладка
  • Глубокий анализ длинных документов или кодовых баз
  • Задачи с интенсивным использованием инструментов (требуется interleaved thinking)

Неподходящие сценарии:

  • Простые вопросы-ответы (трата thinking quota)
  • Быстрая проверка прототипов (приоритет скорости)
  • Фактические запросы (рассуждения не требуются)

🎒 Подготовка к началу

Проверка предварительных условий

  1. Завершена установка плагина и аутентификация: см. Быстрая установка и Первый вход
  2. Понимание базового использования моделей: см. Первый запрос
  3. Доступ к Thinking моделям: убедитесь, что у вашего аккаунта есть права доступа к Claude Opus 4.5/Sonnet 4.5 Thinking или Gemini 3 Pro/Flash

Ключевая концепция

Что такое Thinking модели

Thinking модели сначала проводят внутренние рассуждения (thinking blocks) перед генерацией окончательного ответа. Эти рассуждения:

  • Не тарифицируются: Thinking tokens не учитываются в обычной квоте вывода (конкретные правила тарификации см. в официальной документации Antigravity)
  • Повышают качество рассуждений: Больше размышлений → более точные и логичные ответы
  • Требуют времени: Thinking увеличивает задержку ответа, но даёт лучший результат

Ключевое отличие:

Обычные моделиThinking модели
Напрямую генерируют ответСначала думают → затем генерируют ответ
Быстрые, но могут быть поверхностнымиМедленные, но более глубокие
Подходят для простых задачПодходят для сложных задач

Две реализации Thinking

Плагин Antigravity Auth поддерживает две реализации Thinking:

Claude Thinking (Opus 4.5, Sonnet 4.5)

  • Token-based budget: Контроль объёма размышлений числом (например, 8192, 32768)
  • Interleaved thinking: Может думать до и после вызова инструментов
  • Snake_case keys: Используются include_thoughts, thinking_budget

Gemini 3 Thinking (Pro, Flash)

  • Level-based: Контроль интенсивности размышлений строкой (minimal/low/medium/high)
  • CamelCase keys: Используются includeThoughts, thinkingLevel
  • Различия моделей: Flash поддерживает все 4 уровня, Pro только low/high

Практическое руководство

Шаг 1: Конфигурация Thinking моделей через Variant

Система variant OpenCode позволяет выбирать интенсивность размышлений прямо в селекторе моделей, не запоминая сложные названия моделей.

Проверка существующей конфигурации

Посмотрите конфигурацию ваших моделей (обычно в .opencode/models.json или системном конфигурационном каталоге):

bash
## Просмотр конфигурации моделей
cat ~/.opencode/models.json

Конфигурация Claude Thinking моделей

Найдите antigravity-claude-sonnet-4-5-thinking или antigravity-claude-opus-4-5-thinking, добавьте variants:

json
{
  "antigravity-claude-sonnet-4-5-thinking": {
    "name": "Claude Sonnet 4.5 Thinking",
    "limit": { "context": 200000, "output": 64000 },
    "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] },
    "variants": {
      "low": { "thinkingConfig": { "thinkingBudget": 8192 } },
      "medium": { "thinkingConfig": { "thinkingBudget": 16384 } },
      "max": { "thinkingConfig": { "thinkingBudget": 32768 } }
    }
  }
}

Описание конфигурации:

  • low: 8192 tokens - лёгкие размышления, подходят для задач средней сложности
  • medium: 16384 tokens - баланс размышлений и скорости
  • max: 32768 tokens - максимальные размышления, подходят для самых сложных задач

Конфигурация Gemini 3 Thinking моделей

Gemini 3 Pro (поддерживает только low/high):

json
{
  "antigravity-gemini-3-pro": {
    "name": "Gemini 3 Pro (Antigravity)",
    "limit": { "context": 1048576, "output": 65535 },
    "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] },
    "variants": {
      "low": { "thinkingLevel": "low" },
      "high": { "thinkingLevel": "high" }
    }
  }
}

Gemini 3 Flash (поддерживает все 4 уровня):

json
{
  "antigravity-gemini-3-flash": {
    "name": "Gemini 3 Flash (Antigravity)",
    "limit": { "context": 1048576, "output": 65536 },
    "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] },
    "variants": {
      "minimal": { "thinkingLevel": "minimal" },
      "low": { "thinkingLevel": "low" },
      "medium": { "thinkingLevel": "medium" },
      "high": { "thinkingLevel": "high" }
    }
  }
}

Описание конфигурации:

  • minimal: минимальные размышления, самый быстрый ответ (только Flash)
  • low: лёгкие размышления
  • medium: сбалансированные размышления (только Flash)
  • high: максимальные размышления (самый медленный, но глубочайший)

Вы должны увидеть: в селекторе моделей OpenCode при выборе Thinking модели появится выпадающее меню variant.

Шаг 2: Отправка запроса с использованием Thinking модели

После настройки конфигурации вы можете выбирать модели и variant через OpenCode:

bash
## Использование Claude Sonnet 4.5 Thinking (max)
opencode run "Помогите спроектировать архитектуру распределённой системы кэширования" \
  --model=google/antigravity-claude-sonnet-4-5-thinking \
  --variant=max

## Использование Gemini 3 Pro (high)
opencode run "Проанализируйте узкие места в производительности этого кода" \
  --model=google/antigravity-gemini-3-pro \
  --variant=high

## Использование Gemini 3 Flash (minimal - самый быстрый)
opencode run "Быстро обобщите содержимое этого файла" \
  --model=google/antigravity-gemini-3-flash \
  --variant=minimal

Вы должны увидеть: модель сначала выводит thinking blocks (содержимое размышлений), а затем генерирует окончательный ответ.

Шаг 3: Понимание Interleaved Thinking

Interleaved thinking — это специальная способность моделей Claude: они могут думать до и после вызова инструментов.

Пример сценария: при выполнении задачи с использованием инструментов (например, операции с файлами, запросы к базе данных):

Thinking: Мне сначала нужно прочитать конфигурационный файл, затем решить следующий шаг...

[Вызов инструмента: read_file("config.json")]

Результат инструмента: { "port": 8080, "mode": "production" }

Thinking: Порт 8080, режим production. Мне нужно проверить правильность конфигурации...

[Вызов инструмента: validate_config({ "port": 8080, "mode": "production" })]

Результат инструмента: { "valid": true }

Thinking: Конфигурация действительна. Теперь я могу запустить службу.

[Генерация окончательного ответа]

Почему это важно:

  • Размышления до и после вызова инструментов → более интеллектуальные решения
  • Адаптация к результатам инструментов → динамическая корректировка стратегии
  • Предотвращение слепого выполнения → снижение количества ошибочных операций

Плагин обрабатывает автоматически

Вам не нужно вручную настраивать interleaved thinking. Плагин Antigravity Auth автоматически обнаруживает Claude Thinking модели и внедряет системную инструкцию:

  • "Interleaved thinking is enabled. You may think between tool calls and after receiving tool results before deciding on next action or final answer."

Шаг 4: Управление стратегией сохранения блоков размышлений

По умолчанию плагин удаляет блоки размышлений для повышения надёжности (предотвращение ошибок подписи). Если вы хотите читать содержимое размышлений, нужно настроить keep_thinking.

Почему по умолчанию удаляется?

Проблема ошибок подписи:

  • Thinking blocks в многоходовых диалогах требуют соответствия подписей
  • Если сохранять все блоки размышлений, возможны конфликты подписей
  • Удаление блоков размышлений — более стабильное решение (но теряется содержимое размышлений)

Включение сохранения блоков размышлений

Создайте или отредактируйте конфигурационный файл:

Linux/macOS: ~/.config/opencode/antigravity.json

Windows: %APPDATA%\opencode\antigravity.json

json
{
  "$schema": "https://raw.githubusercontent.com/NoeFabris/opencode-antigravity-auth/main/assets/antigravity.schema.json",
  "keep_thinking": true
}

Или используйте переменную окружения:

bash
export OPENCODE_ANTIGRAVITY_KEEP_THINKING=1

Вы должны увидеть:

  • keep_thinking: false (по умолчанию): видите только окончательный ответ, блоки размышлений скрыты
  • keep_thinking: true: видите полный процесс размышлений (возможны ошибки подписи в некоторых многоходовых диалогах)

Рекомендуемые практики

  • Продакшн-среда: используйте значение по умолчанию keep_thinking: false, обеспечивая стабильность
  • Отладка/обучение: временно включите keep_thinking: true, наблюдая процесс размышлений
  • При ошибках подписи: отключите keep_thinking, плагин автоматически восстановит работу

Шаг 5: Проверка Max Output Tokens

Claude Thinking модели требуют большего ограничения выходных токенов (maxOutputTokens), иначе thinking budget может быть использован не полностью.

Автоматическая обработка плагином:

  • Если вы установили thinking budget, плагин автоматически скорректирует maxOutputTokens до 64 000
  • Расположение исходного кода: src/plugin/transform/claude.ts:78-90

Ручная конфигурация (опционально):

Если вы вручную устанавливаете maxOutputTokens, убедитесь, что оно больше thinking budget:

json
{
  "antigravity-claude-sonnet-4-5-thinking": {
    "variants": {
      "max": {
        "thinkingConfig": { "thinkingBudget": 32768 },
        "maxOutputTokens": 64000  // должно быть >= thinkingBudget
      }
    }
  }
}

Вы должны увидеть:

  • Если maxOutputTokens слишком мало, плагин автоматически скорректирует его до 64 000
  • В логах отладки отобразится "Adjusted maxOutputTokens for thinking model"

Проверочный пункт ✅

Проверьте правильность вашей конфигурации:

1. Проверка видимости Variant

В OpenCode:

  1. Откройте селектор моделей
  2. Выберите Claude Sonnet 4.5 Thinking
  3. Проверьте наличие выпадающего меню variant (low/medium/max)

Ожидаемый результат: видны 3 опции variant.

2. Проверка вывода содержимого размышлений

bash
opencode run "Подумайте 3 шага: 1+1=? Почему?" \
  --model=google/antigravity-claude-sonnet-4-5-thinking \
  --variant=max

Ожидаемый результат:

  • Если keep_thinking: true: виден подробный процесс размышлений
  • Если keep_thinking: false (по умолчанию): сразу виден ответ "2"

3. Проверка Interleaved Thinking (требуется вызов инструментов)

bash
## Использование задачи, требующей вызова инструментов
opencode run "Прочитайте список файлов текущего каталога, затем обобщите типы файлов" \
  --model=google/antigravity-claude-sonnet-4-5-thinking \
  --variant=medium

Ожидаемый результат:

  • Содержимое размышлений до и после вызова инструментов
  • AI будет корректировать стратегию на основе результатов инструментов

Предупреждения о типичных ошибках

❌ Ошибка 1: Thinking Budget превышает Max Output Tokens

Проблема: установлен thinkingBudget: 32768, но maxOutputTokens: 20000

Сообщение об ошибке:

Invalid argument: max_output_tokens must be greater than or equal to thinking_budget

Решение:

  • Разрешить плагину обрабатывать автоматически (рекомендуется)
  • Или вручную установить maxOutputTokens >= thinkingBudget

❌ Ошибка 2: Gemini 3 Pro использует unsupported level

Проблема: Gemini 3 Pro поддерживает только low/high, но вы пытаетесь использовать minimal

Сообщение об ошибке:

Invalid argument: thinking_level "minimal" not supported for gemini-3-pro

Решение: Используйте только поддерживаемые уровни для Pro (low/high)

❌ Ошибка 3: Ошибки подписи в многоходовом диалоге (keep_thinking: true)

Проблема: после включения keep_thinking: true возникают ошибки в многоходовом диалоге

Сообщение об ошибке:

Signature mismatch in thinking blocks

Решение:

  • Временно отключите keep_thinking: export OPENCODE_ANTIGRAVITY_KEEP_THINKING=0
  • Или начните новый диалог заново

❌ Ошибка 4: Variant не отображается

Проблема: настроены variants, но не видны в селекторе моделей OpenCode

Возможные причины:

  • Неправильный путь к конфигурационному файлу
  • Синтаксическая ошибка JSON (отсутствует запятая, кавычка)
  • Несоответствие ID модели

Решение:

  1. Проверьте путь к конфигурационному файлу: ~/.opencode/models.json или ~/.config/opencode/models.json
  2. Проверьте синтаксис JSON: cat ~/.opencode/models.json | python -m json.tool
  3. Проверьте, совпадает ли ID модели с тем, что возвращает плагин

Резюме урока

Thinking модели повышают качество ответов в сложных задачах за счёт внутренних рассуждений перед генерацией ответа:

ФункцияClaude ThinkingGemini 3 Thinking
Способ конфигурацииthinkingBudget (число)thinkingLevel (строка)
УровниПользовательский budgetminimal/low/medium/high
Ключиsnake_case (include_thoughts)camelCase (includeThoughts)
Interleaved✅ Поддерживается❌ Не поддерживается
Max OutputАвтоматически корректируется до 64 000Используется значение по умолчанию

Ключевая конфигурация:

  • Система Variant: конфигурация через thinkingConfig.thinkingBudget (Claude) или thinkingLevel (Gemini 3)
  • keep_thinking: по умолчанию false (стабильность), true (читаемость размышлений)
  • Interleaved thinking: автоматически включается, ручная конфигурация не требуется

Предварительный просмотр следующего урока

В следующем уроке мы изучим Google Search Grounding.

Вы узнаете:

  • Как включить поиск Google Search для моделей Gemini
  • Как настроить динамический порог поиска
  • Как повысить точность фактов и снизить галлюцинации

Приложение: Справочник исходного кода

Нажмите, чтобы развернуть и просмотреть расположение исходного кода

Время обновления: 2026-01-23

ФункцияПуть к файлуНомер строки
Построение конфигурации Claude Thinkingsrc/plugin/transform/claude.ts62-72
Построение конфигурации Gemini 3 Thinkingsrc/plugin/transform/gemini.ts163-171
Построение конфигурации Gemini 2.5 Thinkingsrc/plugin/transform/gemini.ts176-184
Обнаружение Claude Thinking моделейsrc/plugin/transform/claude.ts34-37
Обнаружение Gemini 3 моделейsrc/plugin/transform/gemini.ts137-139
Внедрение подсказки Interleaved Thinkingsrc/plugin/transform/claude.ts96-138
Автоматическая корректировка Max Output Tokenssrc/plugin/transform/claude.ts78-90
Схема конфигурации keep_thinkingsrc/plugin/config/schema.ts78-87
Применение преобразований Claude Thinkingsrc/plugin/transform/claude.ts324-366
Применение преобразований Gemini Thinkingsrc/plugin/transform/gemini.ts372-434

Ключевые константы:

  • CLAUDE_THINKING_MAX_OUTPUT_TOKENS = 64_000: Максимальное количество выходных токенов для Claude Thinking моделей
  • CLAUDE_INTERLEAVED_THINKING_HINT: Подсказка interleaved thinking, внедряемая в системную инструкцию

Ключевые функции:

  • buildClaudeThinkingConfig(includeThoughts, thinkingBudget): Построение конфигурации Claude Thinking (snake_case keys)
  • buildGemini3ThinkingConfig(includeThoughts, thinkingLevel): Построение конфигурации Gemini 3 Thinking (level string)
  • buildGemini25ThinkingConfig(includeThoughts, thinkingBudget): Построение конфигурации Gemini 2.5 Thinking (numeric budget)
  • ensureClaudeMaxOutputTokens(generationConfig, thinkingBudget): Обеспечение достаточного размера maxOutputTokens
  • appendClaudeThinkingHint(payload, hint): Внедрение подсказки interleaved thinking
  • isClaudeThinkingModel(model): Обнаружение Claude Thinking моделей
  • isGemini3Model(model): Обнаружение Gemini 3 моделей