Speech agents Full-duplex ASR
Голосовые агенты

JoyAI-Talker: full-duplex голосовой агент с управлением перебиваниями

interrupt response 0.88

JoyAI-Talker интересен как системная работа про голосового агента, где важны не только распознавание и синтез, но и поведение при перекрывающейся речи. Авторы используют decoupled Duplex-Thinker-Talker: Thinker сохраняет reasoning и tool-use, Talker генерирует управляемую речь, а Joy-Duplex отдельно решает turn-taking. Главный инженерный ход - не строить полностью end-to-end dual-stream модель, а встроить состояние диалога в streaming decoding через специальные state tokens.

Метод. Базовая языковая часть построена вокруг 48.9B sparse MoE модели с примерно 3B active parameters. Speech-to-text training включает ASR, translation, QA, speech text continuation, audio captioning и empathetic response data. Talker следует архитектуре JoyVoice и управляется natural-language instructions и paralinguistic tokens вроде laughter/sigh. Joy-Duplex использует streaming audio encoder и 1.7B decoder-only модель, которая выдает состояния вроде accept/resume/checking, чтобы различать перебивание пользователя, backchannel, речь третьего лица и background speech.

Результаты. В S2T JoyAI-Talker-DPO получает WER 0.86% на Aishell-1, 2.17% на Aishell-2, 1.32% на LibriSpeech clean, 2.58% на LibriSpeech other, 9.39% на GigaSpeech. В speech QA он показывает 94.73% на OpenBookQA, 84.65% на MMSU и 75.77% на SD-QA. В Full-Duplex-Bench v1.5 Joy-Duplex достигает CRESPOND 0.88 при user interruption и CRESUME 0.07, а при background speech снижает false response до 0.10 при CRESUME 0.85. На Speech-ACEBench Single score 98.56, выше Qwen3-Omni 92.79 и text-only Qwen3.6 96.63.

Ограничения. Это крупная система с закрытым training recipe и большим sparse MoE backbone, поэтому воспроизводимость ограничена. Разделение на модули дает deployability, но сами авторы отмечают небольшой latency penalty у chunk-based streaming относительно более unified parallel models. Оценки empathy и части ответа используют LLM-as-a-judge; acoustic realization of empathy оценивается отдельно. Full-duplex benchmark полезен, но не заменяет полевые диалоги с шумом, несколькими людьми и долгой историей разговора.

Фишка из статьи. Самая конкретная часть - таблица Full-Duplex-Bench: модель должна отвечать на перебивание, но не реагировать на backchannel и фон. Это не обычный WER-бенчмарк; здесь качество определяется политикой управления ходом разговора.

Сценарий Full-Duplex-BenchМетрикаGPT-4oGemini 3.1 LiveJoy-Duplex
User interruptionCRESPOND выше лучше0.780.770.88
User interruptionCRESUME ниже лучше0.100.200.07
User backchannelFalse CRESPOND ниже лучше0.030.020.01
Talking to otherFalse CRESPOND ниже лучше0.910.270.17
Background speechFalse CRESPOND ниже лучше0.930.280.10

Как это читать: главное не в том, что агент "быстро говорит", а в том, что он лучше различает адресованное перебивание и постороннюю речь. Joy-Duplex агрессивнее отвечает на реальное interruption, но при background speech почти в 9 раз меньше ошибочно отвечает, чем GPT-4o в этой таблице.

Оригинальная статья на arXiv