Тестирование голосовых агентов с помощью Agent Simulations

Источник: LiveKit•

Тестирование голосовых агентов с помощью Agent Simulations

Инструмент Agent Simulations теперь общедоступен для всех проектов LiveKit Cloud. Он тестирует целые разговоры с помощью смоделированного пользователя на базе LLM, позволяя выявлять маловероятные сбои, которые невозможно обнаружить по стандартному сценарию, до того, как с ними столкнутся ваши…

Тестировать голосового агента сложно. Ваш агент будет принимать звонки от людей с плохим соединением на парковке, от тех, кто говорит тихо, от тех, кто называет номер счета по частям с вопросом посередине, и от тех, кто может попытаться заставить его сказать то, чего он говорить не должен. «Счастливый путь» — это самая простая часть, и именно на ней тестируется большинство агентов. Но именно на «длинном хвосте» они терпят неудачу в продакшене.

LLM в основе системы усложняет задачу, поскольку один и тот же ввод не всегда дает один и тот же вывод. А ручное тестирование всего этого означает, что вам придется звонить своему агенту снова и снова, что невозможно масштабировать в зависимости от количества задач, которые он выполняет, или количества языков, на которых говорят ваши пользователи.

Agent Simulations — это воспроизводимый способ тестирования голосовых агентов, позволяющий выявить сбои до того, как с ними столкнутся ваши клиенты. Компания Serve AI использовала симуляции для проверки полной переработки агента на сотне реальных звонков из продакшена, прежде чем переключать на него трафик. Agent Simulations теперь общедоступен для всех проектов LiveKit Cloud и будет работать в связке с Agent Evaluations, которые появятся в ближайшее время.

Почему для диалогов нужны другие тесты#

Фреймворк LiveKit Agents уже поддерживает пошаговое тестирование. Но пошаговое тестирование не может воспроизвести непредсказуемость реального разговора. Звонящему, возможно, придется предоставить базовую информацию, прежде чем агент сможет перенести встречу, и порядок, в котором они к этому приходят, может варьироваться.

Симуляции работают на уровне задач. Вы задаете задачу пользователя, и агент выбирает любой путь, необходимый для ее выполнения. Каждый написанный вами сценарий сохраняется в наборе тестов. Когда вы добавляете десятую функцию, проверки для первых трех запускаются автоматически, поэтому вы сразу узнаете, если новая работа нарушила старую.

Такие проверки для агентов важнее, чем для большинства другого программного обеспечения. В веб-приложении вы можете визуально увидеть регрессию: вы выпускаете новый экран, просматриваете веб-страницу и замечаете отсутствующую ссылку. У голосового агента нет интерфейса, на который можно взглянуть, поэтому единственный способ узнать, что функция все еще работает, — это попробовать ее в действии.

Как работают симуляции#

Agent Simulations использует пользователя на базе LLM для проигрывания сценария от начала до конца. Для каждого сценария вы можете определить личность, цели и поведение симулируемого пользователя. Судья на базе LLM оценивает транскрипт на соответствие заданным вами свободным ожиданиям. Как только симулируемый разговор достигает естественного завершения, судья выносит вердикт «пройдено/не пройдено» и объясняет причину. Сценарии запускаются параллельно, а результаты, транскрипты и трассировки попадают на вашу панель управления LiveKit Cloud.

Генерация сценариев#

С Agent Simulations вам не нужно писать сценарии с нуля. Укажите CLI путь к вашему проекту, и инструмент генерации сценариев LiveKit прочитает код вашего агента и создаст сценарии, основанные на его реальных промптах, инструментах и логике диалога, а не на наборе общих разговоров.

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

Сгенерированные сценарии — это отправная точка, а не готовый набор. Оставляйте те, которые выявляют проблемы, корректируйте инструкции в тех, которые этого не делают, и пишите свои собственные для случаев, которые, как вы знаете, важны. Ваш зафиксированный файл scenarios.yaml становится источником истины, версионируемым вместе с агентом, который он тестирует.

Текстовые и аудио-запуски#

Текстовые симуляции обходят речевые модели вашего агента, фокусируясь только на тестировании логики диалога. Они быстрые, экономичные при масштабировании и используются по умолчанию. Запросы в текстовом режиме планируются с низким приоритетом и распределяются в рамках свободных мощностей вашей квоты на инференс, поэтому они не конкурируют с живым трафиком вашего проекта. Это делает их достаточно дешевыми для запуска при каждом pull-запросе, а если сценарий не проходит, CLI возвращает ненулевой код выхода, что приводит к сбою сборки.

Аудио-симуляции охватывают весь аудио-конвейер, включая фоновый шум, прерывания и «обратную связь» (backchanneling) — звуки, которые издает слушатель, пока другой человек еще говорит. Они тестируют вашего каскадного или полнодуплексного агента (speech-to-speech). Они работают в реальном времени и тарифицируются по более высокой ставке, чем текст, поэтому они лучше подходят для ночного или предрелизного расписания.

Реалистичный симулируемый пользователь#

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

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

В текстовом режиме нет аудио и пауз, поэтому он работает строго по одной реплике за раз. В аудио-режиме симулируемый пользователь может перекрыть агента через обратную связь или отвечая во время длинной паузы.

Все это в сумме повышает уверенность, что на практике означает, что вы можете менять код агента, не гадая, что вы случайно сломали.

С чего начать#

Agent Simulations бесплатны до октября. Обратите внимание, что симуляции запускают вашего реального агента, поэтому он вызывает вашу LLM как обычно, а в аудио-режиме — также ваши STT и TTS. Они оплачиваются по вашим обычным тарифам.

Для начала вам понадобятся LiveKit CLI, включенная функция LiveKit Observability и проект LiveKit Cloud. Полная настройка, параметры и конфигурация CI находятся в документации.

О чём эта статья

Ещё в разделе «Телеком и сети»

Все →

Ещё от LiveKit