Все статьи
Статья
11 августа 2026 г.7 мин

Reasoning-модели: когда включать reasoning_effort

Рассуждающие модели решают то, на чём обычные ломаются, но стоят дороже и думают дольше. Как выбрать уровень усилий и не платить за лишние размышления.

Роман Дьяченко


Reasoning-модели: когда включать reasoning_effort

Reasoning-модели перед ответом строят внутреннюю цепочку рассуждений. Это заметно поднимает качество на задачах с логикой, математикой, планированием и сложным кодом. Расплата — задержка (модель «думает» секунды) и цена (токены рассуждений тоже оплачиваются).

Параметр reasoning_effort

Уровень усилий регулируется. Обычно доступны low | medium | high:

resp = client.chat.completions.create(
model="deepseek-r1",
messages=[{"role": "user", "content": "Разбери, почему алгоритм даёт O(n^2), и предложи O(n log n)."}],
reasoning_effort="high",
)
  • low — короткое размышление, быстрее и дешевле. Для задач, где надо чуть «подумать», но не строить длинную цепочку.
  • medium — баланс, разумный дефолт для сложных запросов.
  • high — максимум усилий: олимпиадная математика, разбор запутанной логики, многошаговое планирование. Дорого и медленно.

Когда reasoning оправдан

  • Математика и вычисления с несколькими шагами.
  • Отладка неочевидного бага, где надо проследить поток данных.
  • Планирование: разбить большую задачу на шаги с зависимостями.
  • Задачи с ограничениями, где надо перебрать варианты и не нарушить условия.

Когда это лишнее

  • Извлечение полей, классификация, перевод. Тут думать нечего — reasoning только замедлит и удорожит. Берите обычную модель с temperature=0.
  • Генерация контента, чат поддержки. Ответ по шаблону не выигрывает от размышлений.
  • RAG-ответы по готовому контексту. Модель пересказывает найденное, а не решает задачу.
  • Простые вызовы инструментов. «Дёрни функцию по имени» — не про reasoning.

Ставить high на бота поддержки — всё равно что нанять профессора отвечать «где мой заказ». Дорого и медленно без выигрыша.

Стоимость: считайте токены рассуждений

Главная ловушка бюджета — рассуждения генерируются как выходные токены и оплачиваются, даже если вы их не видите. На high модель может «продумать» несколько тысяч токенов перед коротким ответом. То есть счёт вырастает не пропорционально длине ответа, а пропорционально глубине размышления.

print(resp.usage.completion_tokens_details.reasoning_tokens)

Логируйте reasoning_tokens и смотрите, за что платите. 1 кредит = 1 ₽ — на потоке разница между medium и high бьёт по счёту ощутимо.

Практическая стратегия

  • Дефолт для приложения — обычная модель без reasoning.
  • Reasoning включайте адресно, под конкретный тип запроса, а не глобально.
  • Начинайте с medium, поднимайте до high только если на ваших задачах medium реально не дотягивает — проверьте на выборке, а не на ощущениях.
  • Ставьте таймаут и покажите пользователю индикатор «думаю»: несколько секунд молчания без объяснения выглядят как зависание.

Reasoning — мощный инструмент, но узкоспециальный. Большинство запросов в типовом продукте в нём не нуждаются, и включённый «на всякий случай» high — это просто переплата за задержку.