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)
- Быстрая проверка прототипов (приоритет скорости)
- Фактические запросы (рассуждения не требуются)
🎒 Подготовка к началу
Проверка предварительных условий
- Завершена установка плагина и аутентификация: см. Быстрая установка и Первый вход
- Понимание базового использования моделей: см. Первый запрос
- Доступ к 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 или системном конфигурационном каталоге):
## Просмотр конфигурации моделей
cat ~/.opencode/models.jsonКонфигурация Claude Thinking моделей
Найдите antigravity-claude-sonnet-4-5-thinking или antigravity-claude-opus-4-5-thinking, добавьте variants:
{
"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):
{
"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 уровня):
{
"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:
## Использование 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
{
"$schema": "https://raw.githubusercontent.com/NoeFabris/opencode-antigravity-auth/main/assets/antigravity.schema.json",
"keep_thinking": true
}Или используйте переменную окружения:
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:
{
"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:
- Откройте селектор моделей
- Выберите
Claude Sonnet 4.5 Thinking - Проверьте наличие выпадающего меню variant (low/medium/max)
Ожидаемый результат: видны 3 опции variant.
2. Проверка вывода содержимого размышлений
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 (требуется вызов инструментов)
## Использование задачи, требующей вызова инструментов
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 модели
Решение:
- Проверьте путь к конфигурационному файлу:
~/.opencode/models.jsonили~/.config/opencode/models.json - Проверьте синтаксис JSON:
cat ~/.opencode/models.json | python -m json.tool - Проверьте, совпадает ли ID модели с тем, что возвращает плагин
Резюме урока
Thinking модели повышают качество ответов в сложных задачах за счёт внутренних рассуждений перед генерацией ответа:
| Функция | Claude Thinking | Gemini 3 Thinking |
|---|---|---|
| Способ конфигурации | thinkingBudget (число) | thinkingLevel (строка) |
| Уровни | Пользовательский budget | minimal/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 Thinking | src/plugin/transform/claude.ts | 62-72 |
| Построение конфигурации Gemini 3 Thinking | src/plugin/transform/gemini.ts | 163-171 |
| Построение конфигурации Gemini 2.5 Thinking | src/plugin/transform/gemini.ts | 176-184 |
| Обнаружение Claude Thinking моделей | src/plugin/transform/claude.ts | 34-37 |
| Обнаружение Gemini 3 моделей | src/plugin/transform/gemini.ts | 137-139 |
| Внедрение подсказки Interleaved Thinking | src/plugin/transform/claude.ts | 96-138 |
| Автоматическая корректировка Max Output Tokens | src/plugin/transform/claude.ts | 78-90 |
| Схема конфигурации keep_thinking | src/plugin/config/schema.ts | 78-87 |
| Применение преобразований Claude Thinking | src/plugin/transform/claude.ts | 324-366 |
| Применение преобразований Gemini Thinking | src/plugin/transform/gemini.ts | 372-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): Обеспечение достаточного размера maxOutputTokensappendClaudeThinkingHint(payload, hint): Внедрение подсказки interleaved thinkingisClaudeThinkingModel(model): Обнаружение Claude Thinking моделейisGemini3Model(model): Обнаружение Gemini 3 моделей