🎙️ 《深入理解 AI Agent》第 6 章

交互 · 当观察和动作空间从文本扩展到事件、语音、屏幕和机械臂
11 个动画场景 · 覆盖 6.1–6.5 · 含异步事件三策略、语音延迟瀑布与 Computer Use
📌 回合制是训练留下的假设,不是环境的性质 —— 这一章讲的都是怎么把它拆掉

🎯 一张图看懂第 6 章

把 Agent 从「回合制对话框」放回真实世界
📨
异步事件
世界主动找上门
→
🎙️
语音
从级联到全双工
→
🖥️
Computer Use
看屏幕、点鼠标
→
🤖
机器人
动作分块与 VLA
💡 一句话总纲: 扩展观察与动作空间,本质是在时间维度上做设计 —— 多快看到、多快反应、什么时候可以被打断。

场景 1 · 四把时间尺度 6.1

观察 / 动作空间在「模态」和「时机」两个方向展开
世界主动 · 异步人在等 · 要实时📨事件秒 — 天异步事件驱动动作跨回合🎙️语音10 ms — 1 s语音对话边说边听🖥️屏幕亚秒 — 秒Computer Use两帧之间在变🤖机械臂毫秒机器人动作分块可抢占
同一套 Agent 架构,换一个时间尺度,就长出完全不同的产品形态
读法: 越靠左,世界越主动、越异步;越靠右,实时性要求越高、留给模型思考的时间越短。四种形态分别对应异步事件驱动、语音对话、Computer Use 与机器人操作 —— 它们共用同一套架构,差别只在时间尺度。

场景 2 · 排队柜台 vs 活人秘书 6.2.1 重点

同步 Agent 像只排队的柜台,异步 Agent 像会切换的秘书
🏦 同步 Agent · 只排队的柜台还有 3 个在等一次只叫一个号用户问一半 → 只能干等🧑‍💼 异步 Agent · 会切换的秘书秘书📧 邮件📞 电话🙋 访客按紧急度随时切换用户随时能打断VS训练范式:假设同步部署现实:要求异步
设计的起点不是「加个异步」,而是承认环境本来就是异步的
为什么难: 不是加个功能就行 —— 整个训练范式都建立在「回合」这个假设上(发出工具调用后,下一条必然是工具结果),而部署现实里用户随时可能打断,异步是在跟这个假设对抗。

场景 3 · PineClaw 的电话通道 6.2.2 重点

靠定时轮询会错过验证码,通话直接失败
🐢 靠 Heartbeat 轮询每 N 分钟才醒一次✕用户迟迟收不到验证码⚡ PineClaw 实时通道GatewayPine API⚡ 实时通道📱OTP 秒达秒级送达🕐 有「人在等」的环节,轮询必然出事
PineAI 代用户打电话:慢一步这通电话就废了 —— 异步不是优化,是刚需
一条判据: 如果流程里存在「人在等」的环节,轮询就一定会出事,必须换成事件推送。PineClaw 在 Gateway 与 Pine API 之间建一条实时事件通道,OTP / 三方通话 / 确认降价都能秒级送达用户手机。

场景 4 · 三种事件处理策略 6.2.6

紧急就取消、常规就排队、独立就并行
🛑 取消式事件推理队列✂中断推理 · 清空队列紧急事件 · 立刻停📥 队列式主任务跑着补充信息入队等工具返回再追加常规事件 · 排队等🔀 并行式主任务另起一条会话标注「与主任务并行」独立事件 · 另开会话🛡 紧急 → 取消 · 常规 → 排队 · 独立 → 并行
选哪种策略,只取决于「何时消费这个事件才安全」
分类依据只有一个: 这个事件什么时候消费才安全。取消式会中断当前推理并清空队列,队列式把补充信息攒到工具返回时批量追加,并行式另起一条推理会话 —— 想清楚判据,策略自然就选出来了。

场景 5 · 占位符修复同步格式 6.2.7 重点

工具没返回就被打断,用占位符补一个合法 tool result
📤assistant发出 tool_call⏳工具执行中结果还没回来💬用户插话「顺便看下天气」🧩占位符补位轨迹不断裂占位符的两种写法🚩只说「已完成」模型据此编造结果✅写清状态「后台执行中,稍后返回」
补一个合法的 tool result 让轨迹不断裂 —— 模型看到的仍是完美同步的轨迹
工程味道最浓的一节: 为了让轨迹「形式合法」,宁可先塞一个占位符 —— 但必须写清状态,否则会诱发幻觉:写成「已完成」,模型就会当真去编造结果。

场景 6 · 级联延迟瀑布 6.3.2

VAD + ASR + LLM + TTS 串行累积,空载 0.9s 最优、2.3s 最差
空载VAD500–800 msASR50–200 msLLM100–500 msTTS200–500 ms0.9–2.3 s空载端到端满载ρ 0.5–0.8排队等待×2–5利用率一上来,排队让总延迟再放大 2–5 倍
级联延迟是四段相加 —— 每一段都要抢时间,用户才不觉得「对面在发呆」
为什么生产环境更慢: 空载延迟只是理想值,利用率一上来(ρ 0.5–0.8),排队会让它放大 2–5 倍。注意是四段相加而不是取最大值,所以每一段都值得抢。

场景 7 · 快慢思考自相矛盾 6.3.5 重点

快模型先说「买」,慢模型 8 秒后发现缺漫游 —— 用户听到两个答案
用户⚡快思考 ~500 ms先说:价格不错,建议购买🐢慢思考 ~8 s8 秒后:这套餐缺国际漫游💥PineAI 快慢分离 · τ³-Voice 榜单第一
用户听到两句矛盾的话 —— 解法是让快的看见慢的中间结论
本质: 两个实例各自独立思考,没有共享状态。解法不是让慢的更慢,而是让快的能看到慢的中间结论 —— PineAI 就是靠「快慢分离」架构在 τ³-Voice 榜单上排到第一。

场景 8 · Computer Use 的感知-思考-行动循环 6.4.1 重点

截图 → 推理 → 点击 → 再截图,多步表单要 10–20 轮
📸① 截图🧠② 推理🖱️③ 点击🔄④ 再截图10–20 轮填一张多步表单动作间隔 2–5 秒 · 速度只有人类的 1/3–1/5
难点不是「看懂界面」,而是每一步之后都要重新确认现实
一句话抓住重点: 每一步之后都要重新确认现实 —— 因为屏幕是世界状态,不是你计划的一部分。这也是它比人慢的原因:每个动作间隔 2–5 秒,速度只有人类的 1/3–1/5。

场景 9 · 视觉定位:选择题还是坐标 6.4.2

给界面元素编号让模型「选 [123]」比直接报坐标容易答对
🔢 Set-of-Mark · 给元素编号[1][2][3]模型只要答「点 [2]」✓📍 纯坐标预测真值预测 (350,464) ✗定位变成盲猜坐标结构化索引(DOM / A11y Tree)枚举可交互元素,比裸像素好答
把回归问题变成分类问题 —— 这就是 browser-use 走的路
通用技巧: 把连续空间里的回归问题转成离散选项的分类问题 —— 模型答得准得多。裸坐标预测需要大量训练,分辨率一不匹配就系统性偏移;更进一步还可以直接枚举 DOM / Accessibility Tree 里的可交互元素,browser-use 走的就是这条路。

场景 10 · Computer Use 的世界模型 6.4.4

让 Agent 点之前先「想象」下一状态
🖼️ 当前帧💭 想象出下一屏✓🖱️挑最稳的一步下一步会变成什么样3 万小时Photon-1 预训练的 H200 时长仍多于人类OSWorld-Human:完成同一任务的步骤更多
它预测的是「可检查的状态差异」,而不是一张逼真的截图
关键区别: 它要的不是「好看的图」,而是「能用来判断的状态差异」—— 目标函数完全不同。Photon-1 为此烧掉 3 万小时 H200;但 OSWorld-Human 显示,Agent 完成同一任务的步骤数仍多于人类。

场景 11 · XLeRobot 与动作分块 6.5

几百美元机械臂就能做多步任务,说明瓶颈在算法
🥤红杯进托盘pick / place📄黄纸进垃圾盒pick / place✅重新确认verify_state🧠 模型推理 · 1–10 Hz每秒几次动作⚡ 动作分块对齐两层🤖 控制器 · 50–1000 Hz
XLeRobot 说明硬件不是瓶颈,算法才是 —— 分块把 1–10 Hz 对齐到 50–1000 Hz
呼应场景 1: 时间尺度表最右边那一格。模型推理只有 1–10 Hz,控制回路却有 50–1000 Hz,动作分块就是把一次模型输出摊成一小串控制指令,让两层频率得以对齐。XLeRobot 几百美元的机械臂,经遥操作就能完成连续多步桌面任务。