ИИ-агенты · автоматизация тестирования · QA · NLU · чат-боты · голосовые боты · Just AI29 августа в 07:32 · 4 мин

ИИ-агент находит баги дешевле тестировщика: опыт автоматизации диалоговых систем

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.

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

Хробостов подчеркивает, что главная задача не в том, чтобы заменить тестировщика, а в том, чтобы распараллелить рутинные действия и освободить ресурсы для сложных сценариев.

Первоисточники

Habr AI
← Вернуться в эфир