ARTICLE / 2 MIN READ
实时语音 Agent:音频流、打断和工具调用的状态管理
设计语音输入输出、VAD、打断、延迟预算和工具动作,支撑客服、陪练和语音助手场景。
语音 Agent 的难点不是把音频转成文字,而是让用户可以自然打断、快速得到反馈,并且不会因为重复识别或网络抖动触发两次业务动作。
管理音频时间线
客户端给每个音频帧带 sequence 和 capture_time,服务端区分语音活动、静音、打断和播放确认。VAD 负责判断轮次结束,不能只用固定静音秒数,否则在不同环境下体验差异很大。
延迟预算
把端到端延迟拆成上行、识别、推理、工具、合成和下行。对话反馈先播放短确认音或文本状态,长工具调用异步执行。指标关注首音频时间、用户打断响应时间和完整回答时间。
打断是状态转换
用户说话时立即停止当前合成,取消尚未执行的低风险工具;已经产生副作用的工具只能走补偿。每个 turn 保存音频摘要、识别版本、模型版本和工具调用状态,重连后继续正确轮次。
隐私和审计
默认不永久保存原始音频,短期缓存用于纠错和申诉。敏感词、身份验证和付款场景进入专门流程,工具调用前再次确认用户意图。审计记录保存脱敏文本和时间线,不在日志中写完整录音。
参考资料:NIST AI 风险管理框架。
GITHUB DISCUSSION
评论与回复
评论保存在 GitHub Discussions,登录 GitHub 后即可参与,发布和回复都在本页完成。
评论区进入视口后自动加载。