Сравнение моделей рассуждения
Модель рассуждения тратит дополнительные вычисления, размышляя перед тем, как ответить — генерируя закрытую цепочку промежуточных шагов, а затем финальный ответ. Это самый мощный рычаг для точности на сложных задачах у любого крупного ИИ сегодня. Загвоздка: каждый провайдер реализует одну и ту же идею через свой регулятор, и перерасход впустую тратит деньги и задержку без какой-либо выгоды. Этот урок раскладывает регуляторы бок о бок, чтобы навык переносился между Claude, GPT, Gemini, DeepSeek и Qwen.
- Объяснить, что даёт вам вычисление во время инференса (размышление), а что нет
- Сопоставить управление рассуждением у каждого провайдера: effort у Claude, reasoning.effort у OpenAI, thinkingBudget/thinkingLevel у Gemini, reasoner у DeepSeek, enable_thinking у Qwen
- Выбирать глубину размышления по задаче, а не выставлять всё по умолчанию на максимум
- Правильно считывать трассу рассуждения в каждом API, не подавая её обратно на вход
- Избегать типичных ловушек: избыточное размышление, модели без отключения и восприятие усилия как средства повышения качества
Одна идея: размышление — это регулятор, а не переключатель
Каждая модель рассуждения находится на одном и том же компромиссе:
- Меньше размышления → быстрее, дешевле. Подходит для извлечения, форматирования, простых вопросов-ответов.
- Больше размышления → лучше на действительно сложных задачах (многошаговая математика, хитрая отладка, аккуратные доказательства), но с более высокой задержкой и стоимостью.
Ловушка, на которой люди спотыкаются: дополнительное размышление ничего не даёт задаче, которая и так была простой — вы просто платите задержкой и стоимостью. Навык — тратить глубину там, где она меняет ответ. Эта истина одинакова на каждой модели ниже; меняется только название регулятора.
Это межмодельный аналог урока Расширенное размышление и усилие, посвящённого именно Claude — прочтите его ради подробностей по Claude Messages API.
Шаг 1 — Классифицируйте задачу, прежде чем трогать регулятор
- Извлечение, переформатирование, классификация, короткий фактический поиск → минимум размышления или без него. Размышление не поможет и добавит задержку.
- Обычное кодирование, черновики, многоабзацный анализ → среднее / динамическое. Сбалансированное значение по умолчанию у каждого провайдера.
- Олимпиадная математика, тонкая отладка гонок состояний, длинные доказательства, сложное агентное планирование → высокое / большой бюджет. Именно здесь размышление окупает свою стоимость.
- Начинайте со среднего/динамического значения по умолчанию провайдера и повышайте усилие только там, где качество этого явно требует.
- Более высокое усилие — не средство от расплывчатого промпта; более чёткая спецификация обычно бьёт большее размышление.
Шаг 2 — Регулятор, провайдер за провайдером
Один и тот же регулятор, пять разных управляющих поверхностей. Это та таблица, которую стоит держать открытой при переносе нагрузки между моделями.
| Провайдер / модель | Управление | Значения | Отключить размышление? |
|---|---|---|---|
| Claude (расширенное размышление) | уровень effort (новые модели адаптируют глубину; старые предоставляют budget_tokens) | Low / Medium / High | Да, на большинстве — используйте низкий уровень или опустите размышление |
| OpenAI GPT‑5.5 / серия o | reasoning.effort | minimal, low, medium (по умолчанию), high, xhigh (GPT‑5.5 / Codex‑Max) | minimal выдаёт мало/нет токенов рассуждения |
| Google Gemini 2.5 | thinkingBudget | число токенов; 0 отключает; -1 = динамически (потолок ~8 192); 2.5 Pro требует 128–32768 или -1 | 0 на большинстве моделей 2.5 |
| Google Gemini 3 | thinkingLevel (не сочетать с thinkingBudget) | ступенчатые уровни | Нет — Gemini 3.1 Pro не может отключить |
DeepSeek R1 (deepseek-reasoner) | выделенный reasoner — всегда размышляет | н/д (открытые веса, запускается локально) | Нет — это модель только для размышления |
| Qwen3 | enable_thinking (гибрид) + мягкие переключатели /think · /no_think | вкл / выкл, переключается за ход | Да — enable_thinking=False или /no_think |
- Некоторые модели УБИРАЮТ переключатель отключения: Gemini 3.1 Pro и DeepSeek R1 всегда размышляют. Планируйте задержку/стоимость с учётом этого — их нельзя свести к нулю.
- На Gemini 3 задание и thinkingLevel, и thinkingBudget в одном запросе — это ошибка. Выберите одно.
- Динамический режим Gemini (-1) ограничивает размышление ~8 192 токенами — нормально для большинства работы, но это жёсткий потолок на самых трудных задачах.
Два семейства
Читая таблицу сверху вниз, модели делятся на два вида — понимание того, что у вас в руках, подсказывает, чего ожидать:
- Гибридные / переключаемые (Claude, OpenAI, Gemini 2.5, Qwen3): одна модель, вы крутите размышление вверх или вниз — или выключаете — на каждый запрос. Лучше всего для смешанного трафика, где часть вызовов тривиальна, а часть сложна.
- Выделенные reasoner'ы (DeepSeek R1; Gemini 3.1 Pro на практике): модель всегда рассуждает. Не направляйте сюда форматирование и извлечение — вы будете платить налог на размышление за каждый вызов. Держите дешёвую не-размышляющую модель в ротации для лёгкого трафика.
Шаг 3 — Считывайте трассу рассуждения правильно
Каждый провайдер возвращает размышление отдельно от ответа — и универсальное правило: не вставляйте рассуждение обратно на вход на следующем ходу. Подавайте обратно только финальный ответ (плюс, в Claude, подписанные блоки размышления, которые API отдаёт вам для циклов инструментов).
- Ответ приходит как блок размышления, за которым следует текстовый блок. Итерируйте message.content и ветвитесь по block.type.
- Рассуждение живёт в элементах reasoning / summary; вам выставляют счёт за токены рассуждения, которых вы не видите полностью. Сохраняйте состояние ответа, а не пересылайте сырое рассуждение.
- Установите includeThoughts, чтобы получить сводки мыслей; токены размышления оплачиваются и отражаются в метаданных использования.
- Трасса возвращается в поле reasoning_content (старые сборки) или reasoning, отдельно от content. С сырыми весами это текст между тегами <think> и </think>.
Одна задача, три регулятора — псевдо-конфиг, который можно адаптировать
# Claude — balanced
thinking = {"type": "enabled", "budget_tokens": 8000} # keep < max_tokens
# OpenAI — balanced
reasoning = {"effort": "medium"}
# Gemini 2.5 — let the model decide
thinking_config = {"thinking_budget": -1} # dynamic; 0 to disable
# Qwen3 (local) — turn thinking OFF for a trivial call
chat_template_kwargs = {"enable_thinking": False}Шаг 4 — Когда НЕ стоит тратить размышление
Дорогая ошибка — выставлять всё по умолчанию на максимум. Пропускайте или минимизируйте размышление, когда:
- Задача механическая (извлечь, переформатировать, классифицировать, перевести известную строку).
- Вы под жёстким бюджетом задержки (чат-интерфейсы, автодополнение) — используйте
minimal/0//no_think. - Промпт недоопределён — больше размышления над расплывчатой задачей порождает уверенное блуждание, а не лучший ответ. Сначала исправьте спецификацию.
- Вы выполняете высокообъёмную пакетную работу, где несколько пунктов точности не стоят умножения счёта за токены на миллионы вызовов.
- Правило большого пальца: размышление окупается, когда у задачи есть проверяемый правильный ответ, требующий нескольких зависимых шагов. Оно мало что даёт на открытой генерации, где нет единственно верного пути.
Викторина
Check yourself
0/4Карточки
Источники и дальнейшее чтение
- OpenAI — Руководство по моделям рассуждения и Лучшие практики рассуждения
- Google AI for Developers — Размышление Gemini
- Anthropic — Расширенное размышление
- Qwen3 — Think Deeper, Act Faster
- vLLM — Выводы рассуждения (DeepSeek R1, Qwen3)
- Связанное на AILmanac: Расширенное размышление и усилие · Выбор модели · Перенос промптов между моделями