Reasoning Lock: ИИ-агент в проде тратит токены и молчит — живой разбор бага

habrahabr.ru · world

<img src="https://habrastorage.org/getpro/habr/upload_files/76f/2be/71d/76f2be71dacdd0dd66701bfe22897b42.png" /><p>В прошлой статье (<a href="https://habr.com/ru/articles/1076084/" rel="noopener nofollow">https://habr.com/ru/articles/1076084/</a>) я рассказывал о скрытом баге: ИИ-агент в проде заказчика тратит токены, генерация закрывается со статусом "успех", а клиенту уезжает пустая строка. Тогда я обещал разобраться и починить. Обещание выполнено: причина найдена, правки встали в воркфлоу, счётчик пустых ответов уже 7 дней - чисто. Баг получил имя <strong>Reasoning Lock</strong>. Теперь подробно о нём: симптомы, "расследование по этажам", механика и "лечение" - в общём в стиле детектива))</p><p>Напомню, что строю ИИ-агентов на self-hosted n8n. Герой статьи - агент в проде заказчика: по ночам принимает заявки в Instagram Direct, ведёт диалог, собирает анкету и создаёт/обновляет сделку в amoCRM. Стек агента: n8n + Redis + LangChain, LLM основная - DeepSeek V4 Pro через OpenRouter, резервная - недавно поменял на Qwen3.8 Flash. </p><p><strong>Предыстория: два периода, две природы отказов</strong></p><p>История началась задолго до самого бага. С конца июня (установил в прод агента в первых числах июня если точнее быть) отказы случались двух периодов, и разница между ними = <em><u>ключ к пониманию.</u></em></p><p><strong>Период первый = тесты и запуск: инфраструктура.</strong> Первые "пропавшие ответы" пользователям имели вполне земную природу: ограничения Meta - потери вебхуков, окно ответов, двойные доставки. Как это чинилось (мгновенный 200 OK, буфер на Redis, дебаунс) - разобрано в первых двух частях. К продакшену этот класс закрыли.</p><p><strong>Период второй - последние два месяца: промпт. </strong> Система стабилизировалась, и правки от заказчика посыпались в системный промпт... (( Под живую бизнес-логику: инструкция по пересылке оплаты пользователем, отдельные сценарии ответов для VIP-клиентов <em>(абзаца два , которые под каждое "фи" постоянного клиента меняли по несколько раз)</em>, уточнения формулировок после каждого спорного диалога. Каждая правка по отдельности естетсвенно правильная и рабочая. Суммарно же промпт разросся до где то 6.4k токенов, и плотность запретов ("КАТЕГОРИЧЕСКИ ЗАПРЕЩЕНО", "Отправь СТРОГО этот текст") стала максимальной за всю жизнь системы.</p> <a href="https://habr.com/ru/articles/1081780/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=1081780#habracut">Читать далее</a>

Read full article →