ИИ-агент находит баги дешевле тестировщика: опыт автоматизации диалоговых систем
QA-инженер из Just AI Никита Хробостов поделился результатами экспериментов по замене рутинного ручного тестирования диалоговых ботов ИИ-агентами. Несмотря на высокую скорость и низкую стоимость, полностью автоматизировать проверку сценариев пока невозможно из-за сложности парсинга визуальных дизайнов, но гибридный подход позволяет находить критические ошибки в NLU и работе с шумом на порядок дешевле ручной прогонки.

# ИИ-агент вместо тестировщика: экономия в 20 копеек за диалог
В разработке голосовых и чат-ботов одной из самых затратных и рутинных задач является ручное тестирование диалоговых сценариев. QA-инженер компании Just AI Никита Хробостов рассказывает, как он пытался автоматизировать эту работу с помощью ИИ, какие препятствия возникли и как удалось создать рабочий прототип, который уже приносит пользу команде.
Масштаб проблемы очевиден: на проекте голосового бота тестируют 13 активных сценариев, а для проверки одного из них требуется от 40 до более чем 100 звонков. Временные затраты на ручной проход одного небольшого сценария составляют 5–6 часов. Главная проблема не в количестве действий, а в качестве взаимодействия: повторяющийся персонал начинает говорить шаблонными фразами, из-за чего модель распознавания намерений (NLU) перестает работать корректно именно на естественной речи пользователя.
«Человек, прогоняющий пятидесятый тест-кейс за день, начинает говорить как автомат», — отмечает Хробостов.
Идея создания ИИ-агента, который имитирует поведение живого пользователя, позволила снизить стоимость одного диалога до 20–90 копеек и выявить ряд ошибок, не заметных при стандартном тестировании.
От невозможности парсинга к гибридной архитектуре
Первая попытка автоматизации провалилась из-за технической особенности: схемы диалогов компании хранятся в визуальном редакторе Holst и экспортируются в виде изображений (PDF, JPG, SVG). Попытка использовать OCR для извлечения структуры (узлов, переходов и условий) привела к огромному количеству ошибок. Даже небольшое искажение связей между узлами превращало бы весь тест в ложнопадающий.
«Лучший вариант, до которого я дошел — это цепочка конвертаций: выгрузка дизайна в PDF, конвертация в PPTX, где схема разбирается на элементы, и затем отправка файла в LLM для генерации JSON-структуры», — делится разработчик. Даже при использовании локальных моделей для сохранения конфиденциальности данных удалось достичь лишь 80% точности парсинга. Оставшиеся 20% ошибок делали невозможным строгий автоматический прогон по дизайну.
Второй подход сменил вектор. Вместо попытки заставить ИИ пройти каждый узел графа дизайна, была создана агентская система из трех ролей:
1. Агент-генератор: получает распарсенную JSON-структуру дизайна и генерирует черновики тест-кейсов. 2. Агент-тестировщик: ведет диалог с ботом в четырех режимах — «сговорчивый клиент», «негативный клиент», «шум» (имитация плохого звука или посторонних фраз) и «прогон по заранее сгенерированным кейсам». 3. Агент-судья: отдельная модель, которая оценивает записанные диалоги и выделяет проблемные участки, что особенно полезно при больших объемах ручного анализа.
Экономика и технические детали реализации
Проект был собран с нуля на Python без использования сложных агентных фреймворков. Основной упор был сделан на подготовку контекста для больших языковых моделей (LLM). Разработчик провел серию тестов вручную через Postman, собрал примеры запросов и ответов и заложил их в файл инструкций, что значительно упростило работу модели.
Для работы с голосовыми ботами была внедрена локальная транскрипция аудио с помощью библиотеки faster-whisper. Это позволило избежать сторонних API и дополнительно снизить расходы. Для управления затратами и выбора моделей был интегрирован внутренний продукт компании Caila, который предоставляет единый интерфейс для доступа к разным провайдерам.
Стоимость одного полного прогона диалога варьируется: * Скриптовые боты: 20–30 копеек за тест. * Боты с объемными ответами и ссылками: до 80–90 копеек за диалог.
Эти цифры включают стоимость токенов ИИ, но не учитывают локальную транскрипцию, стоимость которой равна нулю для заказчика.
Что ИИ находит лучше человека
Эксперимент показал, что ИИ-агент значительно эффективнее человека в определенных областях проверки:
* NLU-баги: Агент говорит более естественно, что позволяет ловить случаи, когда паттерн распознавания не срабатывает. Шаблонная речь тестировщика часто проходит такие ошибки незамеченными. * Критичные падения: Ошибки, приводящие к обрыву ветки или сбою сценария, выявляются быстро. * Обработка шума: Режим, имитирующий посторонние звуки или нелогичные вопросы, отлично проверяет механизмы CatchAll.
Однако ИИ пока не может выполнять жесткую верификацию текстов слово в слово из-за артефактов распознавания речи и неточностей при парсинге схемы. Поэтому полный цикл тестирования пока остается гибридным: автоматические прогоны используются для первичного анализа и поиска багов, а окончательную проверку и проверку мелких правок выполняют вручную.
Хробостов подчеркивает, что главная задача не в том, чтобы заменить тестировщика, а в том, чтобы распараллелить рутинные действия и освободить ресурсы для сложных сценариев.