Как создать голосового ИИ-агента для телефонных звонков
Практика3 минРедакция Innovialabs
Коротко
Голосовой агент — это конвейер «распознавание речи → LLM → синтез речи», подключённый к телефонии через SIP или облачную АТС; успех определяют низкая задержка, корректная обработка перебиваний и чёткие правила перевода на человека.
Как устроен голосовой агент
Голосовой ИИ-агент — это не одна модель, а конвейер из трёх звеньев, которые работают в потоке:
- ASR (speech-to-text) превращает речь клиента в текст.
- LLM понимает запрос, вызывает нужные функции (проверить заказ, записать на приём) и формирует ответ.
- TTS (text-to-speech) озвучивает ответ.
Вокруг конвейера — телефония (как звонок попадает к агенту), VAD (определение, что человек начал или закончил говорить), инструменты (API вашей CRM, расписания, базы заказов) и логирование.
Есть и speech-to-speech модели, которые принимают и выдают аудио напрямую. Они быстрее реагируют, но сложнее в контроле. Классический конвейер проще отлаживать и легче подменять отдельные звенья.
Подключение к телефонии
Основные варианты:
- SIP-транк от вашего оператора связи или облачной АТС → медиасервер (например, Asterisk или FreeSWITCH) → аудиопоток к агенту.
- Облачные голосовые платформы, которые отдают аудио звонка по WebSocket.
- Готовые платформы для голосовых агентов, где телефония уже встроена, а вы настраиваете логику.
Учтите: телефонный звук обычно идёт в узкой полосе (8 кГц). ASR и VAD нужно проверять именно на таком аудио.
Бюджет задержки
Человек замечает паузу в разговоре очень быстро. Поэтому задержку раскладывают по звеньям и оптимизируют каждое:
| Звено | Что влияет | Как ускорить |
|---|---|---|
| Определение конца фразы | Настройки VAD | Подобрать порог тишины, не слишком длинный |
| ASR | Потоковый или пакетный режим | Использовать потоковое распознавание |
| LLM | Размер модели, длина промпта | Быстрая модель, короткий контекст, стриминг токенов |
| TTS | Время до первого звука | Потоковый синтез, озвучка по предложениям |
| Сеть | Расположение серверов | Держать сервисы ближе друг к другу и к телефонии |
Ключевой приём — стриминг на всех этапах: TTS начинает говорить первое предложение, пока LLM ещё дописывает второе. Для долгих операций (поиск в базе) агент может сказать короткую фразу-заполнитель.
Перебивания (barge-in)
Клиенты перебивают — это нормально. Агент должен:
- сразу остановить воспроизведение TTS, когда VAD слышит речь клиента;
- учесть в контексте, что ответ был прерван и какая часть успела прозвучать;
- не реагировать на шум: кашель, «угу», фоновые голоса. Для этого настраивают чувствительность VAD и минимальную длительность речи.
Без нормальной обработки перебиваний агент «говорит поверх» клиента, и разговор быстро разваливается.
Когда переводить на человека
Пропишите правила явно, а не надейтесь на модель:
- клиент прямо просит оператора;
- агент несколько раз подряд не понял запрос;
- тема вне сценария: жалоба, юридический вопрос, конфликт;
- чувствительные операции: возвраты, изменения платёжных данных;
- уверенность ASR низкая из-за шума или языка.
При переводе передавайте оператору краткое резюме и данные, собранные агентом, чтобы клиенту не пришлось повторять всё заново.
Порядок запуска
- Выберите один узкий сценарий: запись на приём, статус заказа, подтверждение доставки.
- Опишите диалог, функции и правила перевода.
- Соберите прототип и прогоните его на записанных и живых тестовых звонках.
- Запустите на части трафика, слушайте записи, правьте промпты и пороги.
- Расширяйте сценарии только после стабильной работы первого.
Не забудьте предупреждать клиента, что с ним говорит ИИ, и соблюдать правила хранения записей разговоров.