Skip to content

Realtime Voice Agent Engineering:实时语音 Agent 怎么设计 ​

这篇文章解决什么问题 ​

实时语音 Agent 不只是把 ASR + LLM + TTS 串起来。用户会打断、环境会噪声、模型会延迟、工具调用会卡住、对话需要状态记忆,高风险动作还要确认。

Realtime Voice Agent Engineering 的目标是把语音 Agent 当成低延迟交互系统来设计。

语音 Agent 和文本 Agent 的差异 ​

维度文本 Agent语音 Agent
输入用户一次性输入连续音频流
输出可等待完整答案需要边生成边播放
中断用户发新消息用户随时打断
错误恢复可显示错误文本要用自然语言澄清
延迟感知秒级可接受百毫秒到低秒级更敏感
工具调用卡片展示需要语音提示和 UI 同步

系统架构 ​

mermaid
flowchart TD
  Mic[Microphone] --> Realtime[Realtime Session]
  Realtime --> Turn[Turn Detection]
  Realtime --> Model[Realtime Model]
  Model --> Tools[Tool Executor]
  Tools --> Model
  Model --> Audio[Audio Output]
  Model --> UI[Transcript + State UI]
  UI --> Trace[Trace Store]

关键工程问题 ​

问题设计
端到端延迟WebRTC / streaming、短上下文、低延迟工具
用户打断barge-in 检测,停止 TTS,保留新指令
噪声和误识别关键动作二次确认,UI 展示 transcript
工具调用卡住语音提示“我正在查询”,超时后降级
高风险动作必须口头确认 + UI 审批按钮
多轮状态session state + summary memory
隐私不默认长期保存音频,只保存必要 transcript / trace

Voice UI 要展示什么 ​

即使是语音产品,也需要屏幕辅助:

  • 实时 transcript。
  • Agent 当前状态。
  • 正在调用的工具。
  • 关键信息确认卡。
  • 引用和证据面板。
  • 静音、打断、结束会话按钮。

纯语音黑盒不适合高风险业务。

工具调用策略 ​

工具类型语音策略
只读查询可直接执行,但要播报“我查一下”
敏感读取说明读取范围,必要时确认
可逆写入先总结动作,再要求确认
高影响动作必须 UI 审批,不只靠语音确认
长耗时工具转异步任务,后续通知用户

评测指标 ​

指标说明
first_audio_latency用户停顿后多久开始回应
interruption_success用户打断后是否停止旧回复
task_success语音任务完成率
correction_rate用户纠正识别或意图的比例
tool_success工具调用成功率
confirmation_accuracy高风险确认是否准确
user_dropoff用户在哪个阶段离开

面试表达 ​

可以这样讲:

> 实时语音 Agent 的核心不是简单 ASR + LLM + TTS,而是低延迟、多轮状态、打断处理和高风险确认。我会把语音流、转写、工具调用、UI 状态和 Trace 串起来:只读工具可直接执行,高风险动作必须语音确认加 UI 审批,所有关键动作都进入审计和评测。

落地检查清单 ​

  • [ ] 是否支持用户打断并停止旧回复?
  • [ ] 是否展示实时 transcript 和状态?
  • [ ] 高风险工具是否有确认和审批?
  • [ ] 长工具是否能异步化?
  • [ ] 是否评测 first_audio_latency 和 interruption_success?
  • [ ] 是否避免长期保存原始音频?