Voice Agent 语音助手三种架构范式#

Cascaded 级联架构#

最经典的 pipeline 方案:

Cascaded 级联架构:VAD、ASR、LLM、TTS 流水线

工程特点:

Omni 端到端架构#

单一多模态模型直接处理音频输入、产生音频输出:

Omni 端到端架构:音频直接进出模型

工程特点:

生产系统仍常保留文字转写,用于检索、审核、日志和无障碍显示。

Full-duplex 全双工架构#

模拟人类对话:可以被打断、可以边听边说、可以在对方说话时思考。

Full-duplex 全双工架构:可打断的双向对话

工程特点:

三种范式对比#

维度Cascaded 级联Omni 端到端Full-duplex 全双工
端到端延迟1.3s+300-500ms500-800ms
可控性高(文本中间层可审计)低(黑盒)中(混合架构)
工具调用支持成熟有限成熟
情感/语调保留丢失保留部分保留
工程复杂度
成本(相同对话量)
适用场景客服、内部工具陪伴、娱乐实时助手、电话场景

实际工程中,很多团队采用混合方案:用 Omni 做快速响应的“嗯、好的”等短回复,用 Cascaded 做需要工具调用的复杂回复。

Computer Use / GUI Agent#

GUI Agent 的目标:让 AI 像人类用户一样操作图形界面——点击按钮、输入文字、滚动页面、读取屏幕内容。

动作空间设计#

GUI Agent 需要定义一组有限的动作原语:

# 典型动作空间
actions = {
"click": {"x": int, "y": int, "button": "left|right"},
"type": {"text": str},
"scroll": {"direction": "up|down|left|right", "amount": int},
"key": {"keys": str}, # 如 "ctrl+c"
"screenshot": {}, # 获取当前屏幕截图
"wait": {"seconds": float}, # 等待页面加载
"drag": {"from_x": int, "from_y": int, "to_x": int, "to_y": int},
}

设计原则:

视觉定位方法#

模型看到截图后,如何指定“点击哪里”?两种主流方案:

方案 A:Set-of-Mark(SoM)标注选择

Terminal window
截图 视觉模型检测可交互元素 标注编号 发给 LLM
LLM 回复:"点击标记 [7] 的按钮"

优点:LLM 只需选 ID,不需要空间推理能力;定位精确。 缺点:多一步检测;遗漏元素时无法操作。

方案 B:坐标定位

截图 → 直接发给多模态 LLM
LLM 回复:"click(324, 178)"

优点:无需额外检测步骤;能操作任何可见元素。 缺点:坐标精度依赖模型视觉能力;分辨率变化时坐标失效。

实践建议:优先用 SoM(稳定性高),对 SoM 覆盖不到的元素 fallback 到坐标定位。

安全边界#

GUI Agent 直接操作用户界面,安全问题比 API 调用严重得多:

GUI Agent 安全边界:隔离、权限、审批与验证

关键安全措施:

层次措施说明
环境隔离沙箱/虚拟机Agent 在隔离环境中操作,不影响宿主机
权限收窄白名单应用只允许操作指定应用,禁止访问敏感区域
操作审批不可逆操作确认删除、发送、付款等动作需人工确认
执行限速动作频率限制防止失控循环高频点击
状态验证操作后截图对比确认动作产生了预期效果

当前落地的代表产品#

共同的架构模式:

截图/DOM → 理解当前状态 → 规划下一步动作 → 执行 → 验证 → 循环

快慢解耦:跨模态的共性设计原则#

Voice Agent 和 GUI Agent 看起来是完全不同的场景,但它们面临同一个核心矛盾:

用户期望实时响应(快),但深度推理需要时间(慢)。

解决方案是同一个:把实时响应通道和深度推理通道分离,并行运行。

Voice Agent 中的快慢解耦#

Voice Agent 快慢解耦:填充词快通道与推理慢通道并行

GUI Agent 中的快慢解耦#

GUI Agent 快慢解耦:快速执行与定期重规划

核心思想总结#

维度快通道慢通道
职责维持交互节奏保证决策质量
延迟要求<200ms可接受 1-5s
模型规模小模型/规则大模型/多步推理
触发条件每次交互定期/异常时
失败代价低(填充词/单步动作)高(整体策略错误)

工程挑战#

延迟预算管理#

多模态 Agent 的延迟是硬约束,不像文本 Agent 可以“多想一会儿”。

Voice Agent 延迟预算示例:
总预算 = 800ms(超过则用户感知"卡顿")
分配:
网络传输:100ms
语音理解:150ms
LLM 推理:350ms(含首 token 时间)
语音合成:150ms
播放缓冲:50ms

工程手段:

错误恢复#

多模态场景的错误恢复比文本场景复杂得多:

Voice Agent 错误恢复

Terminal window
检测到错误 主动确认
"您是说要转到人工客服,还是查询账户余额?"

GUI Agent 错误恢复

执行动作 → 截图验证 → 不符合预期 → 回退/重试

共同原则:检测-确认-恢复三步循环,而不是盲目重试。