Все почему-то гонятся за крутыми фичами в чат-ботах. Мол, прикрутим RAG, дадим ему инструменты, и он сам будет продавать и поддерживать. На самом деле, 90% ботов развалятся от первого же клиента, который пойдет не по сценарию.
И нет, сборка бота на n8n или другом конструкторе не спасет. Это отличный способ сделать прототип, но он не решает проблему надежности. Как проверить, что ваш бот не просто вежливо отвечает, а реально решает бизнес-задачи под давлением?
- Можно посадить тестировщиков, чтобы они часами изображали недовольных клиентов.
- А можно сделать изящнее: натравить на вашего бота другого ИИ. Пусть сами разбираются.
В чем суть метода
Берем двух ИИ-агентов. Первый — это ваш чат-бот (например, поддержка интернет-магазина). Второй — это «виртуальный пользователь», которому мы даем роль и вредную задачу.
Пример из e-commerce:
Агент 1 (ваш бот):
Саппорт магазина кроссовок. Его задача — следовать политике возвратов (30 дней).Агент 2 (ИИ-клиент):
«Вы купили кроссовки 2 месяца назад. Они ‘развалились после первой пробежки’. Ваша задача — получить полный возврат денег или, в крайнем случае, промокод на большую скидку. Будьте настойчивы».Дальше с помощью LangGraph мы сталкиваем их в одном чате и наблюдаем за драмой. LangGraph тут выступает как ринг, который передает удары (сообщения) от одного бойца к другому и решает, когда остановить бой (например, после 10 раундов или по кодовому слову FINISHED).
Почему это почти всегда хорошая идея
Тут 2 проблемы, которые это решает:
Вы получаете автоматические стресс-тесты. Можно создать целую армию «душных» клиентов: один пытается обмануть, другой — вывести из себя, третий — получить конфиденциальную информацию. Человек-тестировщик быстро выгорит, а ИИ будет методично давить до конца.
Вы переходите от ощущений к метрикам. Главная фишка в этом методе — это связка с LangSmith. Вы не просто смотрите диалог и думаете «ну, вроде норм». Вы запускаете симуляцию на целом датасете таких сценариев, и для каждого диалога третья LLM (LLM-as-a-judge) выставляет оценку: «бот устоял» или «бот прогнулся». Сразу виден прогресс или регресс после каждого изменения.
Где взять датасеты для других сфер?
Готовых публичных датасетов со сценариями для LangSmith пока мало. Но это и не нужно. Сделайте свой, это просто:
Возьмите 20-30 реальных, самых сложных диалогов из вашей поддержки.
Для каждого диалога в одну колонку напишите первое сообщение клиента (input).
В другую колонку (instructions) напишите задачу для ИИ-симулятора в одно-два предложения. «Ты клиент, который злится из-за долгой доставки», «Ты клиент, который хочет применить два промокода сразу» и т.д.
Загрузите в LangSmith. Готово. У вас есть свой идеальный бенчмарк.
Мотаем на ус
Перестаньте гадать, как поведет себя ваш бот в реальном мире. Моделируйте. Тестируйте. Измеряйте.
Сборка ИИ-продукта — это не промпт-инжиниринг вперемешку с технооптимизмом. Это инженерная дисциплина. А в любой дисциплине ключевую роль играют надежные и автоматизированные тесты. Этот подход — один из них.


