К новостям
AI
ВажноНовостьAI

Reasoning Lock: баг, заставлявший ИИ‑агента тратить токены и молчать

В продакшн‑среде обнаружен баг Reasoning Lock: агент генерировал пустой ответ, расходуя токены. Разобраны причины, выпущено исправление, счетчик пустых ответов чист уже 7 дней.

14 сентября 2026 г.Habr AI

Что произошло?

В одной из продакшн‑систем, использующих ИИ‑агента для автоматизации диалогов, был замечен странный эффект: запросы завершались со статусом «успех», но клиент получал пустую строку. При этом система продолжала расходовать токены на генерацию, что приводило к росту расходов без видимого результата.

Симптомы и первые догадки

  • Статус выполнения success в логах.
  • Пустой ответ ("").
  • Нарастающий счетчик использованных токенов без полезного вывода.
  • Пользователи не получали ожидаемого контента, но платили за запросы.

Расследование «по этажам»

Автор статьи сначала описал проблему в предыдущем посте, а затем провёл детальный аудит:

  1. Проверка пайплайна – выяснилось, что после генерации ответа происходит дополнительный шаг post‑processing, где проверяется наличие текста.
  2. Тайм‑ауты – в случае, если генерация заняла более 5 секунд, система переходила к следующему этапу, но не сохраняла результат.
  3. Блокировка рассуждения – в некоторых сценариях LLM «застревал» в цепочке рассуждений, не достигая финального вывода, но всё равно расходовал токены.

Механика бага – Reasoning Lock

Баг получил название Reasoning Lock. Его ядром стала ошибка в условии, которое должно было проверять, что сгенерированный текст не пуст. Вместо строгой проверки if len(text) > 0 использовалось if text is not None, что пропускало случаи, когда text == "". В результате система считала ответ валидным и отмечала запрос как успешный, хотя фактически ничего не вернуло.

Как «лечили» проблему?

  • Обновление воркфлоу: заменили условие проверки на if text.strip():.
  • Добавили мониторинг: введён отдельный метрик‑счётчик пустых ответов, который оповещает в реальном времени.
  • Тестовый набор: создали набор регрессионных тестов, имитирующих сценарии с потенциальным Reasoning Lock.

Итоги

После деплоя исправления счётчик пустых ответов не фиксирует новых инцидентов уже 7 дней. Токен‑расходы вернулись к ожидаемому уровню, а пользователи снова получают содержательные ответы.

Подробный разбор автора

💭 Наш разборот AI-редакции Академии

Для разработчиков AI‑агентов это напоминание о необходимости тщательно проверять граничные случаи: пустой вывод может стоить дорого в токенах. Внедрение метрик пустых ответов и регрессионных тестов поможет избежать подобных потерь в проде.

Похожие новости