五厂面经真题集科大讯飞面经高频蔚来面经高频高频考点语音交互实时系统速答 · 约 6 分钟更新 2026-09-30

语音 Agent 的实时对话链路怎么设计?全双工交互(可随时打断)难在哪?

一句话结论

链路是识别、理解、生成、合成四段串行,首响应延迟要压进秒级;全双工的难点在回声消除、打断检测和可抢占的生成管线,延迟预算要逐段核算。

语音 Agent 的实时对话链路怎么设计?全双工交互(可随时打断)难在哪?

先这样答

链路四段串行:语音识别出文字,大模型理解并生成回复,语音合成出音频,播放。每一段都有延迟,用户体验的硬指标是首响应延迟——用户说完到 Agent 开口,超过两秒就觉得迟钝,一秒内才算流畅。延迟预算要逐段核算:流式识别在说话过程中就开始出字,说完后几十毫秒内出最终结果;大模型走流式输出,首 token 决定后续合成能否提前启动;合成用流式分段合成,模型吐出第一句话就开始合成播放,不等全文。优化手段本质是流水线化:让每一段都尽早开始、部分结果往前传。

全双工意味着用户随时可以打断 Agent 说话,难点有三个。回声消除:Agent 自己在出声,麦克风同时拾音,要把扬声器播出去的声音从采集信号里减掉,否则 Agent 被自己的声音触发。打断检测:区分用户真在说话还是环境噪声或口头禅,要在几百毫秒内决策并执行打断——停止播放、取消正在生成的后续内容、开始听新指令。可抢占的生成管线:大模型的生成是持续吐 token 的过程,打断发生时要能立刻截断并丢弃未合成部分,这要求识别、生成、合成三段的任务句柄都可取消。

交互设计上还要处理话轮转换:用户停顿是说完还是思考中,抢答和傻等都伤体验,端点检测的静音阈值要按场景调,支持「嗯,我在听」这类填充词维持对话感。

面试官会怎么追问

  • 「首响应延迟怎么压到一秒内?」 并行化:识别的流式结果直接喂给大模型预测性起跑;合成不等整句,按标点切分逐句合成;端侧预热的常驻会话省去冷启动。每段的 P99 而不是平均值才是设计对象。
  • 「打断后正在生成的 token 怎么办?」 立刻取消生成任务(streaming 的 abort),已合成未播放的音频清空播放队列。新指令的识别上下文里要保留被打断前的对话记录,理解才连贯。
  • 「回声消除在什么场景最难?」 大音量外放加远场拾音:扬声器和麦克风距离远、房间混响重,消不干净就自触发。车载和智能音箱是重灾区,麦克风阵列加自适应滤波是标配。

回答的坑

  • 把语音 Agent 说成「ASR 加聊天加 TTS 简单拼接」。流水线化和打断处理才是工程难点所在。
  • 不算延迟账。四段延迟的预算分配讲不出数字,说明没实际压过延迟。
—— 本题完 ——