← Назад в блог

28 апреля 2026 г. · Équipe betool

Голос в реальном времени vs. пакетная обработка — телефонный ИИ-агент это не чат-бот

Почему голосовой ассистент требует принципиально иной архитектуры, чем текстовый чат-бот, и что это означает для задержки, barge-in и выбора модели.

voicearchitecturelatency

Голос в реальном времени vs. пакетная обработка — телефонный ИИ-агент это не чат-бот

Когда поставщик предлагает вам «телефонного ИИ-агента», задайте ему один вопрос: «Какова ваша сквозная задержка между окончанием речи пользователя и началом ответа?»

Если ответ превышает 1,5 секунды — это не телефонный агент. Это чат-бот с приклеенным спереди модулем ASR / TTS.

Правило 800 мс

Человек по телефону терпит паузу после своего вопроса. Но у этой паузы есть порог: свыше 800 мс собеседник кажется «зависшим». На 1 500 мс звонящий говорит «алло?». На 3 000 мс он вешает трубку, решив, что проблема со связью.

Целевой показатель для серьёзного голосового агента, таким образом: менее 800 мс между окончанием речи и первым слышимым байтом ответа.

Разложим это на составляющие.

Бюджет времени в деталях

[речь пользователя]──▶[ASR streaming]──▶[LLM]──▶[TTS streaming]──▶[аудио на выход]
      ~150ms                ~80ms        ~?       ~250ms                ~50ms

Из ~800 мс доступного времени около 270 мс расходуется на ASR + TTS + транспорт. Остаётся 530 мс для LLM — включая время prefill, рассуждения и генерацию первого токена.

Следствия:

  • GPT-4 Turbo без стриминга: ~2 000 мс на генерацию ответа в 200 токенов. Исключено.
  • GPT-4o со стримингом: ~400 мс до первого токена в удачные дни, ~800 мс в неудачные. Приемлемо, но впритык.
  • Claude Haiku со стримингом: ~250 мс до первого токена. Комфортно.
  • Llama 3 8B, обслуживаемая vLLM: ~150 мс до первого токена. Отлично (и приватно).

Серьёзная голосовая архитектура, следовательно, требует:

  1. Всё в режиме стриминга — ASR, LLM, TTS. Ни одного звена в пакетном режиме.
  2. Модель LLM выбирается по TTFT (time to first token), а не по баллу MMLU.
  3. TTS начинает говорить на первом полученном токене, а не после завершения полного ответа.

Barge-in

В текстовом канале пользователь ждёт, пока бот закончит. По телефону он перебивает. Три раза из пяти в естественных разговорах.

Голосовой агент, который не умеет обрабатывать прерывание, кажется «роботизированным» — он продолжает говорить, пока пользователь пытается его перебить. Это невыносимо и сразу же выдаёт плохо построенного бота.

Технически barge-in требует:

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

Это техническая деталь, которая меняет всё в ощущении от взаимодействия.

Работа с неопределённостью

По телефону ASR регулярно ошибается. Там, где текстовый чат-бот всегда получает точный текст, набранный пользователем, голосовой агент получает часто несовершенную транскрипцию.

Работающие стратегии:

  • Запрашивать подтверждение по критичным позициям (номер дела, сумма, необычная фамилия). Не систематически — это становится невыносимым.
  • Не доверять LLM слепо, когда ASR неоднозначен. Если полученная фраза — «Я хочу расторгнуть договор» с низким показателем уверенности, лучше спросить «Вы имели в виду расторгнуть ваш договор?», чем запускать процедуру расторжения.
  • Пресекать отклонения — агента, уходящего от сценария, следует возвращать узлом condition / operator, а не промптом, которого «должно хватить».

Телефон — это тоже стек

Помимо ИИ, телефонный агент требует:

  • SIP-транка от оператора связи (Twilio, Voxbone, OVH, Sewan…).
  • Медиашлюза (LiveKit-SIP, FreeSWITCH, Asterisk), который говорит на SIP со стороны оператора и на WebRTC со стороны платформы.
  • Транскрайбера, устойчивого к шуму, акцентам и перекрывающимся голосам.
  • Синтезатора, корректно произносящего имена собственные, числа и даты.

Ни один из этих элементов не тривиален. Все они взаимодействуют между собой.

Что берёт на себя betool

Голосовая архитектура betool — LiveKit + LiveKit-SIP + выделенный worker + каскадный стриминг LLM — покрывает вышеперечисленные требования из коробки. Вы сохраняете контроль над:

  • SIP-транком (ваш оператор, ваши номера).
  • Моделями (BYOK или приватные модели).
  • Параметрами (целевая задержка, агрессивность barge-in, откат на человеческий голос).

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