PACE: контекст голосового ассистента по тому, что пользователь реально услышал
Статья разбирает практическую ошибку full-duplex голосовых ассистентов: сервер уже сгенерировал продолжение ответа, но пользователь его еще не услышал, а новая реплика интерпретируется так, будто услышал. Авторы называют это Generative Context Mis-anchoring и предлагают PACE, промежуточный слой, который привязывает модельный контекст к границе воспроизведения на клиенте. Интересна работа не новой речевой моделью, а инженерной синхронизацией между воспроизведением, прерыванием и состоянием диалога.
Метод. PACE отслеживает границу реально проигранного звука и после прерывания чинит историю: исключает фрагменты ответа ассистента, которые были только сгенерированы, но не дошли до пользователя. В реализации проверен аудио-путь: в черный ящик речевой модели заново подается короткий фрагмент слышимого контекста с явным разделителем. Основная настройка использует естественно сформулированный delimiter P1 и 5-секундное окно назад от точки воспроизведения.
Результаты. На GCM-Bench из 108 контролируемых случаев обычная отмена ответа правильно привязала референцию только в 27 случаях, то есть 25.0%, а PACE - в 104 случаях, 96.3%. Для операции elaborate рост особенно показателен: 2.78% против 94.44%, потому что фраза пользователя вроде «расскажи подробнее про это» без границы воспроизведения почти неразрешима. На 200 примерах Full-Duplex-Bench обе системы сохранили TOR=1.000, средняя оценка качества почти не изменилась, а задержка выросла с 0.771 до 0.830 с, то есть примерно на 59 мс.
Ограничения. GCM-Bench построен на списочных сценариях и TTS-траекториях, а не на естественных разговорах. Проверены один realtime-сервис, один тип аудио-адаптера и один судья; авторы прямо не валидируют семантическое закрытие фрагментов, защиту tool-call и переносимость между провайдерами. Поэтому результат хорошо доказывает механизм, но не измеряет распространенность ошибки в реальном продукте.
Фишка из статьи. Самая полезная абляция показывает, что больше контекста не всегда лучше: 10-секундное окно резко ухудшает привязку, потому что приносит конкурирующие референты.
| Сравнение | Число | Что означает |
|---|---|---|
| Baseline vs PACE | 25.0% -> 96.3% RAA | Ответ привязан к тому элементу, который пользователь мог слышать |
| Окно 2.5 с | 95.37% RAA | Почти не хуже основной настройки |
| Окно 5 с | 96.30% RAA | Выбранный консервативный режим |
| Окно 10 с | 65.74% RAA | Длинная история путает текущий референт |
| Цена на FDB v1 | +58.7 мс | Дополнительная задержка возникает только после прерывания |
Как это читать: это не просто улучшение средней точности. Абляция указывает на инженерное правило для голосовых систем: при ремонте контекста нужно передавать ровно слышимый локальный фрагмент, а не максимально длинную историю.