ch6-交互


交互:观察与动作空间的扩展:打破回合制

第 6 章是”构建 Agent 的最后一块拼图”——前面五章,Agent 和世界是回合制交互的:你说完、它想完、调工具、再回你,思考时世界默认静止。

这一章挑战这个前提。

一句关键的话

回合制是训练留下的假设,不是环境的性质。

当环境变化比模型生成还快,”想完再说”就不可接受了。所以要从两个维度扩展 Agent 的观察空间动作空间

  • 内容(前 5 章已讲):上下文、记忆、工具、代码
  • 模态(本章):语音、屏幕、物理传感器 / 说话、点击、关节
  • 时机(本章):世界主动推、连续流 / 跨回合、可打断、可抢占

异步与事件驱动

同步 Agent 像排队柜台;真实助理要异步执行、动态优先级、中断恢复。根本矛盾:训练同步 / 部署异步

解法:输入统一建模成事件流,跑一个事件循环(取事件→追轨迹→调 LLM→执行→等下批)。OpenClaw 用 Hooks/Cron/Heartbeat,但第三方事件(比如来电)需要 Channel 机制实时推。

两类之前没展开的工具

第 4 章的五类工具里,这两类依赖异步运行时,现在补上:

  • 事件触发工具:set_timer(定时器)、monitor_shell(后台任务监控)、connect_channel(外部事件通道)
  • 用户沟通工具:用专用工具发消息(带图/文件/提醒),支持多渠道召回(IM/短信/邮件/电话),比原生 ReAct 直发更有”活人感”

虚拟身份与隔离

  • 给 Agent 独立账号/存储/计算(秘书专用电话邮箱),别直管你真实账号
  • 虚拟电脑/手机做 OS 级隔离
  • HITL 认证走 VNC/RDP,别把真实凭证交给 Agent

事件来了怎么处理

按紧急度三策略:

  • 取消式:紧急,造”安全点”中断当前推理
  • 队列式:常规,批处理(但要用状态栏标 [未处理事件 1/4],否则模型只看最后一条)
  • 并行式:独立轻量查询,另起会话

(易错:占位符修复格式容易诱发模型幻觉,伪造”工具成功”。)

前面打破回合制、讲了事件驱动。接着讲观察/动作空间在”模态”上的三种具体扩展。

语音:三种范式

  • 级联:VAD→ASR→LLM→TTS 串起来,模块清但延迟累加、丢副语言
  • Omni:原生音频进原生音频出,延迟低、保留语气,但还依赖轮次、训练贵
  • 全双工:持续听说决策,支持重叠说话和打断,最自然

认知时序上三种玩法:快回慢答、快交互慢提醒、端到端统一。

(全双工体验最好,但训练和评估都复杂。中小团队先用级联跑通,比追全双工现实。)

Computer Use:看着屏幕操作

循环:截图 → 多模态模型想 → 执行键鼠 → 重截确认。难点是动作后现实是否真按计划变。

找到界面元素(Grounding)三条路:

  • Set-of-Mark:分割模型切区域编号,模型选号换算坐标
  • 结构化索引:用 DOM / Accessibility Tree(browser-use 这类)
  • 纯坐标预测:需分辨率匹配双向缩放,否则系统性偏移

动作空间就是 mouse_move/click/drag/scroll/type 这些。

机器人:XLeRobot

硬件不是瓶颈(遥操作能完成),算法才是。控制分五层:任务目标→长程规划→基本技能→VLA(视觉-语言-动作模型)→底层控制(50–1000Hz)。

VLA 只学模仿不一定懂后果,要配世界模型预测”这动作会导致啥”。Sim2Real 还得处理仿真与现实的差异。

一个深层矛盾

训练是同步的(模型假设工具调用后必紧跟结果),部署是异步的(事件随时到)。要么等模型进化出异步 RL,要么用 ~200 行编排让现成模型”持续思考”(强行合上 <think> 注入观察)。


这一章把 Agent 从”对话框”拉到了真实世界——语音、屏幕、机器人。

对多数应用最划算的切入点是 Computer Use + 事件驱动:让 Agent 能看屏幕、能异步被唤醒,比追机器人现实得多。移动端那块壁垒更多是商业模式(绕过广告变现),不是纯技术。

下一篇

ch7-Agent的评估


  目录