先试一试 · 入门探针
讲前判断:一个 CUA 在离线基准上把人类录制的每一步动作都匹配对了(点中了同样的元素、输入了同样的文本)。有人据此推断:它在这些任务上的端到端完成率同样高。
本讲地图
点击卡片下钻详解第 4 讲总起:剥掉 API 的两场换挡
双节换挡总起:4a 剥掉 API 只剩屏幕与键鼠(循环+蓝马克杯示例);4b 开启训练线,SFT 把轨迹写进权重。
CUA 图什么:又慢又贵又脆,为什么还要把屏幕当接口
「轮数×每轮时间」的账本对撞 Koh「最通用接口+goldilocks 试验场」;产品线从公测、takeover 到 Codex 后台常驻,加 VPI/StepJack 像素注入暗面。
入门12 分钟#cua#products#safetyL7 p.2-15 ↗p.77-80 ↗
量什么:动作、结果还是过程——尺子如何说谎
三种评法:Action 量点没点中、Outcome 量终态、Process 量守约束;静态步匹配虚标、verifier 有漏洞、live+judge 拿可复现性换真实性。
进阶14 分钟#evaluation#benchmark#webarenaL7 p.17-37 ↗
从像素到动作:看不准与动作方言分裂
交错视觉-动作历史是共同骨架;grounding 之痛、SoM 编号、纯截图路线,再到 PyAutoGUI/tool_use/归一化坐标的动作方言分裂——「复现是噩梦」。
进阶13 分钟#grounding#vlm#action-spaceL7 p.47-57 ↗
长时程税:从点得准到走得完
0.95^50≈7.7% 只是底账:OSWorld 2.0 人类中位 1.6h、最强 20.6%,失败从点不准变成隐藏状态与不验证;rubric 部分分+轨迹 judge+MACU 并行三路换尺子。
前沿14 分钟#long-horizon#rubric#macuL7 p.39-45 ↗p.80 ↗
把世界搬进沙箱:造环境运动
真钱、真人、无干净重置封死真实世界 RL:CUA-Gym 32,112 条可验证元组(GSPO 62.2→72.6%)、Gym-Anything 把 200 个软件变 12,103 任务,造环境成了多智能体任务。
前沿14 分钟#rl#environment#rlvrL7 p.63-73 ↗
改行为改在哪:上下文、artifact 还是权重
同一处行为改动:塞上下文(贵而噪)、写 artifact(要维护)还是训权重(永久生效但绑模型)?配 20T→332B token 管线与 K3 冷启动三段论。
入门12 分钟#sft#instructgpt#loraL8 p.4-8 ↗
loss mask 的细节:模型到底在学哪些 token
只对 assistant span 算损失、stop token 不进 mask 就停不下来、think 块两个独立开关、按样本配平却按 token 结账——无公开消融的工程自觉。
进阶13 分钟#loss-mask#chat-template#frameworksL8 p.11-19 ↗
轨迹经济学:选哪些轨迹、怎么喂
2×2 来源、491 条涨 10 分、min-turns 的粗糙有效、最强 teacher 教最弱学生、加新任务胜过加 run;再加 ADP 统一格式,数据才是主战场。
前沿14 分钟#data#distillation#adpL8 p.21-45 ↗
收束:能力终点与训练起点的对接清单
收束清单:何时用 CUA、评估器匹配能力层级、行为改在上下文/artifact/权重、轨迹四笔账;分布偏移这个洞留给 RL。
伴读笔记
导语:能力的终点,训练的起点
第 4 讲在 11-768 的课程地图上是一个明显的换挡点。前三讲谈的都是「Agent 已经会什么」:调工具、管上下文、做规划、写代码。从本讲第二节 Training 1: Supervised Fine-Tuning 开始,课程切入训练线,转而回答「这些行为是从哪来的」。
而第一节 Computer Use Agents 更像是给能力篇收尾时把难度拉满:剥掉所有 API、所有函数调用,只剩一块屏幕和一套键鼠,Agent 还能干活吗?
两节放进同一讲并不违和。一个讲行为长什么样,一个讲行为怎么学,正好首尾相接;而学会像人一样操作电脑的第一条路径,偏偏就是最朴素的监督学习:把示范写进参数。
这一版对齐官方两份讲义:4a《Computer Use Agents》,94 页,JY Koh 主讲,2026-09-15;4b《Training 1: Supervised Fine-Tuning》,49 页,Yueqi Song 主讲,2026-09-17。
4b 的副标题一句话点题:Turning recorded trajectories into weights。页码随文以 slides L7 p.X/ L8 p.X 标注。
下面第一至四节保留经典论文织成的旧地图,第五至十二节按讲义顺序把八个主题重新铺开:先算 CUA 的价值账、换三把评估尺子、看建模与动作方言,再看长时程税与造环境运动,最后进 4b:改行为改在哪、loss mask 划在哪、轨迹怎么选怎么喂。讲次页「本讲地图」的卡片可下钻到对应分节详解。
事实与数字只出自这两份讲义、官方 readings 与文中注明的来源,把它当成课前预习、课后消化用的地图。
一、屏幕:最通用的接口,也是最难用的接口
想象你正在远程指导爸妈用手机。你能看到的只有对方发来的截图,能做的只有口头指挥:「右下角,灰色的小齿轮,对,再点『显示』。」这就是计算机使用智能体(Computer Use Agent, CUA)的日常:观察是一张张截图,动作是点击、输入、滚动。
图形用户界面 GUI 是人机之间最通用的协议:所有软件都为会用电脑的人设计过界面,却几乎没有软件为 Agent 留过接口。通用是通用了,难用也是真难用,难点集中在三处。
-
看不准,视觉定位 visual grounding。从像素到语义的跳跃:上千万像素里找到那个二十乘二十的小按钮,还要把提交和旁边的重置区分开。坐标回归差几个像素,点到的就是另一个世界。常见缓解是 Set-of-Mark 一类的编号做法:视觉模块把可交互元素框出来标上序号,Agent 再说「点 7 号」,连续定位降级成离散选择。
-
说不清,动作空间 action space。工具调用是结构化的 JSON,GUI 动作却是连续坐标与离散类型的混合体:click (x, y)、type、scroll、热键组合,参数差一点,语义全变。更麻烦的是反馈异步:点了提交,页面可能转一秒圈,也可能弹个验证码,Agent 得学会等。
-
走不远,长程任务 long-horizon。设每步动作的成功率为 ,一条 步的轨迹整体成功近似连乘:
每步 95 分看着很美,五十步下来 ,十次成不了一次。误差累积,error accumulation,是 CUA 的头号敌人。
再叠加每一步都要截图、推理、执行的延迟与成本,一条轨迹跑几十秒到几分钟是常态。
二、怎么给「会点鼠标的模型」打分
CUA 的评测是个工程活。任务是「把系统切成深色模式」,正确做法不止一种,比对输出字符串肯定不行。主流基准的共同思路是可执行评测,execution-based evaluation:环境负责把系统恢复到指定初始状态,Agent 干活,最后跑一段验证脚本查结果,而不是对台词。
三个代表性基准正好覆盖三类屏幕。
- WebArena 面向网页:自托管一整套电商、论坛、内容管理站点。
- OSWorld 面向桌面:在真实虚拟机的 Ubuntu/Windows/macOS 里跑 369 个跨应用任务。
- AndroidWorld 面向手机:覆盖 20 个真实 App、116 个任务族,任务参数化后可动态生成、不易被背题。
三家的分数都不乐观:WebArena 上基于 GPT-4 的智能体成功率 14.41%,人类是 78.24%。模型并不笨,难处在真实软件世界处处是为人准备的陷阱:登录、验证码、动态加载,以及换个网站先验全部作废的脆弱泛化。
三、SFT:把示范写进参数
监督微调(Supervised Fine-Tuning, SFT)朴素得近乎动人:收集一批状态 - 动作示范,让模型做下一个词预测,只对答案部分算损失:
放到 Agent 上, 是截图加历史动作摘要, 是下一步动作,本质是行为克隆,behavior cloning。InstructGPT 的三段管线是 SFT、奖励模型、RLHF;其中 SFT 是第一步,负责把 “补全引擎” 扭成 “听指令的助手”。
LIMA 则展示了另一个极端:仅用 1000 条精挑细选的样本就调出表现不错的对齐效果,支持所谓「表面对齐假说」,对齐主要是激发预训练已有的知识,而非灌输新知。
但把 LIMA 的结论外推到 Agent 要小心:闲聊的状态很短,Agent 的轨迹是多步决策,里面藏着等待、重试、工具之间的衔接。一千条示范远盖不住这个状态空间,下一节就谈它。
四、轨迹数据:Agent SFT 真正贵的东西
一条轨迹样本大概长这样(示意):
trajectory = {
"task": "把系统设置里的深色模式关掉",
"steps": [
{"obs": "截图 + 此前动作摘要", "action": "click(x=842, y=37)"},
{"obs": "新截图 + 摘要", "action": "click_by_text('深色模式')"},
],
"result": "success", # 通常只有成功轨迹才进训练集
}
数据从哪来?
- 人工示范。真人录屏操作,质量最高也最贵:要对齐动作与目标,采集成本远高于一条问答。
- 蒸馏 distillation。让强模型在环境里跑,筛出成功轨迹去教小模型。
- 自举 bootstrapping。STaR 只保留做对的题,对做错的题给答案补过程,也就是 rationalization,再一轮轮自我进化;ReST 把这套循环拆成 Grow 与 Improve 两步交替,前者采样、筛选,后者离线微调。生成与训练解耦,比在线强化学习稳得多。
SFT 的根本局限也藏在这里:示范数据几乎全落在正确状态上,模型从没见过自己犯错之后的世界,自然没学过怎么恢复。这就是分布偏移,distribution shift。
回滚、重试、等待这些动作在人类示范里天然稀少,毕竟谁演示时会专门演示自己犯错呢?这个洞,留给下一讲的强化学习来补。
五、CUA 图什么:又慢又贵又脆,为什么还要把屏幕当接口
先把反方账本摆上桌(L7 p.77):任务时间 ≈ 轮数 × 每轮时间,而 CUA 每一轮都要推理,截图与推理历史还不断变长,一路加重 prefill 与生成成本。到 2026 年 9 月的 GPT-6 Astra 时代,CUA 的能力已经很强、速度也快,但讲义的原话是:仍然「非常贵」(L7 p.15)。又慢又贵又脆,那顶级实验室为什么还在押注让模型点鼠标?
讲者 Koh 自己在 2026 年 9 月写了篇立场文《What’s the Point of Computer Use Agents?》回答这个问题(L7 p.15 引用)。正方的论据:
- GUI 是最通用的接口。所有软件都为人准备过界面,却几乎没有软件为 Agent 留过 API;那块「只有界面、别无入口」的长尾,只有 CUA 够得着。
- goldilocks 试验场。grounding 与长程多模态推理的难度恰好落在无解与无聊之间;OSWorld 2.0 的 SolveSpace 演示从参考视频重建零件、30 倍速播放,就是这块试验场的招牌。
讲义用一条贯穿示例把 CUA 的循环钉死(L7 p.3-8):Observe 截图;Reason 推理并输出动作,如 {"mouse": {"left_click": [33, 201]}}、{"scroll": {"dy": 520}}、{"type_text": "15213"};Act 执行并检查变化。循环直到任务完成再计算 reward。
示例任务 BUY A BLUE MUG 从看到蓝色马克杯、点击、滚动找配送信息到点 ZIP 输入框输入 15213,reward 1.0。三大形态各管一块屏幕:浏览器跨页面购物、桌面跨应用编辑文件、移动端屏幕导航与手势(L7 p.2)。
简史是一条从玩具到真实的演进曲线(L7 p.9-15):MiniWoB 2017,WebShop 2022,WebArena 与 VisualWebArena 2024,OSWorld 2024,MyPCBench 2026、带个人历史,CUA-World 与 Gym-Anything 2026。
产品线印证了这条曲线的三级跳。2024 年 10 月的 Anthropic computer use 公测定义了截图加 click/type/scroll 一组动作原语;2025 年 1 月的 Operator 把登录、支付等敏感步骤交还用户确认,也就是 takeover。
OpenAI 的 Codex 后台 computer use(2026,L7 p.79)把 CUA 做成常驻后台:隔离会话不阻塞用户、多 agent 并行、实时协作,能展示进度、接受纠正、批准或打断。
讲义收尾列的剩余问题(L7 p.77-80)也值得记。
- 速度与成本:Game-TARS 稀疏思考,只在关键决策处推理;FDM-1 直接动作预测。
- 个性化:GUM 从 computer activity 建用户模型,同意与遗忘必不可少。
- 基础设施与 UX、多智能体:后者即 MACU,第八节详述。
还有暗面:VPI-Bench、StepJack 一类像素注入攻击。把屏幕当接口,也把注入的攻击面搬了进来。
六、量什么:动作、结果还是过程 —— 尺子如何说谎
同一个「买蓝色马克杯」任务,讲义给了三种评法(L7 p.17)。
- Action:点没点中目标?适合快速的 grounding / 模仿测试。
- Outcome:购物车里是不是对的商品?靠状态检查或证据评判。
- Process:有没有遵守约束?比如不结账、不做多余修改。
第一条铁律随图而来:评估器要匹配你想测的能力。量错层级,榜单就是会说谎的尺子。
静态评估量 Action(L7 p.19-23)。机制是屏幕截图加参考规则:(x, y) 落进目标框、或匹配录制的 target/operation/input,逐步给分。步子对了不等于任务完成,这句 L7 p.19 的点题话,留在分节详解展开原话。
Li et al., 2025 的 ScreenSpot-Pro 让 grounding 本身成为基准:1,581 张高于 1080p 的高分辨率专业截图,覆盖 23 个应用、3 个操作系统。示例任务 Blender「Construct a UV sphere mesh」的原图为 2560×1440,真值框是 (417,132)–(576,152),点进框才得 1 分。
Deng et al., NeurIPS 2023 的 Mind2Web 有 2,350 个任务、137 个网站、31 个领域,真值是 CLICK CAR 标签,element: bookCarTab。它反复证明同一件事:下一动作模仿 ≠ 任务完成。
规模换覆盖的路线上还有两家:AITW 有 715K episodes;AndroidControl 有 15,283 条演示,成对的高层 / 低层指令把规划与运动控制分开。
程序化终态检查量 Outcome(L7 p.25-28)。最终应用状态 + 可执行检查:cart.item == blue_mug、cart.price < 20、orders.count == 0,通过即 reward 1.0。可重复、精确,但只覆盖测试写到的条件。
验证器自己也有漏洞。WebArena 的 task 476 要求创建空仓库 awesome_llm_reading,verifier 只查 /byteblaze/ 页面含这个名字,没查仓库是否为空。
VisualWebArena 把 910 个任务里的 25.2% 变成必须靠图像输入才能做的任务:视觉理解改变的是哪些任务可被表达。
LLM/VLM 评判与 live 网站(L7 p.29-33)。judge 的口径是 rubric → evidence → verdict,输入截图与动作历史,但必须先对人类标注校准。WebVoyager(He et al., ACL 2024)在 15 个 live 网站上做到 judge-human 一致 85.3%,代价直白:真实性上升,可复现性下降。
Online-Mind2Web(Xue et al., COLM 2025)的结论更冷:live 基准会漂移,judge 质量本身成为分数的一部分。拿它去实测,既有离线基准严重高估了进展。
当 Reviewer A 给 PASS、Reviewer B 给 FAIL 时,用证据仲裁:订单确认页出现 = 违禁购买,判 FAIL。
桌面与移动端的端到端基准同一逻辑(L7 p.35-37/89-92)。
- OSWorld:每个任务自带 setup 逻辑与定制终态检查。更新记账表的任务用
compare_table断言 A1:E8 不变、D9 ≈ −186.93。 - WindowsAgentArena:用 20 分钟并行 VM 扫描,把多天桌面评估变成云级扫测。
- WorkArena/WorkArena++:用参数化与组合,把原子 UI 技能变成知识工作流。
- MobileWorld:62.2% 的跨应用任务,混合 GUI 控制、澄清对话与结构化工具 MCP。
收束成判据:测模仿用静态步匹配,测完成用程序化终态,测守规用过程检查;上 live 加 judge 之前,先校准 judge。
七、从像素到动作:看不准与动作方言分裂
建模主线只有一句话:VLM 从视觉历史预测动作(L7 p.47-56)。goal + screenshot 0 → action 0 → screenshot 1 → … → action t,动作 ∈ click /type/tool /stop。交错视觉与动作历史,让策略以过往进度为条件,这是所有前沿 CUA 的共同骨架。
落到 token 层(L7 p.56):INSTRUCTION | VISUAL TOKENS 0 | ACTION TOKENS 0 | VISUAL TOKENS 1 | … 喂给因果 Transformer,输出 action t。文本走 tokenizer + embeddings;截图走 vision encoder + projector,视觉 token 是连续 embedding,不是词表 ID。
第一节的看不准在这一层有了精确表述:grounding 就是从千万像素的连续表示里,回归出一个离散语义目标的位置。Set-of-Mark 编号与 ScreenSpot-Pro 式的专项基准,分别给出缓解与尺子。
动作这一侧的麻烦是方言分裂(L7 p.57 前沿 CUA 对比表):观察相似、动作不同,输出格式与 schema 各家一套,讲义的原话是「复现是噩梦」。
- GPT-6 Astra:Python/PyAutoGUI 或原生 computer tool,如
pyautogui.click(x, y)、computer_call: actions=[…]。 - Fable 与 Opus 5:原生 tool calls,每次响应一个或多个动作,如
tool_use: left_click+input: {coordinate: [x, y]}。 - Gemini 3.8 Flash:归一化坐标的 function calls,
args里 x, y ∈ 0–999。 - Qwen 3.8:由应用定义 GUI schema,用 XML 风格
<tool_call>序列化。 - Muse Spark:Meta 出品,混用脚本与直接 GUI 动作,还带动作批处理。
- Kimi K3:
tool_calls[].function+ JSON 参数。
同一个点 (33, 201),六家六种写法。
方言分裂的账最后算到训练数据头上:同一家网站的轨迹,有的存 HTML、有的存 a11y tree,动作方言更是各讲各话(L8 p.31)。Agent Data Protocol 的解法是先立统一中间表示、再按目标 harness 渲染,这条线留到第十二节展开。
这里先记结论:坐标、编号、代码三种动作表示,在精度、可组合性、可复现之间各有账。观察侧与动作侧的分裂叠加,是 CUA「既难又散」的结构性原因。
八、长时程税:从点得准到走得完
第一节的 底账,,只是入门账。长时程评估先换的是尺子:混合 / 轨迹评估 = 结果检查 + 过程检查。结果 ✓ 正确商品、过程 ✗ 发生了购买,照样 FAIL(L7 p.39)。
仅按结果打分会漏掉违规,所以 WeaveBench 用轨迹感知 judge、OSWorld 2.0 配独立安全审计。
Odysseys(Jang*, Koh*, Fried & Salakhutdinov, 2026;L7 p.40-41)是 rubric 部分分的代表作:200 个 live-web 长时程任务、平均每任务 6.1 条 rubric、主评估 100 步上限。
示例任务「规划 Palm Springs 婚礼行程」八条 rubric 达成七条,得分 0.875,「完美完成度」却是 0.0。部分分让差一条汇总与全程跑偏不再同分。
OSWorld 2.0(Yuan, Zhou, Xiong et al., 2026;L7 p.42-44)把难度再拉一档:108 个工作流,人类中位用时 1.6 小时、平均 318 次模型调用;当前最强约 20.6%。
失败形态也在变。前沿模型的失败已从点不准转向隐藏状态、需求变更与验证:FreeCAD 支架导出 STEP 的失败案例是文件存在但错了;而 SolveSpace 从参考视频重建零件的演示说明天花板还远。
长任务专门基准各自针对一类失败(L7 p.45/93/94)。
- CUA-World-Long:200 个常超 500 步的长任务,配 8 条质量标准的 checklist VLM 验证器;每软件一个长任务,专门暴露专业软件的失败。
- MyPCBench:用一个种子身份把 17 个已登录应用变成可复现的数字生活,184 个任务、68% 跨应用。
- WeaveBench:114 个任务,中位 16 次界面切换、76 次工具调用,混合 GUI+CLI 轨迹;仅看结果会过度奖励走无效捷径的 agent。
解法有两条线:换尺子,以及拆任务。换尺子就是上面的 rubric 部分分加过程审计;拆任务的代表是 MACU(Koh, Salakhutdinov & Fried, 2026;L7 p.80)。
MACU 的编排是 plan → parallelize → replan:按依赖拆出任务图,把就绪子任务派给隔离环境里的 CUA 并行执行,共享证据后重规划。子任务之间要交接文件与结果、验证彼此的工作、从失败中恢复,还可混编 CUA、代码与工具 agent。
纪律只有一条:「并行只有在协调保住正确性时才有益」。产品侧的呼应是 Codex 后台 computer use:跨天跨周的任务、多 agent 并行、人实时协作。
九、把世界搬进沙箱:造环境运动
RL 的算法骨架不复杂(L7 p.63-64):生成 rollout → 给结果打分 → 改进策略。SFT 学的是下一动作预测,RL 按结果评估整条轨迹。
难的是真实世界不给 RL 三个前提(L7 p.65)。
- 真钱:重复尝试产生重复付费订单。
- 真人:订车任务会真派出司机。
- 无干净重置:取消可能收费、时间不可恢复。
讲义举的例子是 MyPCBench 任务 bounded_action-f041 第 53 步「Book an airport ride for my upcoming Jamaica flight」:RL 要千百次 rollout,每一次都可能是真订单。于是答案只剩一个:把世界搬进沙箱。
CUA-Gym(Wang et al., 2026;L7 p.66-69)的造法是 plan → implement → test:94 个 mock web 应用加 16 个桌面应用,共 110 个环境,每个都注入初始态、检查终态、每会话重置。攒出 32,112 条已验证 RLVR 元组、38% 跨应用任务;世界与其奖励独立生成,再测试二者一致。
训练账最硬:3,578 条 SFT 演示起步,在 10,858 条已验证元组上跑 GSPO,OSWorld 成绩 62.2 → 72.6%,口径为 OSWorld-Verified、GUI calls、100 模型步、程序化检查。十个点,全部来自环境。
Gym-Anything / CUA-World(Aggarwal et al., 2026;L7 p.70-73)把造环境本身做成了多智能体任务:creation agent 构建应用与任务,独立的 audit agent 验证证据,一边创建、一边审计。
任务用 propose + amplify 生成:执行种子任务、LLM 放大、再过滤。验证用特权证据加加权 checklist,给部分分并查完整性。
规模摆在那里:Linux/Windows/Android 上真实安装的 200 个软件应用、12,103 个任务与环境、22/22 个 SOC 职业组全覆盖。
蒸馏账同样硬:Kimi-K2.5 当 teacher、Qwen3-VL-2B-Thinking 当 student,仅约 2,000 条成功轨迹。
平均 checklist 分 12.7 → 22.5/100、完美通过率 1.6 → 4.4%,口径为 CUA-World-Test、GUI 动作、200 步、Gemini 3 Flash checklist judge。更多软件与更多任务,都有助监督后训练。
两条路线各有立场:mock web 可控、可重置、便宜;真实安装软件覆盖专业长尾。把任何软件都变成环境的野心越大,环境与奖励一致性的审计成本就越高。
对 RL 而言,RLVR Environment 不是基础设施的配角,而是数据本身。这一讲之后,造环境与造数据渐渐成了同一件事。
十、改行为改在哪:上下文、artifact 还是权重
4b 从一个朴素的问题开场:同一处行为改动,塞进上下文、写成外部 artifact,还是训进权重(L8 p.4 对比表)?
- 上下文窗口:保真,但贵、噪,而且不决定什么重要(9/1 讲)。
- 外部 artifacts:可查、可编辑、可检索、可移植,但必须被归纳、选择、维护(官方 9/3 讲,本站未收录)。
- 模型权重:推理更快、行为改变广,但每次改动都要一次训练,不透明、绑定模型。
红利一句话:改一次权重,之后每次调用都自带新行为,prompt 里不用额外塞东西。判断项也直白:改动越通用、越常用,越值得训进权重。
4a 末尾的训练总览(L7 p.59-61/74)正好是 CUA 版的地图:Pre-training 学 grounding,「CAR」对应元素框与屏幕坐标;学动作预测,引 Mind2Web 与 OS-Atlas。Post-training SFT 做行为克隆,用人类演示加合成轨迹;Post-training RL 在环境里 rollout 拿任务奖励。
演示语料的时间线一路涨规模、变长、变跨应用(L7 p.61-62)。
- Mind2Web,2023
- AITW,715K episodes
- WebLINX,2024,100K 交互
- AndroidControl,2024,15,283 条演示
- GUI Odyssey,2024,7,735 episodes 跨应用
- AgentNet,2025,22,625 条任务轨迹、3 个 OS、每轨迹 18.6 步
- MolmoWebMix,2026,36K 人类 + 105K 合成
放到整条训练管线的 token 账上看(L8 p.6):Pre-training 20T,Nemotron 3 Ultra 口径;Mid-training 1.43T,K2 Horizon;SFT 332B;RL 无固定语料。越往下越少越精。
为什么 RL 之前要先 SFT?K3 的冷启动三段论(L8 p.7):SFT 初始化基线 agent 能力,RL 在不同推理努力度上发展领域专家,on-policy distillation 再把专家合并回一个模型。
剂量怎么定,讲义把结论摆在交接处(L8 p.47):RL 从零 SFT 起步几乎推不动基座,SFT 单独做到头也低于两者接力;赢家配方是按 RL 目标挑 SFT checkpoint,而不是挑 SFT 自己的最高分。
反例是 DeepSeek-R1-Zero:零 SFT 直接在基座上 RL,答案混语言、难读;下一个模型 R1 就放回 SFT,从几千条精选示例起步。Kimi Team 2026 的原话:「The SFT stage establishes a high-quality cold-start policy for the subsequent RL stage.」
SFT 与 RL 的分工并排看最清楚(L8 p.8)。
- 学习信号:SFT 学自录制轨迹,无论谁产;RL 自己 rollout,被奖励打分。
- 目标密度:SFT 每 token 一个目标;RL 每 rollout 一个数。
- 依赖:SFT 要数据加 GPU;RL 要活环境、沙箱、可校验奖励。
- 擅长:SFT 管工具调用、格式、长任务;RL 打磨模型已能尝试的。
- 卡点:SFT 卡在演示错误、窄、用尽;RL 卡在起点太弱或奖励不可查。
最后一笔伏笔(L8 p.5):轨迹教会模型的不只是动作。写出 harness 真能跑的工具调用、对话变长时如何坚持、工具结果长什么样,从而等结果而不是自己编;还有数据里的一切杂项:多余解说、重复命令、多种可行解中的一种。好坏一起学,这笔账留到第十二节。
十一、loss mask 的细节:模型到底在学哪些 token
轨迹进训练器之前,先被 chat template 套成一条 token 序列(L8 p.11):<|im_start|>tool、3·failed,·41·passed、<|im_end|>、<tool_call>str_replace(...)</tool_call>……
<|…|> 是单个特殊 token,其余是 agent 写下与看到的。损失只对 assistant token 算交叉熵(L8 p.12):
mask 是每 token 一 bit,标记该 token 的预测是否计入损失;最小化它,就是提高每个录制动作「在之前一切条件下」的概率。关键一句:observation 是条件上下文,不是预测目标。
mask 怎么造(L8 p.13)分三步。
- render:模板把对话渲染成一条串,记下 assistant span 起止。
- tokenize:字符位置换算成 token 位置。
- mask:span 内置 1,其余置 0。
训练开始时角色已经消失,trainer 只看到一条串和一组 bit。
三个主流框架把同一个决定放在不同开关里(L8 p.14)。
- TRL:
assistant_only_loss=True,模板渲染时标记。 - Axolotl:
roles_to_train/train_on_eos,在渲染串里找 role header。 - LLaMA-Factory:
train_on_prompt/mask_history,编码时整轮标注。
只有 TRL 把它放进模板。
坑一在回合结束 token(L8 p.15)。role header 推理时由系统供给,永不是目标;stop token 却是模型要自己产出的,必须在 mask 内。
「End of turn」身兼三职:结束本条消息、交回给工具、完成任务。K3 的 XTML 模板用独立 token 分开 think /response/end_of_msg,否则「the model may not learn to stop」。停不下来的模型,常常就缺这一个 token。
坑二在推理块的 mask(L8 p.16),有两个独立开关:<think> 留在上下文里吗?它解释随后的动作。参与训练吗?它会成为模型自己的写作风格。Nemotron 3 Ultra 把预算截断的推理留在上下文,把人为截断点从 loss 里 mask 掉。
还有两笔账容易漏(L8 p.17-18)。
轮内加权是一笔。BalanceSFT 的 SSB 用学习型权重在 loss 中重配推理 token 与工具调用 token,HDR 重采样难例;长推理主导 loss,真正要对的却是短的工具调用,重配对多轮的增益大于单轮。
样本与 token 是另一笔。按示例条数配平 mixture,loss 却按 token 结算:STEM 与编码轨迹长得多,会吃掉几乎全部 token,MAI-Thinking-1 就吃过这个亏。按轨迹配平之后,务必检查 token 占比变成了什么。
讲者留了个开放问题(L8 p.19):至今找不到已发表的实验做过这件事,改 agent SFT 的 mask 并测量后果;细致 masking 研究都停留在单轮指令微调。唯一 unmask prompt 有益的案例是长 prompt、短回答、少数据,agent 轨迹三点全反。8B 规模做这实验很便宜,至今无人跑。
十二、轨迹经济学:选哪些轨迹、怎么喂
同样一笔 GPU 预算,买更多轨迹、更多任务、更好的 teacher,还是更好的过滤器?讲义用两张表给出反直觉的答案。
先把来源摆成 2×2(L8 p.21)。
- 强模型跑 + 全留:纯蒸馏。
- 强模型跑 + 只留通过:SWE-Gym / Nemotron / OT-Agent。
- 自己跑 + 全留:MAI 用自己的推理 run。
- 自己跑 + 只留通过:expert iteration(9/22 讲)。
大多数 agent SFT 数据落在强模型加只留通过那一格:强模型写得比学生好,任务自带测试让筛好轨迹近乎免费。
SWE-Gym 的实证(L8 p.22):GPT-4o 与 Claude 跑 SWE-Gym 任务,491 条 run 通过仓库测试;仅用这 491 条微调 32B Qwen,两个 SWE-Bench split 都涨超 10 分。
量的边际有两条线(L8 p.23/28)。任务集不变、只加采样轨迹数,采样预算用尽时精度还在涨,任务是够的,缺的是采样算力(SWE-Gym §5.2)。OT-Agent 同起 10K:粉线加同任务更多 run,到平台期为止;蓝线加新任务,持续上升。加新任务胜过加 run。
质的一面更麻烦(L8 p.24)。三条全过测试的 run:一条大半轮次在 edit–test 循环,一条最终 patch 里留了 print(,一条 read never edited;loss 会照抄每个动作,好坏一起学。
而全场最好用的过滤器粗糙得惊人(L8 p.25):数轮数,丢掉所有 <5 轮的 run。轮数衡量工作量不衡量质量,4 轮干净修复被丢、40 轮烂摊子被留,平均而言仍有帮助。
选 teacher 别信榜(L8 p.26):五个候选里 GPT-5.3-Codex 基准最强,其 run 教出的学生反而最弱,排行榜名次在此误导。试两个 teacher、以学生在留出任务集上的成绩定夺,成本相对便宜。
任务源才是最大杠杆(L8 p.27):任务源的选择对结果影响最大,不同源帮不同基准;混最好的 4–8 个源,再宽无益。精力先花这里,再调别的。
多源数据怎么喂?Agent Data Protocol 的管线(L8 p.32-33)分四步。
- 读入各数据集原始格式:HTML、a11y tree、各家动作方言并存。
- 通读重写为类型化动作与观察的统一轨迹表示,两种观察都保留,不二选一。
- 按目标 harness 渲染回其方言,并设 system prompt、定长上下文策略。
- 渲染完必检查:工具调用可 parse、每次调用带 thought、对话按预期收尾。
跳过中间表示直接做 N×M 转换器是老路;省掉检查,训练时才爆。
同样预算下的优先级:任务源 > 过滤器 > teacher 排名 > 加 run。唯一别省的是渲染后的检查:它便宜,且爆的时候最贵。
最后回接第四节的三条路:2×2 是蒸馏对自举的精细化,expert iteration 就是自己跑加只留通过那一格。
L8 p.29 的课堂讨论把分布偏移的洞翻到亮处:同一任务三条 run,A 四轮干净解决;B 走了错编辑、见测试失败后恢复;C 十一次无变化尝试后解决。min-turns 过滤会错杀 A,而 B 那条失败后恢复的轨迹,是恢复行为最稀缺的教材。过滤规则与训练目标,在这里正面打架。
这笔账第四节已经记下,RL 那一讲接着算。
最后补一笔验收(L8 p.42-45):训练跑完不等于成了。模型一步走偏就进训练没见过的状态,低 loss 兜不住部署里的分布偏移;信数字前先确认能过拟合 20 条样例,评测要跑在目标 harness 里、切分口径要匹配结论;只在一个 harness 采数据,学进去的是那套系统的惯例,换个环境就现形。
论文与材料导读
- WebArena: A Realistic Web Environment for Building Autonomous Agents(arXiv:2307.13854)。解决合成环境太假、评不出真本事的问题;做法是自托管一整套真实网站加程序化验证。结论很冷:GPT-4 智能体 14.41%,人类 78.24%。值得读,因为它是把评测做真的工程范本。
- OSWorld: Benchmarking Multimodal Agents for Open-Ended Tasks in Real Computer Environments(arXiv:2404.07972)。把 CUA 评测从网页推进到整个操作系统:真实虚拟机、跨应用工作流、执行式验证。局限是任务数有限、环境搭建重,但它是桌面 CUA 的公认标尺。
- AndroidWorld: A Dynamic Benchmarking Environment for Autonomous Agents(arXiv:2405.14573,代码)。关键词是动态:任务参数化生成,天然抗背题。移动端是 CUA 最自然的落地场景之一,这篇是入口。
- Anthropic:Computer use 公告(页面)。2024 年 10 月随升级版 Claude 3.5 Sonnet 推出 computer use 公测,定义了截图、点击、键入等一组动作原语;官方口径的 OSWorld 成绩 14.9%。作为第一批把 CUA 做成产品 API 的公开资料,工程参考价值大于论文。
- OpenAI:Introducing Operator(页面)。2025 年 1 月的研究预览,底层是 GPT-4o 视觉加强化学习训出的 CUA 模型,在云端虚拟机的浏览器里干活,登录、支付等敏感步骤交还用户确认。看它是为了理解产品形态如何约束 Agent 行为。
- InstructGPT: Training language models to follow instructions with human feedback(arXiv:2203.02155)。指令微调加 RLHF 的开山之作;SFT 作为管线第一步的行为克隆角色在此看得很清楚。局限:指令数据以对话为主,尚未涉及多步轨迹。
- LIMA: Less Is More for Alignment(arXiv:2305.11206)。1000 条精选数据完成对齐,支撑表面对齐假说。读它是为了划清边界:少样本对齐结论在多步决策的 Agent 场景并不直接成立。
- STaR: Bootstrapping Reasoning With Reasoning(arXiv:2203.14465)。只靠答对保留、答错补过程的自举循环滚出推理数据。它是后来一切自我进化训练的祖师爷,Agent 轨迹的自采自训沿用的就是这套思路。
- Reinforced Self-Training (ReST) for Language Modeling(arXiv:2308.08998)。把自举拆成 Grow 与 Improve 两步,离线交替进行,比在线 RL 稳、好部署。结论:样本效率与稳定性可兼得;局限是奖励信号要可外包,用奖励模型或规则筛。
- AgentTuning: Enabling Generalized Agent Abilities for LLMs(arXiv:2310.12823)。用强模型轨迹构造 AgentInstruct 数据,与通用数据混合做 SFT,小模型获得 Agent 能力且不掉通用技能。它回答了 Agent SFT 最实际的问题:数据怎么配比。
官方讲义引用导读(4a/4b)
官方两份讲义的引用面比旧版导读宽得多(L7 p.82-85 的基准、建模训练、系统、产品四张总表,L8 各节的训练管线表格)。上面十条旧导读保留,下面补讲义中被重点引用的若干件,短导读只给为什么值得读:
-
What’s the Point of Computer Use Agents?(Koh,2026-09,L7 p.15 引) 问题:CUA 又慢又贵又脆,为什么还要押注?要点:最通用接口、API 够不着的长尾、grounding 与长程推理的 goldilocks 试验场;第五节正反账本的正方总纲。 https://jykoh.com/blog/whats-the-point-of-computer-use-agents
-
VisualWebArena(Koh et al., ACL 2024,L7 p.28) 问题:多模态给 CUA 评测带来了什么?要点:910 个任务里 25.2% 必须靠图像输入;视觉理解改变的是哪些任务可被表达。 https://arxiv.org/abs/2401.13649
-
WebVoyager(He et al., ACL 2024,L7 p.30-31) 问题:上 live 网站评测的代价是什么?要点:643 任务 / 15 个 live 网站、judge-human 一致 85.3%;真实性上升、可复现性下降的第一笔账。 https://arxiv.org/abs/2401.13919
-
An Illusion of Progress?(Online-Mind2Web,Xue et al., COLM 2025,L7 p.32) 问题:离线榜单还能信吗?要点:300 任务 / 136 个 live 网站、WebJudge 与人类一致 85.7%;用它实测的结论是既有离线基准严重高估进展,live 上 judge 质量本身成为分数的一部分。 https://arxiv.org/abs/2504.01382
-
ScreenSpot-Pro(Li et al., 2025,L7 p.20-21) 问题:grounding 本身怎么量?要点:1,581 张高于 1080p 的专业 UI 截图,示例原图 2560×1440、23 应用 / 3 OS;让看不准从抱怨变成有真值框的基准。 https://arxiv.org/abs/2504.07981
-
Odysseys(Jang*, Koh*, Fried & Salakhutdinov, 2026,L7 p.40-41) 问题:长时程任务怎么给分?要点:200 个 live-web 长任务、平均 6.1 条 rubric、100 步上限;rubric 部分分改写了长程评估的口径。 https://arxiv.org/abs/2604.24964
-
OSWorld 2.0(Yuan, Zhou, Xiong et al., 2026,L7 p.42-44) 问题:前沿 CUA 到底卡在哪?要点:108 个工作流、人类中位 1.6 小时、平均 318 次模型调用;失败从点不准转向隐藏状态、需求变更与验证。 https://arxiv.org/abs/2606.29537
-
CUA-Gym(Wang et al., 2026,L7 p.66-69) 问题:RL 的环境从哪来?要点:110 个可重置环境、32,112 条已验证 RLVR 元组;GSPO 把 OSWorld 从 62.2 拉到 72.6,环境即数据的账本。 https://arxiv.org/abs/2605.25624
-
Gym-Anything / CUA-World(Aggarwal et al., 2026,L7 p.70-73) 问题:造环境能不能规模化?要点:创建 ↔ 审计的多智能体流水线,200 个真实安装软件、12,103 个任务、22/22 SOC 职业组;蒸馏 2B 学生 checklist 分 12.7 → 22.5。 https://arxiv.org/abs/2604.06126
-
OpenCUA / AgentNet(Wang et al., 2025,L7 p.61) 问题:开源演示语料的主力在哪?要点:22,625 条已发布任务轨迹、3 个 OS;强模型加只留通过之外,公开轨迹是另一条起跑线。 https://arxiv.org/abs/2508.09123
-
SWE-Gym(Pan et al., 2024,L8 p.3/22) 问题:轨迹经济学的实证基石长什么样?要点:仓库自带测试的环境 + 491 条过测 run 蒸馏 32B 涨超 10 分;也是 L8 全讲的贯穿案例。 https://arxiv.org/abs/2412.21139
-
MACU(Koh, Salakhutdinov & Fried, 2026,L7 p.80) 问题:长时程的并行解药值不值?要点:plan → parallelize → replan 的多 CUA 编排,交接证据、验证工作、从失败恢复;纪律原话见第八节。 https://arxiv.org/abs/2606.01533
完整资料库见本讲资料区。
实践视角
站主维护本地优先的桌面 Agent SecondPal 与移动终端 PalWave,这一讲的内容几乎是日常。第一线的体感:CUA 在产品里是兜底位。文件、终端、浏览器自动化能走 API 与 CLI 就绝不截屏;CUA 只留给那些只有界面、别无入口的长尾应用。
本地优先还把安全问题推到成功率之前:Agent 真实操控你的电脑时,确认门、可回滚、默认只读这些设计,比再涨五个点的成功率更要紧。
能走 API 与 CLI 就绝不截屏。CUA 只留给「只有界面、别无入口」的长尾;且一旦真实操控本地环境,确认门、可回滚、默认只读比成功率更要紧。
另一个观察关于失败模式:桌面任务里点错地方、等不到加载这类定位与状态理解错误,远多于规划错了。这与 SFT 数据的缺陷互为镜像,训练轨迹里几乎没有恢复行为,线上失败自然也以 grounding 为主。
所以脱敏后的工具调用日志,成功与失败都要,在站主看来是私有资产:今天是回归测试集,明天就是微调与评估的数据底座。
第六节的评估判据也直接进了 SecondPal 的验收单:结果侧拆 rubric 逐项给分,照 Odysseys 的做法;过程侧写死程序化断言。凡是不许下单、不许删文件一类的禁令,都不交给 judge 的自觉,而是断言订单确认页从未出现。
L8 p.24 的教训反过来读同样成立:自家 Agent 的成功日志里混着多少 edit–test 打转与 print( 残留,微调之前先数轮数。
本讲要点
- GUI 是最通用的接口也是最难用的接口:视觉定位、混合动作空间、长程误差累积三关,每一关都吃成功率。
- CUA 评测靠可执行验证的真实环境,WebArena、OSWorld、AndroidWorld 三家,分数与人类的差距仍在一个量级。
- SFT 让模型像 Agent 一样行为,瓶颈在轨迹数据:人工示范贵、蒸馏靠强模型、自举靠自我筛选,而恢复行为的缺失要留给 RL 去补。
- CUA 的价值账要对着算:任务时间 ≈ 轮数 × 每轮时间,每步推理与长上下文都在加重成本;换回的是最通用接口与 API 够不着的长尾。能走 API/CLI 就绝不截屏,CUA 是兜底。
- 评估器要匹配能力层级:静态步匹配测模仿,步对 ≠ 任务完成;程序化终态测完成;过程检查守禁令。live 加 judge 先校准 judge,长时程用 rubric 部分分加轨迹审计。OSWorld 2.0 的失败形态已从点不准变成隐藏状态与不验证。
- 改行为有三个位置:上下文贵而噪,artifact 要维护,权重一次训练、处处生效但绑模型。SFT 是 RL 前的冷启动,对应 K3 三段论;loss 只对 assistant span 计损、stop token 必须进 mask。轨迹的四笔账是来源 2×2、min-turns 过滤、teacher 悖论、加新任务胜过加 run。数据才是主战场。SFT 收尾先过验收:能过拟合 20 条样例,评测跑在目标 harness 里,切分匹配结论口径。
- RL 之前先造世界:真钱、真人、无干净重置封死真实世界 rollout;Gym-Anything 用创建 ↔ 审计的多智能体流水线把 200 个真实软件变成环境,CUA-Gym 先立起 110 个可重置环境与 32,112 条已验证元组。环境即数据。
延伸阅读
概念回顾
翻卡自测 · 「再看看」的卡进入复习队列别只读一遍——先看正面的问题,心里作答,再翻面对照。主动提取比重复阅读记得牢。
以截图为观察、以点击键入滚动为动作的智能体,操作为人准备的图形界面。看不准、说不清、走不远,三关都在吃成功率。
从像素到语义的跳跃:在上千万像素里找准那个二十乘二十的小按钮。
给截图的可交互元素框出并编号,把连续坐标定位降级为离散选择的缓解办法。
环境恢复初始状态、Agent 干活后跑验证脚本查结果,而不是比对输出字符串。
对示范做下一个词预测、只对答案部分算损失,本质是行为克隆。
示范几乎全落在正确状态上,模型没见过自己犯错后的世界,恢复行为学不到。这个洞留给 RL 补。
「答对保留、答错补过程」的滚雪球与 Grow/Improve 交替,用自我筛选产训练数据。
同一任务的三层尺子:动作点没点中、终态达没达成、过程守没守约束;静态高分不等于端到端能干。
截图与动作交替编成 token 序列喂给因果 Transformer,让策略以过往进度为条件。
注入初始态、检查终态、每会话可重置的 mock/沙箱环境,让 RL rollout 拿到干净奖励。
每 token 一 bit,只对 assistant span 算交叉熵;观察是条件上下文,不是预测目标。
自己跑+只留通过的自我提升格:agent 自产轨迹筛成功者再微调,与蒸馏互补。
rubric→证据→判分,输入截图与动作历史;需对人类标注校准,live 基准上 judge 质量本身成为分数。
官方指定读物
本讲资料库
查看全部 34 条 →- CUA-Gym ↗论文2605.25624前沿官方指定
官方指定 reading(L7 p.66-69)。多 agent 分工共建环境、任务与奖励:110 个环境、32,112 条可验证奖励(RLVR)元组。GSPO 训练把 OSWorld 从 62.2 拉到 72.6%(2026)。
为什么读
环境工厂的集大成者:奖励从人写脚本变成 agent 互相生成、互相验证。
Bowen Wang 等(HKU) · arXiv preprint · 2026
- Multi-Agent Computer Use(MACU) ↗论文2606.01533前沿官方指定
官方指定 reading(L7 p.80)。manager 把任务分解为 DAG:就绪节点并行派发子 agent、随新信息增删改节点重规划,下游不可重观察的信息经 manager 结构化前传。较强单 agent 基线提升 3.4–25.5%、墙钟时间省约 1.5×(2026)。
为什么读
并行省时不靠牺牲质量换取——长程税的正向解法样本。
Jing Yu Koh 等(CMU) · arXiv preprint · 2026
- OpenCUA ↗论文2508.09123前沿官方指定
官方指定 reading(L7 p.61)。AgentNet 汇集 22,625 条跨三大操作系统的真实轨迹,配套标注工具与反思式 CoT。OpenCUA-72B 在 OSWorld-Verified 达 45.0%(2025),数据与权重全开源。
为什么读
「环境-数据-模型」一条龙开源的样板,环境工厂与轨迹经济学两篇的共用支柱。
Xinyuan Wang 等(42 人) · arXiv preprint · 2025
- OSWorld ↗论文2404.07972进阶官方指定
官方指定 reading(L7 p.35)、NeurIPS 2024。369 个任务跑在 9 个真实应用组成的虚拟机上,每题自带可执行终态检查——把 WebArena 思路从浏览器扩展到整个操作系统。人类 72.36% vs 最佳模型 12.24%,CUA 领域最通用的刻度。
为什么读
计算机使用 agent 的标准尺子,UI-TARS/OpenCUA/CUA-Gym 全部以它计分。
Tianbao Xie 等(HKU/CMU) · NeurIPS 2024 · 2024
- VisualWebArena ↗论文2401.13649进阶官方指定
官方指定 reading(L7 p.28)、ACL 2024。910 个任务继承 WebArena 的程序化终态检查,其中 25.2% 必须依赖图像输入才能作答——看图不是锦上添花,而是任务本身的组成部分。首个把视觉能力内建于验收的网络 agent 基准。
为什么读
「像素即任务」的基准化证据:不看图就交不了卷。
Jing Yu Koh 等(CMU) · ACL 2024 · 2024
- WebArena: A Realistic Web Environment for Building Autonomous Agents ↗论文2307.13854进阶官方指定
官方指定 reading(L7 p.26)、ICLR 2024。812 个任务构建于 4 个自托管网站域,全部用程序化终态检查代替人工判分,可复现且拒绝「表演式成功」。GPT-4 仅 14.41%、人类 78.24%——网络 agent 评测的奠基之作。
为什么读
评测从「轨迹像不像人」转向「终态对不对」的原点,后续 VisualWebArena/OSWorld 一脉相承。
Shuyan Zhou 等(CMU) · ICLR 2024 · 2023
自测13 题 · 约 23 分钟即时反馈 · 答错的题自动进入复习队列先自己作答,再看解析——检索练习的效果来自「先提取、后对照」。数字键 1-4 可快选,Enter 提交。
每步动作成功率 95% 的 CUA 轨迹走 50 步,整体成功率约为?
GUI 之所以「最难用」,难点集中在哪些?(多选)
WebArena 上 GPT-4 智能体与人类的成功率大约是?
「SFT 的示范数据几乎全落在正确状态上,所以模型从没学过如何从错误中恢复。」
把轨迹数据的三条来源与其特点配对:
为什么编码成了 Agent 落地最成熟的领域?把答案抽象成两条迁移检查项,用到你自己的领域。
购物 CUA 评测:任务=买蓝色马克杯、总价低于 20 美元、绝不实际下单(只加购物车)。按讲义评估分类(L7 p.17/p.25),最匹配的验证方案是?
训 7B 编码 agent:任务来自真实仓库、自带测试;预算够调强模型 API。按轨迹来源 2×2(L8 p.21),SFT 冷启动数据首选?
把 Agent Data Protocol(L8 p.32-33)处理异构轨迹数据的管线排成正确顺序。
讲义论证「RL 需要模拟环境」时列出真实世界的三个原则性问题(L7 p.65)。下列哪些在其中?(多选)
把基准与其评估方式配对(L7 p.19-41)。
团队给内部编码 agent 做 SFT,预算只够蒸馏一个 teacher,候选 E 模型基准第一。但 OT-Agent 实测:基准最强的 teacher(GPT-5.3-Codex)教出的学生反而最弱;任务源选择影响最大(L8 p.26-27)。最合理的决策是?
给 SecondPal(本地优先桌面 Agent)加「跨网站规划婚礼行程」能力,硬约束:绝不产生真实预订/付费。参考 Odysseys rubric 与结果+过程双检查(L7 p.25/p.39-41)设计评估方案:结果怎么查、过程怎么查、两轨怎么合成总分。
题目与解析 AI 辅助生成 · 人工审校。答错的题会按间隔重复节奏在复习页重现。
AI 生成 · 仅供参考,与课程方无关。选中正文里的任何一段也能直接问我(解释一下 / 举个例子)。
英文文字稿(YouTube 自动字幕机转,未校对)
Okay, great. So, yeah, today I’m super excited to have JY Code as our guest lecturer. So, um JY is an expert on um on multimodal machine learning um in particular computer use agents. Uh so, JY um has experience both in academia here as a PhD student CMU uh working
with uh me and Russ Solakutnav but um also has a lot of industry experience. Uh so he worked at Google research before starting the PhD and um also he led the computer use agent team at Meta’s TBD lab for a year and a half. >> Yeah. And so kind of like laid the
foundation for um the strong agents that they’re releasing now. And yeah, he also um built uh some of the most uh impactful benchmarks in this area and also did work on um search for agents. So he’ll also be giving a lecture later on in the course and we’ve covered some
of his work already on multi-agent computer use and looking forward to uh you know hearing about the foundations of KUAS today. Thanks. >> Cool. Uh thanks a lot Daniel for the kind introduction. Um so today I’m very happy
to talk about something that I’ve uh personally been very excited about for for a couple years now. Um I think today it’s like taken for granted that we have uh that computer use is a is a core capability in like many frontier models. But uh as we will see by uh kind of
stepping a bit through the history of computer use agents, this was not always the case. Uh I think for a long time like um it was not very clear whether we would want computer use agents or how we would build strong computer use agents. Um so I think computer use agents or kas
are a little bit different from the agents that you’ve already covered in this class. Um so I think they’re a bit different I think of them as a little bit different from like sui agents and more textbased agents. Um so first of all what is a cooler? Um, a coupa is a
model is an agent that observes a sorry, it’s actually not. Um, okay, there we go. Here you >> uh I’m I’m think I think it’s fine. Yeah, sorry. So, AUA is a computer use agent. Um, it’s a little bit different from the agents that you’ve already seen
cuz what they take as input is actually the graphical user interface that you have in most applications. Um, so you might imagine this could be a web browsing agent. It could be an agent that operates on your desktop computer or it could be something that operates
on a mobile device such as your phone. Um, so all of these are broadly speaking computer use agents. Um, agents that operate through the same graphical user interface that humans use. Um, so they take in like screenshots as inputs and they execute actions uh of the same type
that humans do. So clicking actions, scrolling actions, swiping, tapping and and so on. Um so the key difference here is that they operate in the exact same space as humans which I think is a very uh it allows for very interesting problems and challenges to be solved in
the modeling and evaluation space. So broadly speaking uh kers operate in the following fashion. You have a user task um that is provided to your cooler. You also have some environment observations and typically this is a screenshot uh of whatever you have on
your current computer screen or mobile device. Um this can also be some other uh like textbased representations but broadly speaking most frontier course uh use like screenshot representations. So this is essentially exactly what the user would see if they were to attempt
the same task. Both of these inputs go into your cool which then produces a reasoning uh trace typically. So it’s like a chain of thought and it produces an action that it wants to execute next. And this action can be uh any any action that you
allow in your um in your environment. So it can be clicking, scrolling, typing and so on. We then process this action and we execute it in in some infrastructure that you have uh in your environment. Um so if it’s a click action, you actually
execute it on the computer and you uh get some new observation after executing this action. To give you a concrete example, um you might have a task like buy me a bloom map and you might have some initial environment observation for example from
your web browser. So these would go into input into your computer use agent model and your model might produce some reasoning trace of the form. I see a blue monk on the center of the screen. I will click it and it will then produce uh some like formatted action to be
executed. So in this case it wants to do a left click on the on the environment. um we will execute this action on the environment. So we will actually like click somewhere on the environment and we will get a new observation that happens after we execute this action. So
for example over here you get a new screenshot. Um in this case the agent has clicked into the blue mark. So you kind of have a new observation that shows the details of the blue mark. Your model then takes in this new observation and it produces a new action to be
executed condition on this updated observation. So it will it might then say like delivery details are below. I will scroll down to find them and it will produce this scroll action that we will again like execute on the infrastructure. Um you then get a new
observation and you basically repeat this until um your model decides it’s done. Right? So this can go on like for many many iterations depending on how complex your task is. Uh so yeah you start with an observation your model executes an action you get a
new observation um and this repeats until the end and um typically you get some reward either from the environment a human user or some other judge telling you whether the model did it successfully or not. Um so typically like this reward is just a 01 uh binary
reward but it can also be um a partial reward in some cases. Um so this is broadly speaking how a computer use agent works. It’s this like observe, reason, act loop that that repeats until uh your model exhausts its budget or it thinks it has successfully
completed the task. Um and today it seems like very simple uh and models are actually very capable as as we’ll see in a couple slides. Um but this was not always the case. So um maybe we can have a quick poll. So when do people think like computer use agents were first uh
like invented? Um do people think it was like before 2020? Okay, a few hands. Um say like 2020 to 2024 period is when we started building coolers. Cool. And who thinks it was like after 2024? Um so the the answer is actually that um
the first cooler paper came out in in 2017. So this was like uh quite ancient in in um AI standards, right? Uh it was actually a paper from OpenAI. So they had this project called um World of Bits where they built this very simplified toy environment. Um as you can see here,
it’s mostly like synthetic data. It’s very simplified environments that look maybe a bit like what you might see on a mobile device, but it’s very simplified. Uh not not realistic at all. Um and what they did in this paper is that they actually did like a bunch of RL
training. Um so this is not really similar to like modern LLM RL but it’s more like similar to RL that we did for um game agents in in the past. Um but this was I think this project was like ahead of its time. All of the models back then could not do this at all. Like
even this simplified uh mini world of bits task they were very bad at it. Um so this was the first cooler paper probably. Um in 2022 I think a bit more interest started picking up with the advent of uh language models. Um there was this other paper called web shop
that um also did uh kind of like simplified shopping environments but it was a lot more realistic than than mini world of bits as you can see in this visualization here. So it’s kind of clicking through this like simulated Amazon site. Um and it’s still a bit
artificial but it’s a lot better than mini world of bits. Um and at this point like language model agents started doing a bit better at these tasks. uh and we weren’t really training them in uh in in the way that we were for many world bits in 2022. In 2024 actually um there was
this I think of it as a seminal work uh from actually Graham’s lab at CMU called web arena. So it was this work that created a lot of simulated environments. Um and as you can see like all of these environments are a lot more realistic than web shop and mini world of bits. um
they contain like very realistic data often scripted from real world websites. So these environments were populated with actual data from like Amazon and Reddit and and so on. um so these are like very realistic data and environments. Um and I think they marked
a point where uh the models also started getting a bit better at these problems. In 2024 uh there was also this almost concurrent release of this benchmark called OS world. So I think this is one of the most uh standard computer use benchmarks these days. And this was also
using uh real apps and kind of like real data but um uh it tackled like desktop use rather than web browsing. So it’s a bit more general. You can use a lot of different apps on Linux, Windows uh and so on. Um so this is a bit different from web arena because web arena was web
browsing but OS world is uh like fullon desktop use. Um I think things also took a bit of a change like in 2025 to 2026. So this was the point where like coding agents got a lot better and at this point like a lot of people started generating
environments uh end to end. Um so for web arena and OS world what they did was they actually took open source implementations of these apps and they filled it with realistic data but all of the all all of the software was already written by humans and open sourced in
some manner. um my PC bench and a few other uh benchmarks around the 2025 to 2026 period actually use coding agents to generate uh the entire app and website um end to end. So shown here is actually a Gmail clone. It’s not the real Gmail, but it looks very close to
it. And this is actually generated completely by an LLM a coding agent. Um all of the data that is seated here is also completely synthetic. So, we’ve actually gotten to a point where a lot of like frontier cooler environments are completely generated and completely
filled with synthetic data and um I think they actually work very well. Uh sometimes they’re even better than real applications because um they’re a lot cleaner and they’re not as as noisy. Ka world was also another project that came from CMU that took like a real
world software. So, I think Kool World is very interesting because the software used here is a bit more of the long tail. So you have some software used for like astronomy and biology and other things of that sort. Um so it’s a bit it it departs a bit from like just
consumerbased apps into very specialized desktop software. Um all of the data here is also uh I think is realistic data. So it’s downloaded data from real world use cases um and is loaded onto onto onto these environments. Uh shown here is a demo very recently
from this month of GPT6 Astra. So GBT6 Astra was a huge leap in computer use. I think it basically like solved most of the computer use benchmarks. Uh it’s like better than human baselines at this point. Um it’s kind of a lot faster than previous models, but it’s still very
slow and very expensive. So this demo is showing GPT6 Astra operating like a CAD software. So it’s doing like some like 3D modeling. Um it’s actually sped up 30 times. So in in practice like this model is actually 30 times slower than whatever you see here. Um but but the
point is it’s very capable but it’s still very expensive and and slow. Um so we still have some research problems left but in terms of capabilities I think current models are are very good. Um so you can see like we progress from toy environments with miniw walk uh to
today 9 years later where we have GPT6 extra that is uh comparable or better than your median human at a lot of computer tasks. Um so very exciting very fast progress and we can think about like how we might measure these problems. Um if you think
about them from a research or academic standpoint uh benchmarks are one of the core ways in which we measure how fast these agents have been progressing. Um so we’ll go through an overview of like several computer use benchmarks and how they measure different axes of uh agent
performance. Um so if we think about how computer use might be measured uh it’s actually a bit I think it’s a bit more interesting um than some of the other agents that we’ve already covered in this course. Um so computer use is in some sense a bit less
of a verifiable task compared to like software engineering or math. Um in software engineering or math you kind of have unit tests or or um symbolic verifiers that tell you whether you successfully accomplish a task. for computer use is actually a bit different
because you can imagine that um successfully accomplishing a problem is not always um people do not even people do not generally agree on it. So it can be challenging to write like programmatic verifiers. Um so we have several ways of evaluating how computer
use agents do on some of these benchmarks. Um the most obvious one is whether the action was correct. So you can measure whether a click action was uh done on the correct item. Um you can also measure the outcome which is probably
the most endto-end fashion. So you give it a task like buy me a blue mark and you measure the outcome of whether it actually managed to um purchase the item or not. So this can be done through either like um checking the state if you have a simulated environment or you can
just look at the trajectory of the agent and decide whether it um provided enough evidence that it did the task. Um, and lastly, I think you also want to measure whether the model respected any constraints that might be inherent or explicit in the task. So, for example,
you might want it to navigate to the checkout page but not actually check out. Um, so you also have some other like uh verifiers to make sure that it did the task while respecting any userdefined constraints. So, I think evaluation is generally very challenging
for Kas. Um, there’s a few broad categories of evals that we’ll go through today. Um, so broadly speaking, I’ve categorized them into four different categories. So the first one that we’ll talk about is static evaluations.
Um, so let’s go back to our task. Add a blue mark under $20 to the cart and do not purchase. Static evaluations measure whether every action along the the trajectory of the agent is correct or not. So for example, you might start off on this screenshot and your agent would,
you know, try to attempt to click on this blue mark here. um we might have some ground truth reference rule like we want XY that the agent predicts to be in a target box. If it’s if the prediction is within a target box for example this red box here we give it a score of one.
Um otherwise we kind of give it a score of zero meaning that it did not perform the correct next action at this point. Um so in this case like for static evals uh we consider it to be correct if the current step produces the correct action or not. Um so this this because it’s
static you can’t really like roll out the agent end to end. Uh we just consider actions at every point um to determine whether it successfully accomplished the current action. One canonical example for benchmarks in this area is known as screen spot pro.
Um so screen spot pro is what we call a grounding benchmark. Um it tests the abilities of the models to ground actions in the screenshots and it consists of a variety of applications operating systems and about 1,500 different screenshot examples. The
evaluation in this case is the perpoint uh accuracy. So for example this task of constructing a UV spear mesh um you have this like uh Blender screenshot here. So this is a screenshot. It’s not an actual environment. So the agent does not have access to any interactive environment.
is just given this screenshot and the goal is to determine whether it produces an action that falls within this red bounding box over here. So if it if it predicts a click action that falls within this uh bounding box, we consider it to be a correct action. Otherwise, we
consider it to be an incorrect action and and we don’t give it any any reward. Another example of a static benchmark is mine to web um which tests a bit more of a variety of actions. So um you can think of this as like next action imitation in this case given a current
screenshot and a task. Um for example rent a car in Brooklyn central um I’m supposed to predict the next action that my agent will take. Uh so in this case the ground truth action is to click on the car tab and um no actual action is executed on this task. You’re given a
series of screenshots and your agent has to predict the next action condition on that screenshot. So once it predicts the action we score it and we provide it the next screenshot from our offline data set. So again, this is not actually executing any actions in the
environment. There’s no environment in this case. It’s a series of static screenshots and ground truth actions. Um, so as you can imagine, this kind of evaluation is very fast. It’s very cheap to run because you don’t actually have to support an environment or simulation.
You just have to provide it screenshots and measure whether the resulting predicted actions are within uh the ground truth set. Um but one problem as you can imagine with static evals um is that there’s a lot of uh false negatives uh in the sense that
for this screenshot and for this task there’s a bunch of different actions that you can click that you can perform that would be considered correct uh like for example I don’t really have to click the car tab in this case I could adjust the dates um to begin with and that
would also be considered a valid action but in static evals because you have a set of ground troop actions um we we actually would mark those as as incorrect. Um so that’s one of the main drawbacks of static evals. They are very fast but they don’t really measure the
thing that you care about uh which is the true end toend performance. So I think what we actually care about is whether the agent successfully did the thing at the end of the day. Um which brings us to our second type of evaluations which are end to end
Um so again like let’s let’s look at this example task like add a blue monk under under $20. um we might have an agent execute this task in an environment or on the real web and at the end we can uh check whether the agent did it correctly by using some uh
programmatic unit test like checks. So for example um an agent might have attempted attempted this task and at the end of the trajectory we can uh run these like unit test like checks to see whether it actually did it. So this is done in a simulated environment. So we
actually have like API access to all of the back end and state of the environment. Um so we can check whether the blue mark is in the cart uh whether the blue mark is less than $20 and whether the agent has not um actually place the order. So we check whether the
order is the order count is zero and we only give it a reward of one if all of these individual unit tests pass. Um so this this is actually like a programmatic check. You actually have an environment in this case. So the agent is doing like whatever it needs to do.
Um so we don’t we don’t check for the individual actions that the agent executes at every step but we do a check for uh whether it actually accomplish the task at the end based on these unit tests. So if your unit tests are comprehensive enough you could imagine
that this is a very good uh reward signal um because we don’t really supervise every single action of the of the model. Uh we just kind of like check whether it did it correctly or not at the end. So web arena was one of the first
benchmarks to do this. uh web arena was a simulated um web navigation benchmark consisting of a few environments. Um so you have 800 about 800 tasks on four different uh apps that web arena uh hosts and the agent will execute all of these 800 tasks and at the end you kind
of have a pro programmatic verifier as we discussed to check whether the agent did it correctly or not. So this is an example task. Um the goal is to create an empty repository called awesome LLM reading. So the agent will go onto this simulated gitlab uh repo. So importantly
this is a simulated environment. It’s something that you host locally. Uh you do not go on the real web at any point in time for for web arena. Um the agent has to try and accomplish this goal within the simulated environment and at the end of the task we run this
programmatic verifier which basically checks for a bunch of conditions. Uh so you you essentially check whether it managed to create this repository or not. Um and all of these verifiers are handwritten by students uh by grad students at CMU actually. Um so they uh
they hand wrote these verifiers for every single task in web arena and um at the end of the assuming you know the students did it correctly uh at the end of the execution um you would have a verifier that tells you whether the agent successfully did it or not. Um
there there’s still a few like uh false negatives and false positives because the verifiers are not comprehensive enough but on the whole it’s a very uh I think it’s a very nice benchmark. It definitely like led the way to people taking and evaluating coolers a bit more
seriously. Um so I think it’s important to contrast this with previous static evals because this actually measures the end to end performance. So you kind of just check for the outcome. you don’t care about the individual steps as long as the
agent did the task correctly. Um but you could also imagine that these this leads to some reward hacking. So the agent might uh you know try to accomplish the verifiers rather than actually doing the thing which is a common problem across most cool and and agent um evals and
training generally. Um but I think this was a huge step up step up in in agent evals. Um so they made sure that you did it in simulated sandboxes and they uh measured like the outcome rather than the individual steps. Uh visual web arena was a an extension
of web arena that kind of like treated it as a multimodal problem instead. Um so at this point when web arena was released most models were um handling the cooler problem or web browsing problem using accessibility trees which are kind of a simplified version of HTML
and visual web arena actually uh tried to convince people that you kind of want to operate using screenshot based approaches. So visual web arena is an extension of web arena that consists of 910 uh visually grounded tasks. So all of the problems in visual web arena have
to be solved using multimodal representations. Um and the evaluation is a bit similar. So you kind of have like programmatic checks as well. Um but you also have some multimodal based uh programmatic checks. So um there’s some problems that you can’t solve if you
rely purely on HTML. Another form of evaluation for these benchmarks is instead of using programmatic verifiers, you kind of use an a different LLM to judge whether the model did the task correctly. So given a trajectory of a model, you prompt a
different VLM or LLM. Um so a textbased LLM or multimodal uh vision language model uh you prompt it with the trajectory of the model and you ask it whether it completed the task successfully and this is also a very popular evaluation metric um because
it’s not always possible to write u verifiers for every single task that you care about. Um so in this case you again have the trajectory that the agent um completed and instead of a programmatic verifier you have a bunch of rubrics or or maybe you just even provide the task
to the to the LLM. Um so you provide the trajectory of the agent and you provide the task and the the LLM kind of tells you whether it thinks the agent completed the task successfully or not. Um so typically like these judges they produce a short chain of thought
followed by a judgment for example pass or fail or sometimes uh you assign like um floating point scores but typically the judge tells you whether you pass or fail or not. Um so this is a bit more general because you don’t need to write verifiers for every single task in your
benchmark. Um but it’s also a bit more prone to like false uh false positives and negatives because um you can imagine that your LLM judge can be easily fooled into thinking that a task was successfully accomplished when it was not. Um but in general this is a lot
more uh flexible and um several benchmarks that use this form of judging include web voyager which was one of the first benchmarks that tested the abilities of coolers to navigate on the real web. Um so this is very different from web arena because um
what they did is they actually came up with 15 different websites and 600 tasks on these websites and they told the uh the benchmark is to actually go on the real web on these websites to accomplish certain goals. Um so actually if you go on some of these websites in the
benchmark like there’s this recipe site called all recipes. If you look at some of the task that the agent is supposed to do you can actually see some traces on the real web of previous agents attempting this task. uh which is actually it’s not great but you can um
see some evidence of why we might not want to evaluate agents on the real web. Um but nevertheless like web voyager was still quite valuable because it tested the capabilities of these agents on non simulated environments. So it’s basically as close to a real world
evaluation as you can get. Um it gets agents to go and do these things on the real web. Uh for example like find the most start GitHub project for climate change data visualization. um they they uh deploy like who was to go on the real GitHub and do a bunch of search and uh
find the actual most start GitHub repo for this task. Um and in this case because it’s going on the real web you can’t really have programmatic verifiers because you can’t really uh query the real web for its state. Um so the eval here is the VLM judge that we talked
about. So the judge which is a different LLM gets the uh series of actions and screenshots that the agent has has taken and observed. Um it gets the original task. So it sees this task. It sees what the agent has done and it kind of predicts whether the agent succeeded or
not. So we we evaluate this problem with like VLM judges. Um no programmatic verifiers. Um so this is kind of like you can think of it as quite uh wild wild west evals. you deploy something on the real web, you run a judge and you um you know at the end of the day say
whether it’s succeeded or not. But I think a lot of people like this because it’s in some ways as close to a real world eval as you can get. Online mind to web was a was a different eval that followed up on web voyager. Um so it’s a bit more comprehensive. The
judge is a bit more stronger. So they show that the judge actually has about 85% agreement with humans. Um so it’s very close to uh being uh human level agreement for for judges. Um but essentially uh online Mind2 web also looks at real world evals. Um so they
expanded to about 136 websites and 300 tasks and they get LLMs to go on these 136 real websites to accomplish certain tasks. Um and they they show that uh it actually um using this judge is a bit more accurate compared to Web Voyagers judge. Um so they they have a bit more
of a complicated judge with different rubrics and and criteria. Um but essentially this also goes on the real web and it inherits it inherits a lot of problems that going on the real web um poses similar to web voyager. Um but again it’s a very nice eval because it’s
[snorts] in some ways as close to a real world eval as you can get. Um so this is completely automated but you have an LLM judging the task. You have an LLM attempting the task on the real world. Um and because uh the judge is very close to human eval
kind of have this automated pipeline of an LLM going on the real world doing something and you have a human-like judge determining whether it succeeded or not. So I think it’s a very nice benchmark um very automated uh but again I think people don’t really use this uh
recently anymore because it’s um essentially solved by modern models and I think as cool words have gotten more popular um people have also become a bit more careful about deploying them on the real world um because these website owners really don’t like having like
tons of agents ping ping their websites to to do a benchmark um yeah you can imagine that if your website got included in this benchmark and you started getting a lot more traffic, uh you probably also wouldn’t be very pleased about it.
Yeah. Um so one I think one important thing is that all of these evaluation metrics that we talked about are very um they are programmatic verifiers or they are LLM judges. Um so they are kind of like proxies uh to determine whether we successfully accomplish a task or not.
Um but human review meaning uh getting humans to judge whether the agent did something or not is probably still the gold standard. So uh these papers also ran like a human evaluation baseline where they got humans to review the trajectories of agents and um you get a
few humans per trajectory to determine whether the agent succeeded or not. Uh and at the end you uh kind of like get humans to vote whether the agent succeeded or not. Um, this is in some ways like still the gold standard of determining whether an agent
successfully accomplished a task, but this is very expensive to run. So, it’s not really possible to do this for every single task in your benchmark or every single um uh like debug or validation run that you want to do. Um, but this is something that most benchmark creators
still do. Uh, get humans to attempt the task or judge the task and and determine whether the agent is doing the right thing. Um, but this is very expensive. So it’s typically just done once or twice for ensuring that your agents or your benchmark is uh reasonable.
So the other type of evaluation that people typically do is um they’re also end to end evaluations but they’re done on like desktop computers or mobile devices instead of of the web. Um so the web is quite interesting because you can do a lot of things on the web. Uh I
think personally most of my time is spent on Chrome as well. Um but there’s a different set of tasks where uh require you to operate an actual virtual machine or an actual desktop and um there’s also several benchmarks that measure this in an end toend fashion. Uh
we’ve already talked about OS world which is one of the canonical cua benchmarks. Um so this is a real Linux virtual machine that you can spin up. It consists of about 369 tasks across nine different applications like um uh Libra Office, uh Chrome and and so on.
Um it’s 369 tasks across nine different applications. And for each of these tasks, they also have programmatic verifiers. So your agent has to um go into these virtual machines, attempt the task across multiple different apps, and at the end, we run some uh unit test
like checks to see if it succeeded or not. So some examples of task in OS world are for example uh you might want to update uh this Libra office uh calcul sheet um using receipts in a different folder. So in this case your agent has to navigate
to the folder find the receipts it has to enter like the appropriate uh values in this um workbook and it has to save the workbook. So it has to do this uh navigate across different apps um handle like entering items in in this uh Libra office and uh basically like accomplish
this task based off just an initial user instruction. After the agent thinks it’s done, we run all of these like unit tests that we have. So we check whether the the spreadsheet consists of the items that we think uh should be there and we
assign it again a 01 score of whether we think it succeeded or not. So kind of like very similar in spirit to web arena but um in this case it’s using uh real world apps. So these are apps that people actually use on a day-to-day basis and it’s operating again in a full
virtual machine. So it’s not just confined to to Chrome or to the web anymore. It’s uh operating over this virtual machine that consists of nine different apps. Um so it’s a lot more broad and you could imagine that um with desktop agents we can automate a wider
variety of tasks than if we just use web browsing agents. Uh Windows agent arena was a different benchmark that is kind of like inspired by OS World. Um but it’s a benchmark created by Microsoft to uh test the performance of agents on Windows
machines. Um so a lot of a lot of like productive work in the world actually happens on Windows machines and um I think this benchmark was quite nice because it measured the ability of agents to perform some of these tasks that are very common in enterprise
workflows or in um other companies. Yeah. So it’s uh again like you spin up a Windows virtual machine, you get an agent to attempt a task and at the end you have some uh verifiers to determine whether it did the task correctly or And again like because we’re using
programmatic verifiers um some of these are also very prone to having false positives or false negatives but um you know they have their merits uh as LLM judges do um but these these are essentially some of the core end to end eval benchmarks that that um people have
been exploring um from the 2024 to 2025 period. Yeah. Um most of these benchmarks are actually quite well solved by modern coolers. So for example the recent GPT6 release I think achieves like much higher than human performance on most of these benchmarks. So um the
community has actually um recently [clears throat] um put a bit less attention on these benchmarks that I just mentioned um and they’ve started to look at a bit more like longer horizon or um uh specialized benchmarks I would say. So long horizon computer use is
this other it it’s actually the same task but the problems that we care about span uh much longer horizons. So some of these tasks can take actual humans hours or even like two to three hours or even longer to complete. Um so now we’re really like stress testing the abilities
of kas to complete um things that humans don’t actually want to do or we’re getting them to complete like longer and longer tasks. A lot of the ones that we’ve seen in OS world the web arena uh typically take a human about uh 10 minutes or 20 minutes or less to
complete. Um, but some of the ones that we’ll see in the following slides can be several hours operating over potentially specialized software. So, we’re really getting to the point where we’re trying to get them to be better than like expert human use of the computer.
Um, a lot of these long horizon benchmarks, they follow a very similar evaluation strategy. So, you kind of have this action trace which represents what actions the LLM has taken uh on this environment. Um and you have a few different checks because it’s long
horizon. Um people tend to impose like more rubric based approaches. So the the version where we have a single outcome reward of whether it successfully did it or not is not so useful for long horizon because it’s very sparse. Um the rewards are very sparse. Um the agent can be
doing a lot of useful work in the interim but fail to achieve a perfect score. Um so we kind of have like a lot more fine grain rewards for long horizon computer use. Um there’s a few different checks here. So state check is the interim rewards that I mentioned. Um
these are kind of like rubric based rewards where they check whether the agent did um an intermediate task successfully and you kind of have a process reward where um this essentially checks whether the agent completed the entire task successfully end to end. Um
so this is kind of like the ultimate reward but we have some intermediate rewards to ensure that we have some non-zero signal for long horizon computer use. Um and of course you can always have a final verdict for whether the agent
successfully did it or not. Um but again because we’re looking at long horizon computer use uh this is very sparse. So often times like a lot of models get uh a zero on the final reward which is why you kind of want to have intermediate rubrics or um uh process rewards.
Yeah. And and importantly um as I mentioned like having a a good deliverable at the end is not always a great evaluation metric for long horizon computer use because it’s so long. Um so you kind of want to have some interim uh rewards to ensure that the model was
doing productive things in the meantime. Uh Odyssey’s was a benchmark that we built here at CMU that measures long horizon uh web browsing. So Odyssey’s consists of 200 tasks. Um we have uh rubrics for every task. So, we have a set of um things that we believe the
model should complete. Uh so, for example, for this task, um plan a trip to a Palm Springs wedding. Um there’s eight rubrics that the model needs to satisfy in order to perfectly accomplish the task. Uh for example, you need to find a a non-stop flight from Pittsburgh
to to Los Angeles. Um you need to uh find a drive time within the 9:00 a.m. to 4 p.m. window. and you have a bunch of these criterias that you need to satisfy in order to accomplish the task successfully. Um so Odyssey’s kind of like grades performance across many
different rubrics um allowing you to have partial rewards instead of just a single binary pass or fail um outcome at Yeah. So um this example I already mentioned we kind of have like eight rubric items um and the model needs to satisfy like each of the rubric items in
order to achieve a perfect score idea. Um, so this is kind of an in between of uh like it it’s still LLM uh verified for the most part, but you kind of have like fine grain LLM verification because you don’t just um produce a single pass or fail uh reward at the end.
Um OS World also came up with a follow-up called OS World 2 and in this benchmark they actually tried to tackle like hourlong workflows. So OS World 1.0 know was a lot of tasks that require just like minutes of of human time to complete and OS World 2 actually has
about 108 tasks that that on on median require a human 1.6 hours to complete. Um so this is very uh the some of these workflows are very complex. Um they require like doing uh CAD modeling or 3D modeling or photo editing. Um so we’re getting into the realm of like more
specialized um software use. Um uh on average most Frontier agents that they benchmark required about 300 calls to make. Uh so this also um typically it’s it’s a few hours of like just benchmarking an agent. Uh so I think this gets to a point where it’s a lot
more interesting because you can see these agents uh even like productively working for hours at a time. Um, so it’s very expensive to evaluate, but it’s quite magical to like start in Eval, come back an hour later and you see that the agent is still productively making
progress on some of these tasks. This is an example task uh from OS World 2 and um I don’t know if I don’t know about the median human, but I definitely uh would not be able to do this uh easily. So I think we’re getting to the point where you have like expert level
task. Um, so the task here is to build a a cat support bracket and export a model that matches this drawing. So you’re provided with this reference drawing on the left and the goal of the model is to be able to produce this thing on the right uh by operating some like um
computer aided design uh software. Um so I think this is this is actually very complex. Uh it requires like navigating 3D space. It requires knowing like what tools you have available in this environment and you need to be able to sustain work over like probably several
hours because um a human would also take uh on the order of an hour or at least like half an hour to complete this task. Um so it has a lot of very interesting things. Um this is a visualization of a GPT6 a GPT6 model trying to attempt one of the OS world two tasks. So again like
this is sped up 30 times. So it’s actually much slower in practice, but you can actually see like navigating between a terminal environment, going back to the CAT software and um actually like doing 3D modeling uh autonomously for for about I think an hour of time.
Um so it’s actually able to design like these 3D parts quite well. Uh and this is a a very huge leap from the models that we had even like two years ago. Um, so we’re getting to the point where these models are are very good at attempting many of these like long
horizon paths. Yeah. Um, so I’ll mention a few other benchmarks. So cool world long is another benchmark from CMU uh that tried to tackle like long horizon computer use. Um, so again this is uh very specialized environments across a
variety of tasks for example healthcare task, engineering tasks or like uh just architecture and design task. um consists of 200 of these types of tasks and most of them require like 500 or more LLM calls. Um so again this is a few hours of human work time. Um and
when this benchmark was released early this year most models scored a very very poorly on this benchmark but um I think recent models including GPD6 uh actually um achieved like close to 90% performance on this benchmark. So, uh, long horizon computer use and like
computer use in general is very, uh, very close to being solved or some might say even solved because these models can outperform humans at a lot of these, uh, general software use tasks. Um, so hopefully I’ve convinced you that uh, some of these benchmarks are useful
uh, or or most of them were useful at some point in time. Um and uh I think I think hopefully I’ve convinced you that they are very capable and have very interesting um uh capabilities. Uh they are very good nowadays at automating a lot of different types of tasks. Um so I
think the natural next question is like how do we how are these models built? How do we build these models? How do we train them? And how do we introduce these type of capabilities to them? Um, so we’ll talk a bit about like how how modeling typically works and also how uh
these models are trained. But I think I’ll pause for a few seconds for any questions about benchmarks because I know we covered a lot of different things. for something that has a twoar. >> Yeah. So the question is whether any of
these benchmarks assign um partial rubric rewards to intermediate steps. So for example, if the task is to add something highly rated to the card and you did do that but you have some like irrelevant items that you added, do you get penalized for that? Um I think
that’s a good question. Uh I think reward design is very tricky in a lot of these benchmarks. So um some tasks in web arena do have these kind of like penalization uh but a lot of the times like people design these benchmarks so that the answer is kind of unambiguous.
So the problems are a bit artificial in a sense. So for example web arena might say add the top rated item to my cart and if you do that then um you kind of get like a perfect score but uh an agent I I’ve seen like agents reward hack by adding a ton of things to the cart um to
try and accomplish the goal. So it depends a lot on the benchmarks. I think typically people don’t really penalize it at such a fine grain manner but it’s also because at the point where these benchmarks were created the agents were so bad that I think some of the reward
scores were a bit more generous to begin with. Um so I think it’s some benchmarks do have these things but it’s not I wouldn’t say it’s like super common. Yeah, I think people tend to air on the side of like giving false positives than false negatives.
>> Yes, >> this is not exactly like a benchmark question, but do you think there is like benefit in looking at other not? >> Yeah. So the question is whether there’s benefits in using other modalities other than just pixelbased representations
like screenshots. I think there definitely is. Um open AAI has said that um at least previous models and I assume Astra as well they use like the accessibility representations of the computer when available. So Mac OS has this like uh accessibility
representation that essentially is for like visually impaired users. um it’s kind of like XML like representations where they determine where they tell you like this area is a description of a certain item like this area is my chrome window and this area is my dock and so
on. Um so the models at least GPD6 do use these representations when available. I think there is a lot of value in it um especially for uh if you want your model to be more robust. Um, I’m personally I personally really like the pure like screenshot based
representations because it’s very I think it’s very general. So you train a model that takes in just screenshot representations. You can deploy it on any device without having access to the underlying internals of the of the device. So you can train a model on like
Windows and it presumably gen generalizes a bit more easily to like a Linux or Mac computer um because they have different like underlying accessibility representations. for example. Um but yeah, I think models definitely use alternative
representations. Yeah. Yes. >> Yeah. My question was around the rubrics itself. >> Yeah. >> I’m assuming rubrics are different for each dots. So are they one is that expert generated rubrics or is that like
a synthetic rubric that you generate and then in terms of reward are they how what are ways to mitigate that from the rubrics? >> Yeah. So the question is um whether rubrics are generated by humans or I guess synthetically generated by LLMs
and um whether reward hacking happens with rubrics and how you mitigate that. Um so at least for Odysseies most of the rubrics are LLM generated but human verified. Um so one common way of like generating these rubrics is actually uh related to the previous question where
you give a model like privilege information. So you give it more information than it has at evaluation time. uh for example like some hints or some uh HTML representation and you kind of get it to do better than it would in a realistic eval scenario and based on
that you can uh generate like more accurate rubrics um because you have like privilege information. Um so for Odysseies and I think for a lot of uh industry benchmarks rubrics are typically these days like LLM generated by by human verified. Um sometimes not
even human verified but verified by a different LLM uh that that has like potentially different information. But um yeah, I think I think this is quite reasonable these days to do like synthetic generation, but I personally still feel that a human has to uh look
at everything that you put into a benchmark at some point in order to make sure that that it’s um uh legitimate. Um I think reward hacking definitely happens a lot for um training these models. Um yeah, I think we can talk a bit more about that in the training
section, but essentially I think reward hacking is a hu huge problem. I would say that rubric based rewards actually mitigate reward hacking a bit better than outcome based rewards. Um because you kind of have like these different criteria that you need to satisfy. Um if
for example like if you just want to buy like the top rated item then you can reward hack by adding every single thing on the site to your cart for example. Whereas you could imagine that rubric based rewards uh check for this. Yeah.
>> Yes. >> Do you have any sense about whether these academic benchmarks are used for evaluation or also do people train on them whether academia or industry? >> Yeah. So the question is whether um people train on these benchmarks in
academia or industry. Uh well you’re not supposed to train on these benchmarks because you’re kind of like uh testing on the thing you’re training on. But I think uh it’s kind of like common in industry to generate tasks that are very similar to your benchmarks. Um so it’s
very common for people to uh produce tasks that are like OS world like or web arena like and train on those things instead. Um so that it’s like in distribution but you’re not really training on the same test set. So I think that’s very common. Um cool world
also actually has an explicit training set. Um so for some benchmarks they have like train validation and and ideally test splits um that people can train on but um you’re not supposed to train on the the actual eval but it’s uh I think people do find like proxy signals for
essentially doing that. Yeah unfortunately cool yeah maybe the last question and we can move on. Yeah >> I was curious what representation What is the action space? >> Yeah. Um,
>> yeah. So, the question is what the action space is actually for KUS. Um, I I think we’ll cover this very quickly. So, maybe we can just uh do that in a couple slides. Yeah. But essentially, um, it depends on a model by model basis and it also depends like what
environment you want to deploy the model in. Um, yeah. So, how how do we um how is a KUA represented? As you might have guessed by now, as is with most models in AI these days, a cool is basically an LLM prompted and accepting inputs in a
certain format. Um, so more specifically, it’s a it’s typically a vision language model because most models take in um screenshot representations. So you have a goal that’s typically represented in natural language. Like again um sorry to use the
same example multiple times, but the goal might be like buy me a blue monk that’s less than $20. And you might have an initial screenshot that is based on what your environment initially has. So you have a goal and a screenshot. Uh this goes into your your policy which is
essentially an LLM. Um and your LLM produces an action. Um so typically this is represented as like text. So your LLM produces some structured representation in text of what action it wants to produce. So this might be a click action with X and Y coordinates. Uh again we
then execute this action. um we add it to the to the context that we feed into the LLM at the next step. Um we also get a new screenshot after we execute this action. So we get screenshot one after executing action one or screenshot zero. We again concatenate this to the context
that we already have. Um we feed this again to the LLM and it produces the the next action that we are supposed to execute. We then execute this action again on screenshot one um and get a new screenshot and we concatenate this to the context and we we we again feed it
to the LLM. So, um, you repeat this until until your LLM thinks it’s done or until, uh, you run out of budget, I guess. Yeah. Um, so you have this loop. Um, it’s typically called a react loop, reasoning and action. Um, and at every step, you add in you you concatenate the
action that you produce the new screenshot to your ever growing context and you feed this back into the LLM. Um, so it’s an interle like vision language interle uh, action history. you have natural language in the form of goals, actions. You also have like pixel inputs
or potentially other metadata. Um, and this essentially is like concatenated into this long sequence, this long multimodel sequence that you feed into your language model. Um, so this grows and grows. Um, there’s different ways that people used to handle like longer
and longer context, but essentially, uh, you feed in like the context, um, to the LLM at every step and it generates the next action at that point in time. Um, of course, like we don’t actually feed in the actual pixel inputs. Uh, typically for most language models, you
would tokenize this in some way. So, you would tokenize like your natural language to become uh text tokens. You would convert your screenshots into like visual tokens or or some like pixelbased representations. And the nice thing about modern language models is that um
this is typically just like concatenated directly. So, what it looks like to the model is that you have a bunch of embeddings uh that you feed into it at every single step. the model produces an action that you then tokenize and you uh concatenate it to the context. Um so you
kind of just repeat this growing the number of tokens that you feed in at every step. Um and the model takes in that uh conditions on the context at every point. Um produces the next action and you kind of repeat this. So it’s a very um nice and simple representation I
think uh and and it works surprisingly well. Yeah. So you typically have like text that you convert into token embeddings. You have screenshots that you convert into visual embeddings. And all of this is just interled and concatenated and
passed to your language model. Um and and these days your language model is a is a transformer. Um obviously that produces actions for the next turn. Yeah. So the question earlier about how like what action space we usually use. Um different models have different
action spaces. uh if you squint they like generally look similar. So they typically have a set of actions that they can produce like click actions, scroll actions um or whatever other actions you have in your uh environment, right? Um so different models produce
them in slightly different ways. For example, you might produce them as like pi autogy outputs or you might produce them as just like two calls or XML. Um and you would have to like process this and pass it into something that you can actually execute on your environment.
Yeah. Um, there’s a question in the back. Yeah. So the question is why do we use screenshots rather than HTML? I think HTML is also a valid well HTML is very messy but people have done like simplified versions of HTML as
representations. Um I guess one reason that most so most recent models do not use um or they primarily rely on screenshots. They sometimes still use metadata but uh to generalize it broadly most recent models use uh screenshots as inputs. And I think the reason for it is
that it’s a lot simpler. Um so it’s it’s a lot simpler to like take a screenshot of your computer rather than trying to process the uh underlying uh like accessibility metadata. um you you can like get HTML easily on the web but you can’t really do it as easily for like
desktop computer use right um so for that reason I think people like prefer screenshots a lot more because it’s a lot uh uh more simplified and I think somewhat surprisingly to some the screenshot based representation has achieved like very very strong
performance so it seems almost like unnecessary to use HTML or other structured representations um so I guess that that’s kind of like um Why? Uh it’s very simple and it and it works somewhat surprisingly well. >> Yeah, great question. I think um this
was something that you know people did not really accept as readily even one year ago. Um but yeah, the multimodal models are very good. So it’s uh surprisingly easy to do this. >> Uh yes, another question.
>> So if it to pick a button or something. So the loading screen as well. >> Yeah. So um there’s a bunch of like different design choices you can do with
regards to like how you can handle these edge cases. Um sorry the question is to the question is like whether whether you would take a loading screenshot immediately or what do you do when when you execute an action. So I think computer use is annoying and also
interesting because it encounter you encounter a lot of these like age cases and infrastructure problems compared to like math or or coding models. Um it this can be resolved in a couple of ways. I think the most common way that people do this is that you typically
like sleep or wait for a few seconds after executing an action. So you would execute an action and you sleep for like 3 seconds before you take the screenshot and execute the next thing. Um so if you do see a loading screen at that point in time, models are typically trained to
wait again for another um specified amount of time. Um yeah, there’s more complex infra infra um there’s like more complex ways of designing models where you kind of like wait until the screenshot changes, but I think the most simple and common way to deal with it is
you just sleep. Yeah. Yeah. Thanks a lot for the questions. So um this is essentially at a high level like how almost all frontier coolers are trained uh to the best of my knowledge. Um sorry this is not how they’re trained. This is how they are modeled
and we’ll soon like look a bit at how they are actually trained to do these uh um quite amazing things. Cool. So um with training a model uh essentially like most computer use agents are based on pre-trained uh vision language models. So training
happens at a few different stages like obviously when you deploy GPD6 as a computer use agent uh you’re not deploying I guess it’s not obvious but you’re not deploying a specialized version of GPD6 that can only do computer use. So it’s kind of a general
model that can have computer use as one of its capabilities and I think this is like increasingly the way that people do it. Um so computer use specific training happens at a few different stages. Um at the pre-training stage where models are trained uh with like large scale
internet um data uh core specific data is typically injected in a few different formats. So you have kind of like your grounding data which is um data that encourages the model to learn to ground information in in screenshots. Um so this data typically looks at like the
form of um you have a screenshot and you kind of have like a series of bounding boxes followed by coordinates. So what the model is learning to do here is that it’s learning to um uh just like learning grounding abilities. So it’s learning like if I want to click on the
button I have to produce like these XY coordinates. So it’s just learning like the most basic uh capabilities like learning localization, grounding and so on. Um you might also have some data in the form of like immediate actions. So this is actually very similar to the
static evals that we talked about. Uh you might have these screenshots, you might have some like highle task and the goal here is to predict the next action that you will you will produce. Um so this is again like very noisy data. It might even be like synthetically
generated. But the goal here in pre-training is just to introduce uh some form of like localization and grounding ability which the kua needs to do later on in order to um be able to produce like accurate click and um other types of actions. Yeah.
Um after pre-training we typically have a post-training phase. Um so nowadays like this is typically mixed in with other model capabilities but uh to simplify it we can assume that we only care about like cooler for now. Um and in this post- training phase there’s
there’s two different stages. So the first stage is that you typically do supervised fine-tuning um to train the model to mimic a human demonstration of of a computer use task. So you have a bunch of like human demonstrations that you can collect or otherwise like uh
scrape from somewhere. Um, and this typically looks a lot like the trajectories that we already have. So the human is given a screenshot, the human does something and you record that action. So it might be a click action that the human does, you record that
using some like specialized software that you have. Um, so you have a bunch of these like human demonstrations that essentially uh some humans um record humans doing cool like tasks. Um, nowadays it’s also very common to make in synthetic data. So maybe you prompt
your agent in a certain way or you prompt a stronger model to attempt the task and you kind of like keep the trajectories that you think are good. Um so this is like synthetically generated by a different model or the same model. Um and you also kind of mix this in. Uh
so this is typically a bit lower quality and noisier than human data. But you can generate this at scale. So you don’t need humans to actually produce this data. So it’s actually generally still quite useful to have um this like synthetically model generated data in
your post- training stage. Um the more interesting part I think is after this uh post- training supervised fine-tuning stage your model has some semblance of a cooler uh capability. So you can after after SFT you can typically prompt your model and it will
do a decent job at most of these cooler tasks. I think the more interesting stage is um nowadays it’s is it wasn’t very common like one year ago but nowadays it’s very common for kas to undergo an a reinforcement learning stage. So what happens here is that you
kind of drop your cooler in a simulated environment or real world and you give it a thing to do. Um it it it will do that thing. So it will like try to buy a blue mark and at the end you will assign a reward to it either from like rubric based rewards, programmatic verifiers or
like um just llm as a judge. You assign a reward to it in some way and you kind of do like reinforcement learning to reinforce the successful trajectories. Um so this is kind of interesting because it’s like uh there is no human demonstration for these tasks. You kind
of just let the model loose in a sandbox and it um tries a bunch of things uh learns from its uh successes and failures and it you you repeat this until until it’s able to do this successfully. Um yeah so I think people are very excited
about RL these days. Um but the other stages are also very important to ensure that the model has a strong foundation for doing RL. Yeah. So let’s talk a bit more in detail about the various stages. So in the pre-training phase as I mentioned you
kind of have these like screenshots and the goal of this pre-training data is just to learn uh very basic capabilities. So you probably learn like grounding abilities. um given this screenshot uh typically your model is trained to predict the next token uh for
very long description that essentially boils down to like predicting the coordinates of items on the page. So you might have this like car label and the model has to predict the xy coordinates or the xy uh width and height of this bounding box. Um so it’s kind of like
very noisy data but data that you can imagine getting in very large quantities at scale. Uh so for example like this screenshot data it comes from the United website and you can easily generate like all of the bounding box and grounding data by just running a simple like
JavaScript uh script on the website. So you can extract like all the bounding boxes. So you can collect this kind of grounding data very easily at scale which is why it’s a great fit for pre-training where you want like a a lot of uh noisy but large volumes of data.
The other type of data that people sometimes collect is um action prediction. Uh so you can collect for example in the same way from HTML pages you can get like the element name or element uh meta of certain things on the page and um you can provide this as as
the input to the cool and has to predict again the xy coordinates of this. So this is a bit more like semantic understanding where you can provide like a HTML element and it has to predict uh what it wants to do or what it wants to click on. Um so again this is like very
low-level capabilities. It’s really just teaching the cooler how to understand screenshots and how to ground uh various items on the page. Yeah. So you basically learn like screenshot understanding. Uh you learn localization. So sometimes you learn
like where items are on the page. uh you can also learn like the relationship of items with each other. So we know for example like the car button is to the right of the hotel button and uh this might be introduced in your pre-training data in Subway. Um but this is typically
generated at scale and mixed into the early stages of frontier model pre-training um just so that our cooler has a bit of an easier time later on in in learning to ground and learning to produce actions. uh after pre-training the next stage is
uh I think people typically call it post- trainining um so again like we are ignoring all the other data that goes into post- trainining and focusing on cooler data here um this typically comes in two forms so you have like human data where you pay a bunch of humans uh to
annotate trajectories so you might give someone the task like find a birya taco recipe I could make in under three hours and a human here like actually attempts this task by navigating on a web browser um so over here like this example is from momo
Momo web mix um where they collected like 36,000 human trajectories. So they collected 36,000 demonstrations of people doing tasks similar to this like going on the web and doing things and and um at every point you get the screenshot observation and you get the
thing that the human did. Uh so you end up with a bunch of like screenshot action screenshot action trajectories. They also generated a bunch of um synthetic trajectories that we’ll we’ll talk about in a bit. Um but some open- source examples of like cooler data are
Momo web mix and also agent net. So both of both of these papers essentially like collected human demonstrations uh of these tasks. So it’s a very nice way to um train your cooler to like imitate human behavior. Um so condition on screenshot is trained to predict the
next action in the sequence. Um, of course, increasingly so these days we can generate some like synthetic data for for this part of the training as well. Um, so Momo Momo web actually did this thing where they uh gave a model the accessibility tree of the
website. So I think this was um uh addressed in some of the previous questions but uh some of these models do a lot better when you give them metadata. So they have a model that is trained to use like accessibility trees and they provide the accessibility tree
which is essentially a simplified HTML representation uh to the model and they let this model like roll out taking actions in the accessibility tree space and they collect the same set of trajectories. Um so you kind of have this model that is using like privilege
information that it might not have at actual eval and inference time. So it’s uh doing a lot better than it would have if it just had screenshot inputs. Um, so you roll out this model, you collect like 105,000 synthetic traces in this way and you can
also um uh not not all traces are retained. So you can kind of like look at the traces and keep just the ones that you think are higher quality based on some metric like using a different LLM to judge it or using a human to filter them out. Um, so traces are
collected in this way either with human demonstration or or synthetic data. Um, and one analogy I really like with the synthetic data version where you have privilege information is that um, I actually don’t know if it’s true, but I heard that Tesla actually deploy deploys
their cars um, during training with LA. So they have these cars that have LA installed and they do like self-driving and obviously if you have like 3D LA information, you do a lot better. Um, and they collect those trajectories and they discard like the LAR information
and they train their model to just use like the pixelbased information. So you kind of have a teacher that is using a lot better information than you would have at inference time. Um and I think for a lot of cooler applications, people have attempted similar ways of injecting
like metadata or extra information um in order to collect better traces. Um so I think it’s a very nice way of introducing synthetic data. Yeah. Question in the back. >> Yeah. So the question is whether um if you do like pre-training does the
coordinate uh representation generalize? So if you train it on a Mac, does it generalize to a tablet or maybe even like computers with other resolutions? Right? Um and I think typically the way that we collect like coordinate data is that it’s normalized. So uh coordinates
aren’t usually represented in absolute uh formats. So they’re represented in like um zero to a thousand. Zero zero zero meaning like top left of the screen and thousand thousand meaning like bottom right of the screen. So they’re like completely normalized and in my
experience it transfers quite well even when the absolute resolutions are different. Yeah. Cool. Um question >> more efficient way of doing it like perhaps a
like more efficient ways if you have >> instead of getting the screenshot through it just stoing like values what certain items are in some database you can just >> there are boxes just like a description of what the box does
>> yeah I think that’s a That’s also a reasonable way to do it. I think models these days are not trained as uh like monolithic coolers. Like if you try using like GPD6 Astro, it doesn’t always just do computer actions. It will interleaf like bash calls and it
will like write code instead. So I think models like typically try to solve it in the most efficient way possible. Um so they definitely like do use that kind of data at training and also at inference. Um yeah.
Oh, okay. Okay, cool. Uh, okay. I’ll cover a bit more quickly then. Yeah, basically we have a bunch of like um uh open- source data that we can train models on these days. So, a lot of um different examples and the final stage of training is
actually uh post- training RL. So as I mentioned in this stage you kind of like deploy the model in a simulated environment or if you are feeling um you know extra spicy you can also deploy on the real web but people don’t really do that nowadays. Um so you typically like
deploy the model it takes actions in a simulated environment and at the end it produces you get a reward from the environment or from some other judge and you update the policy based on the rewards. So uh broadly speaking like if you get a positive reward you upweight
the actions that happen in that trajectory a bit higher and if you get a zero or negative reward you um downweight those actions. So your model essentially is trained to maximize the reward in an environment and in this case it’s like doing it completely
autonomously. So no human demonstrations. Um the tasks that the model is attempting might come from humans but uh typically it’s like operating in an autonomous fashion. Yeah. And um hopefully it’s obvious why we need simulated environments for RL. A
lot of the tasks that we care about, we don’t really want to execute them repeatedly on the real world. For example, you can only book uh an airport ride on Uber so many times before you get banned or you run out of money, right? So you kind of want like
simulated environments to do reinforcement learning in. Um and there’s several uh benchmarks that uh kind of like tackle the reinforcement learning building uh paradigm. Um so I think I won’t go through these in detail but uh you can
reference them on the slides. Um but essentially I like to show this graph which shows that the reinforcement learning part of post training is actually very important for uh introducing like strong cooler abilities. Um so you start off with a
success rate after SFT of about.5 and if you do like reinforcement learning at the end you climb to about like 6 or or more. Um so it’s a very important part of ka training and uh anecdotally it also introduces some abilities that is hard to do through human uh
demonstration alone. So it’s much easier to train a model to operate over long horizons um using reinforcement learning because you typically don’t have human demonstrations of very long uh tasks. It’s very expensive to collect those. Yeah. Um so to summarize yeah we covered
like how coolers are trained. Uh you typically have a few training stages like pre-training um post- training where you do like behavior cloning on human demonstrations and synthetic data and you also have like the final cherry on top where you do the model uh
reinforcement learning phase um of running it in simulation and getting rewards in the environment and hopefully by the end of this you get a strong cool. Um but at a high level this is like the pipeline that most labs use to train cooler models these days.
So to summarize um kas are a bit different from other agents. I think they are uh kind of like really nice because they operate directly on the same interface as humans. Um it’s very tricky to evaluate coolers and people have been doing it for for a while. Um
but essentially we want to target the right metrics and level of behavior. Um cooler models are designed so that they predict actions from interled visual history. So you kind of have this interleaf context of screenshots and actions that you previously took and the
model has to condition on this to produce the next action. Uh models these days are trained in multiple stages. So you have pre-training with large scale noisy data. You have SFT where you try to behavior clone human or synthetic
demonstrations and you have a final RL phase where you uh let the model um roll out itself in simulated environments and you reward it for good behaviors and penalize it for bad behaviors. Um essentially that’s uh probably the summary of all I have time to cover off
cover today but I encourage you to visit the slides for some uh remaining takes on what we can still work on for Kers. Um, essentially I think speed is still an issue. Personalization is a very ripe area for research. Uh, infrastructure and UX is a big concern. And, um, I’m
also very excited about multi- aent systems. Yeah. Uh, thank you for listening and happy to take questions for remaining time or Yeah. God bless.
本讲伴读笔记以 CMU 11-768 AI Agents (Fall 2026) 课程大纲为参考框架独立撰写。原课程由 Daniel Fried 与 Graham Neubig 讲授,原始课件与视频见cmu-agents.com; 音频镜像与文字稿仅作大陆可达性便利,版权归课程方所有。本文观点与文字为作者原创。