Serve AI предоставляет телефонных агентов на базе ИИ для сервисных компаний, обрабатывая входящие звонки клиентов, которые в противном случае поступали бы в контакт-центр. Одним из крупнейших клиентов компании является служба борьбы с вредителями с годовым оборотом около 150 млн долларов, которая тратила 8 млн долларов на контакт-центр из 100 человек. Теперь Serve обрабатывает каждый входящий звонок, включая поиск учетных записей, проверку права на обслуживание, планирование, выставление счетов и отмену заказов, при необходимости переводя звонки на оператора-человека.
Изначально Serve создала агента на платформе Retell, где поведение определяется графом потока разговора. Для того конкретного клиента граф достиг 224 узлов и более 600 ребер, и внесение даже одного изменения стало занимать целый рабочий день. Энтони Расси, технический директор Serve, решил свести всё к одному промпту на LiveKit, внедряя нужную процедуру на каждом этапе. Это стало возможным только после того, как появились более компактные и быстрые модели. Энтони прочитал статью LiveKit о голосовых агентах с оптимизированной задержкой на базе Gemma и хотел проверить, сможет ли агент с одним промптом на такой быстрой модели поддерживать то же поведение, которое обеспечивал граф.
Самым сложным было не создание нового агента. Нужно было понять, выполняет ли он всё то же самое, что и старый, и сможет ли удовлетворить растущие потребности Serve.
«Когда вы переходите от одной архитектуры агента к другой, вы хотите убедиться, что вторая работает как минимум не хуже первой, а в идеале — лучше. Способ узнать это — Agent Simulations. Мы прогнали через него около сотни реальных производственных звонков и достигли 98% успеха, прежде чем перевели кого-либо на новую систему». Энтони Расси, технический директор, Serve
«Когда вы переходите от одной архитектуры агента к другой, вы хотите убедиться, что вторая работает как минимум не хуже первой, а в идеале — лучше. Способ узнать это — Agent Simulations. Мы прогнали через него около сотни реальных производственных звонков и достигли 98% успеха, прежде чем перевели кого-либо на новую систему».
Энтони проводил свои оценки на Hamming, а также рассматривал Coval и Bluejay. Для его настройки каждое из этих решений требовало больше интеграционной работы, чем он хотел, включая подключение внешних тестовых сред к комнатам LiveKit перед началом оценки агента. Ему нужно было конкретное решение: завершился ли звонок в нужном состоянии, например, была ли назначена встреча на нужную среду? Подтвердил ли агент дату перед бронированием? И как долго звонящий ждал ответа? Agent Simulations позволил ему определить и запустить эти проверки непосредственно для агента.
Энтони выбрал около сотни производственных звонков, обработанных агентом Retell, использовал Claude, чтобы превратить каждый из них в сценарий симуляции, и запустил переписанного агента против этого набора. За десять-пятнадцать итераций он скорректировал промпт до тех пор, пока набор тестов не достиг 98% успеха, а средняя задержка ответа составила 1,3 секунды при верхнем пределе в 1,5 секунды. Затем он выпустил решение. На первую учетную запись ушла неделя.
В эксплуатации переписанный агент не просто достиг паритета с Retell: он увеличил долю автоматической обработки на 15%, что, по оценкам Serve, экономит клиенту дополнительные 320 000 долларов в год.
Улучшение произошло благодаря новой архитектуре. В старом графе у звонящего, находящегося в узле бронирования, который внезапно задавал вопрос по оплате, могло не быть определенного пути для продолжения, из-за чего агенту приходилось импровизировать. С одним промптом полная процедура доступна на каждом этапе, поэтому агент может более надежно справляться с такими изменениями.
Agent Simulations дал Serve уверенность в том, чтобы вообще пойти на эту переработку. Команда смогла протестировать нового агента на реальных производственных звонках, вносить изменения до тех пор, пока он не стал надежно соответствовать ожидаемому поведению, а затем переключить трафик. Первая миграция заняла одну неделю без необходимости отката, и новый агент в конечном итоге показал себя лучше, чем тот, который он заменил.





