到昨天为止,训练一个能操作电脑的 AI agent 的标准做法是:
- 找承包商标注电脑操作的截图
- 在这些截图上微调视觉语言模型(VLM)
- 为每个具体任务构建强化学习环境
问题很明显:承包商标注很贵,所以现有数据集都很小——目前最大的公开数据集也就不到 20 小时的 30 FPS 视频。而且这种方法训练出的 agent 只能处理几秒钟的上下文,做不了需要长时间规划的任务(比如 CAD 设计、复杂的多步骤操作流程)。
Standard Intelligence 发布的 FDM-1 换了个思路。它直接在视频上训练,用一个"逆向动力学模型"(IDM)自动标注数据,可以从互联网规模的视频语料中学习——1100 万小时的屏幕录制。
更重要的是,它的视频编码器可以在 100 万 token 的上下文里压缩近 2 小时的 30 FPS 视频。这是之前最好的方法的 50 倍,OpenAI 的 100 倍。
这意味着 agent 第一次有足够的上下文来做需要长期记忆的复杂任务。
三阶段训练
FDM-1 的训练分三步:
1) 训练逆向动力学模型(IDM)
用 4 万小时承包商标注的屏幕录制训练一个模型,让它能从"前后两帧画面"推测出中间发生了什么操作(键盘、鼠标)。
这个思路来自强化学习里的"从观察中行为克隆"(Behavior Cloning from Observation)。电脑操作的好处是很多动作可以从屏幕变化直接推断——如果屏幕上出现了一个"K",那很可能是按了 K 键。
OpenAI 的 VPT 论文用类似方法做了 Minecraft agent,但只有 6 秒上下文。FDM-1 的上下文是小时级的。
2) 用 IDM 标注大规模数据
把 IDM 应用到 1100 万小时的视频语料上,自动生成动作标签。
这一步的关键是 IDM 的架构设计。它用的是非因果的掩码扩散模型(masked diffusion):给定所有帧,预测被遮盖的动作 token。推理时先预测置信度最高的位置,解除遮盖,然后重复——这样能把计算资源集中在模糊的动作上,提高标注准确度。
实验显示 IDM 标注的数据和真实标注的效果基本持平。
3) 训练前向动力学模型(FDM)
在 IDM 标注的数据上训练 FDM,目标是"给定之前的帧和动作,预测下一个动作"。
FDM 直接在视频和动作 token 上操作,不用 chain-of-thought、不用工具调用、不用字节对编码(BPE)。这让推理延迟很低,而且能建模很多 VLM 做不到的任务——比如连续的鼠标移动、滚动、3D 建模、游戏操作。
视频编码器
为什么其他方法上下文这么短?因为 VLM 编码视频太低效——100 万 token 只能理解一分钟的 30 FPS 视频。
FDM-1 的视频编码器用了掩码压缩目标(masked compression objective)训练,在自监督任务(逆向动力学、动作预测、帧重建、文本转录)上学习生成信息密度高的特征。
结果是:
- 200k token 上下文 → 20 分钟视频
- 1M token 上下文 → 1 小时 40 分钟视频
对比一下:
- Gemini:200k token → 约 775 帧(不到 30 秒)
- ChatGPT Computer Use:200k token → 约 240 帧(8 秒)
- Claude:200k token → 约 162 帧(5 秒)
在相同上下文预算下,FDM-1 的视频编码效率是 Claude 的 100 倍以上。
而且这个编码器能保持文本阅读的高保真度——屏幕上的代码、文档都能准确读取。
动作 token 化
键盘和滚动事件很好处理:每个按键按下、释放、滚动事件都是一个独立 token。
鼠标移动比较麻烦。鼠标每帧可以移动任意像素数,状态空间太大。FDM-1 用了指数分桶(exponential binning):把鼠标移动的 X、Y 分量相对于屏幕宽高归一化,然后放进 49 个指数大小的桶里。
这样小而频繁的移动用细粒度的桶,大而罕见的移动用粗粒度的桶。token 使用更均匀,训练更高效。
模型还会同时预测下一次点击位置,帮助生成准确的鼠标轨迹。
评估基础设施
评估一个操作模型需要在很多真实环境里测试很多次。FDM-1 的评估基础设施每小时能跑 100 万次 rollout,用的是 8 万个可 fork 的虚拟机。
Forking 是关键设计:捕获一个 OS 状态的完整内存快照,复制到新 VM 上,不破坏基础环境。这样能从同一个起点运行几千次 rollout,有效利用测试时计算(test-time compute)。
每个 VM 是极简的 Ubuntu 桌面环境(1 vCPU + 8GB RAM),一块 H100 可以并行控制 42 个。
他们还优化了延迟。这很重要——模型训练时没见过延迟,如果推理时有延迟就会 out-of-distribution。优化手段包括:
- GPU 和 VM 放在同一云区域
- 累积序列长度打包(cumulative sequence length packing)
- 调优低延迟 VNC 配置
- 用 Rust 写设备输入绑定
最终实现了 11ms 的端到端延迟(屏幕捕获 → 动作输出)。
泛化能力
FDM-1 在复杂任务上表现出了很强的泛化能力:
3D 建模:在 Blender 里做 CAD 任务(挤出面、选择对象等),能完成连续的鼠标移动轨迹。
Fuzzing:在一个模拟银行应用里探索尽可能多的唯一状态,找到了一个 bug——在刚完成转账后"提交电汇"按钮仍然可点击,导致账户余额变负。Fuzzing 不能用随机游走或随机按键,因为那不能模拟人类操作。FDM-1 能做到这一点。
真实世界:在旧金山的街区自动驾驶,用不到 1 小时的微调数据就能导航转弯。FDM-1 用网页界面接收方向键输入(左转、右转、无操作),初始准确率就达到 50%,显著高于只有视觉先验的基线模型。
这说明在电脑操作上的训练能泛化到真实世界,而且比从零开始训练容易得多。
意义
以前的电脑操作 agent 被数据约束——承包商标注太贵,数据集太小。FDM-1 把这个问题变成了计算约束——数据有了(1100 万小时),关键是有没有足够的计算资源训练更大的模型。
这是个根本性的转变。
从工程角度看,FDM-1 展示了几个重要的设计选择:
- 从截图转向视频——保留了时间连续性和动态信息
- 从短上下文转向小时级上下文——可以做需要长期记忆的任务
- 用 IDM 自动标注数据——解锁了互联网规模的训练语料
- 用掩码压缩编码器——大幅提升了视频编码效率
- 用 forking VM 评估——每小时 100 万次 rollout,可以充分利用测试时计算
这些设计组合在一起,把 agent 从"玩具演示"推向了"可能真正有用的工具"。
Standard Intelligence 的团队说他们相信通用人工智能会在我们有生之年实现,很可能在未来十年内。FDM-1 是朝这个方向迈出的一步——让 agent 能自主、胜任地使用电脑,但离对齐的通用学习器还有很多技术问题要解决。
不过至少现在我们知道了,agent 学会操作电脑不再是数据瓶颈的问题。接下来看的是算力和架构创新。
论文:Standard Intelligence, "The First Fully General Computer Action Model"
si.inc/posts/fdm1