ARTICLE / 2 MIN READ

实时语音 Agent:音频流、打断和工具调用的状态管理

设计语音输入输出、VAD、打断、延迟预算和工具动作,支撑客服、陪练和语音助手场景。

语音 Agent 的难点不是把音频转成文字,而是让用户可以自然打断、快速得到反馈,并且不会因为重复识别或网络抖动触发两次业务动作。

管理音频时间线

客户端给每个音频帧带 sequence 和 capture_time,服务端区分语音活动、静音、打断和播放确认。VAD 负责判断轮次结束,不能只用固定静音秒数,否则在不同环境下体验差异很大。

延迟预算

把端到端延迟拆成上行、识别、推理、工具、合成和下行。对话反馈先播放短确认音或文本状态,长工具调用异步执行。指标关注首音频时间、用户打断响应时间和完整回答时间。

打断是状态转换

用户说话时立即停止当前合成,取消尚未执行的低风险工具;已经产生副作用的工具只能走补偿。每个 turn 保存音频摘要、识别版本、模型版本和工具调用状态,重连后继续正确轮次。

隐私和审计

默认不永久保存原始音频,短期缓存用于纠错和申诉。敏感词、身份验证和付款场景进入专门流程,工具调用前再次确认用户意图。审计记录保存脱敏文本和时间线,不在日志中写完整录音。

参考资料:NIST AI 风险管理框架

GITHUB DISCUSSION

评论与回复

评论保存在 GitHub Discussions,登录 GitHub 后即可参与,发布和回复都在本页完成。

评论区进入视口后自动加载。