Голосовой агент молчит секунду впустую: 1 200 мс из 1 275 — это таймер тишины
Все голосовые платформы решают, что человек договорил, по таймеру тишины. Автор замерил цену этого решения на живой русской речи через Yandex Realtime API (протокол совместим с OpenAI Realtime) и заменил фиксированный таймер детектором на правилах русского синтаксиса. Если вы строите голосового агента, то задержка, на которую жалуются пользователи, живёт не в модели — и статья показывает, где именно.
- Из 1 275 мс до первого звука ответа 1 200 мс — ожидание таймера, и только 75 мс — распознавание, генерация ответа и синтез речи вместе.
- На порогах silence_duration_ms 400 и 800 мс агент отвечал почти мгновенно, но слышал только «Здравствуйте»: VAD коммитил буфер в естественной паузе, остальная фраза уходила в следующий ход или в никуда.
- Порог 1 200 мс тоже недетерминирован: из семи голосов, прогнанных одной фразой, три получили ответ «Здравствуйте, чем могу помочь?» вместо ответа по делу.
- Детектор на правилах не отменяет таймер, а выбирает его по распознанному тексту: договорил — 250 мс, висящее служебное слово — 1 400 мс, непонятно — 700 мс. Итог — 316 мс и два обрыва вместо тридцати восьми.
- Правила ловят пять случаев: висящие союзы и предлоги, инфинитив без дополнения, приветствия-анонсы, заминки и диктовку номера (семь числительных подряд с конца — номер назван целиком). Разговорные хвосты вопроса вроде «а по цене что» проверяются раньше правила о служебных словах.
- Синтезировать одну типовую фразу с паузой после приветствия, срезать хвостовую тишину и подавать в свой Realtime API кусками по 20 мс, меняя только silence_duration_ms: 400, 800, 1 200.
- Замерить время от последнего отправленного чанка речи до первого чанка аудио в ответе и отдельно записать, что агент вообще расслышал.
- Добавить перед коммитом буфера проверку последнего слова по списку висящих служебных слов и переключать короткий или длинный порог.
- Метрика: доля прогонов, где агент ответил на полную фразу, а не на приветствие, — при задержке ниже секунды.
из статьи