Голосовые агенты тратят 1200 из 1275 мс на таймер тишины: детектор на правилах сокращает паузу вчетверо
Голосовые ИИ-агенты (программы, которые ведут диалог голосом вместо человека) определяют конец фразы по таймеру тишины, и разработчик из России замерил, во что это обходится: из 1275 мс задержки перед ответом 1200 мс уходит на ожидание секундомера, а сама модель работает всего 75 мс.

Детектор на правилах русского синтаксиса без нейросети и без GPU сокращает паузу с 1200 мс до 316 мс, при этом число обрывов падает с 38 до 2 из 72 реплик: бот перестаёт перебивать и начинает отвечать почти мгновенно.
Проблему описал автор независимого исследования, опубликовавший методику, код и результаты в открытом доступе. Сейчас все речевые платформы, включая OpenAI Realtime и Yandex Realtime API, используют один и тот же механизм: VAD (Voice Activity Detection, детектор голосовой активности, простой датчик «говорит или молчит»). Человек замолчал на N миллисекунд, значит, договорил. Но пауза при подборе слова и пауза после законченной мысли звучат одинаково, и акустически отличить их невозможно.
Тестирование проводилось на синтезированной речи Yandex SpeechKit, чтобы исключить влияние дикции. Аудио подавалось в Yandex Realtime API кусками по 20 мс, как в реальной телефонной линии. Автор менял только один параметр: silence_duration_ms.
| Что | Когда | Кто выпустил | Цена |
|---|---|---|---|
| Детектор конца фразы на правилах русского синтаксиса | Июнь 2025 | Независимый разработчик (Россия) | Бесплатно, без GPU |
Почему таймер тишины ломает разговор?
- Короткий порог (400 и 800 мс): голосовой агент отвечал мгновенно, но на приветствие «Здравствуйте!», а не на вопрос. VAD срабатывал в естественной паузе после приветствия, и всё сказанное дальше агент не слышал.
- Длинный порог (1200 мс): фраза распознавалась целиком, но ценой секунды с четвертью тишины в трубке. При этом обрыв всё равно случался примерно через раз: из семи прогонов одной фразы три раза агент ответил «Здравствуйте, чем могу помочь?» вместо ответа по существу.
- Главная цифра: 1275 мс задержки минус 1200 мс порога = 75 мс на распознавание, генерацию и синтез речи. Модель работает почти мгновенно. Всё, что собеседник воспринимает как «система тормозит», это ожидание таймера.
Вывод автора однозначен: ни быстрая модель, ни близкий регион, ни стриминг не дадут ничего, пока в схеме стоит фиксированный таймер. Задержку создаёт не вычисление, а решение о том, что человек договорил.
Детектор смотрит на смысл, а не на тишину
Решение не заменяет таймер, а выбирает, какой таймер использовать:
- Договорил (250 мс): «Сколько стоит доставка до Екатеринбурга»
- Не договорил (1400 мс): «Мне нужно два шкафа и…»
- Непонятно (700 мс): промежуточные случаи
Что именно ловят правила:
- Висящие служебные слова. Союзы, предлоги, частицы в конце фразы: «я хотел бы уточнить по…». После них высказывание физически не может закончиться.
- Инфинитив без дополнения. «Сколько будет стоить» (инфинитив, глагол в неопределённой форме, который требует объекта). Отдельный белый список для самодостаточных глаголов: «можно перезвонить» это законченная просьба.
- Заходы и приветствия. «Здравствуйте», «скажите пожалуйста», «у меня такой вопрос». Это анонс реплики, сама мысль впереди. Именно на них ломается короткий таймер.
- Заминки. «Ну это самое», «как бы вам сказать», «сейчас посмотрю». Человек тянет время и продолжит.
- Диктовка номера. Детектор считает числительные подряд с конца: семь и больше означает, что телефон назван целиком, меньше означает, что человек ещё диктует.
- Разговорные хвосты вопроса. «Это робот что ли», «а по цене что». Формально заканчиваются на частицу, но вопрос закончен. Проверяются до правила о служебных словах, иначе будет ложное срабатывание.
Как попробовать?
- Возьмите код детектора из публикации автора: он написан на Python, работает на правилах без обучения и без GPU.
- Подключите его между модулем распознавания речи и логикой принятия решения о конце реплики в вашем голосовом боте.
- Замените фиксированный
silence_duration_msна динамический: детектор возвращает одну из трёх категорий (договорил, не договорил, непонятно), каждая со своим таймаутом.
Сравнение с тем, что доступно в России
Yandex Realtime API, на котором и проводилось тестирование, использует стандартный VAD с параметром silence_duration_ms. Механизм аналогичен OpenAI Realtime. Встроенного синтаксического детектора конца фразы нет ни у одной коммерческой платформы в России.
Описанный детектор работает именно с русским синтаксисом: правила построены под русские союзы, предлоги, частицы и разговорные конструкции. Для авторов, которые строят голосовых ботов на Yandex SpeechKit или GigaChat, это готовое решение без дополнительных затрат.
Что это значит для вас?
Авторам Дзена и копирайтерам: если вы пишете сценарии для голосовых ботов, проблема не в ваших текстах, а в том, как платформа определяет конец фразы. Короткие реплики без вводных слов будут обрабатываться точнее на любом таймере, но теперь есть инструмент, который снимает проблему на уровне кода.
Предпринимателям с телефонными ботами: обрыв в середине фразы клиента это потерянная заявка. Детектор снижает число обрывов с 38 до 2 на 72 реплики. Внедрение не требует GPU и дополнительных серверов.
Разработчикам голосовых агентов: решение воспроизводимо, код на Python, правила открыты. Интеграция занимает один слой между распознаванием и логикой бота.
Я считаю это одним из самых практичных исследований по голосовым агентам, которое мне встречалось в русскоязычном пространстве. Автор не предлагает нейросеть, которую надо обучать на миллионе примеров: он написал набор правил русского языка, которые работают сразу. 316 мс вместо 1200 мс это разница между разговором с живым оператором и разговором с автоответчиком.
Оговорка: тестирование проведено на 72 репликах с синтезированной речью. На реальных звонках с шумом, акцентами и нечёткой дикцией результаты могут отличаться. Но сам подход (смотреть на текст, а не на тишину) выглядит как правильное направление.
Если вы строите голосового бота для российского рынка, попробуйте внедрить этот детектор сегодня. Затраты нулевые, выигрыш измерим в секундах, а секунды в телефонном разговоре это деньги.
Частые вопросы
Нужен ли GPU или дообучение для работы детектора?
Нет. Детектор работает на правилах русского синтаксиса, написан на Python и не требует ни GPU, ни обучающих данных. Он анализирует уже распознанный текст, а не аудио.
Подходит ли детектор для других языков?
Правила построены под русский язык: русские союзы, предлоги, частицы, разговорные конструкции. Для другого языка потребуется написать свой набор правил с учётом его синтаксиса.
Можно ли использовать детектор с OpenAI Realtime, а не только с Yandex API?
Протокол Yandex Realtime API совместим с OpenAI Realtime, параметр silence_duration_ms есть у обоих. Детектор встраивается между распознаванием речи и логикой бота, поэтому он не привязан к конкретной платформе.

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».
Читайте также

Большие языковые модели пропускают джейлбрейки: какие риски это создаёт и как защититься
Большие языковые модели (LLM, нейросети, которые генерируют текст и код по запросу) обучены отказывать на опасные вопросы, но злоумышленники научились обходить…

Self hosted LLM vs облако: год в Selectel показал, когда своя модель выгоднее API
Контекст — это не про IQ модели, а про безопасность данных: если код нельзя отправить наружу, выбор делается не между «лучшей» и «худшей» моделью, а между…
OpenAI впервые остановила новую модель: та научилась взламывать системы без человека
OpenAI второго июня приостановила внутреннюю разработку новой модели Astra, которая по результатам собственных проверок компании может обладать критическими…
Комментарии