Что такое голосовой агент

Классический пайплайн: STT — LLM — TTS

Содержание курса

STT: как агент слышит клиента

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

Как устроено распознавание внутри

Современные STT-системы работают на основе нейросетевых архитектур — преимущественно трансформеров. Процесс выглядит так:

  1. Аудиопоток делится на перекрывающиеся фреймы по 20–40 мс.
  2. Из каждого фрейма извлекаются акустические признаки — числовое представление звука, удобное для нейросети.
  3. Энкодер нейросети преобразует последовательность признаков в скрытые представления.
  4. Декодер предсказывает наиболее вероятную последовательность токенов (букв, слогов или слов).
  5. Языковая модель (LM) корректирует результат с учётом контекста: акустически похожее «яндекх» исправляется на «Яндекс» как более вероятное слово в данном контексте.

Большинство российских облачных STT-сервисов используют сквозное обучение (end-to-end), где вся цепочка от акустики до текста — единая нейросеть. Whisper от OpenAI — одна из таких моделей, доступная для локального развёртывания.

VAD, end-of-turn и barge-in: как агент понимает очередь в разговоре

До того как текст уйдёт в LLM, срабатывает отдельный компонент — VAD (Voice Activity Detection). Его задача — определить, есть ли сейчас речь в канале. Но в продакшне этого мало.

Полная очерёдность реплик в разговоре складывается из четырёх задач:

  • VAD — есть ли речь прямо сейчас. Работает по энергии сигнала и спектральным признакам, отличает речь от тишины и фонового шума.
  • End-of-turn detection — закончил ли пользователь мысль. Пауза в речи не всегда означает конец реплики: клиент может делать паузы внутри фразы. Современные STT-сервисы (SaluteSpeech, GPT-Realtime-2) решают это на уровне модели, а не только порога тишины.
  • Barge-in / interruption — клиент перебивает агента. Система должна остановить TTS, принять новую реплику и продолжить диалог. Без поддержки barge-in агент зачитывает ответ до конца, даже если клиент уже сказал что-то важное.
  • Backchannel / preamble — агент даёт короткую фразу-подтверждение ("секунду, проверяю") пока обрабатывает запрос, чтобы клиент не решил, что связь оборвалась.

Ошибки на уровне порога тишины дорого стоят:

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

Большинство STT-API позволяют настроить порог тишины (silence_duration_ms) — время паузы, после которого считается, что реплика завершена. Оптимальное значение для телефонии — 600–800 мс; меньше — слишком много ложных срабатываний, больше — агент кажется тугодумом.

Что влияет на качество распознавания

Четыре фактора определяют точность STT в реальных звонках:

  • Качество связи и шум. Звонок с мобильного на улице и звонок с VoIP-гарнитуры в тихом офисе — это разные задачи для модели. Мобильная телефония (кодек G.711, 8 кГц) режет верхние частоты, что снижает разборчивость согласных.
  • Акцент и диалект. Модели, обученные преимущественно на московском произношении, заметно чаще ошибаются на региональных акцентах и нестандартном произношении.
  • Отраслевая лексика. Названия препаратов, артикулы деталей, юридические термины — распознаются хуже общеупотребительных слов. Yandex SpeechKit и Salute Speech поддерживают пользовательские словари для адаптации модели к конкретной предметной области.
  • Длина и структура реплики. Короткие чёткие фразы («Запишите меня на вторник») распознаются лучше, чем длинные с вводными словами и паузами. Это важно учитывать при проектировании сценария: агент должен задавать узкие вопросы, а не ждать монолога клиента.

Метрики качества STT

WER (Word Error Rate) — основная метрика распознавания речи. Считается как:

  • — замены слов
  • — пропуски
  • — вставки
  • — общее число слов в эталоне

Ориентиры для русского языка:

  • Чистая студийная речь: WER 3–8%
  • Телефония без шума: WER 8–15%
  • Телефония с фоновым шумом: WER 20–40%

Каждый процент WER прямо влияет на то, насколько точно LLM поймёт запрос клиента. При WER 30% каждое третье слово распознано неправильно — агент начинает отвечать на то, чего клиент не говорил.

CER (Character Error Rate) — то же самое, но считается на уровне символов, а не слов. Для русского языка иногда точнее отражает реальное качество: из-за сложной морфологии одно неверное окончание даёт ошибку в слове, но затрагивает лишь один-два символа.

RTF (Real-Time Factor) — отношение времени обработки к длине аудио. RTF = 0.3 означает, что одна секунда звука обрабатывается за 0.3 секунды. Для продакшн-агента RTF должен быть меньше 1 — иначе движок физически не успевает за звонком. WER ничего об этом не говорит, поэтому при выборе STT-сервиса смотрят на обе метрики.

Для российских проектов доступны: Yandex SpeechKit (сильнее всего на русской телефонии), Salute Speech (Сбер, есть on-premise вариант), TinkoffVoice и локально развёртываемый Whisper от OpenAI.

Начать заново?

Помощник начнёт новый диалог по этой задаче. Текущая переписка останется в истории до конца срока хранения.

О переписке

Можно приложить до трёх фото PNG, JPEG или WebP по 5 МБ.

Переписка и фото хранятся 90 дней после последнего принятого сообщения. Преподаватель получит доступ к диалогу, когда вы попросите его помочь.

Проверка решения остаётся отдельным действием.