电脑操作 agent 先读状态再看像素,Salesforce 把成本砍到 1/9

StateAct: Program State, before Pixels, for Long-Horizon Computer-Use Agents

Yan Yang, Xiangru Jian, Ziyang Luo, Zirui Zhao, Yutong Dai, Ziji Shi, Hanshu Yan, Jun Hao Liew, Silvio Savarese, Junnan Li

cs.SE, cs.CV

2026-07-24

Salesforce 提出 StateAct,让主 agent 用 bash/Python/文件编辑器直接操作程序状态,只在 1.1% 的步骤调用看像素的 GUI 子 agent;在 OSWorld 2.0 上 Claude Opus 4.8 的成功率从 20.6% 提到 26.9%,成本约降到原来的 1/9。

这篇在解决什么

现在的电脑操作 agent(computer-use agent)主要靠看截图来决策。截图是有损的、非单射的(non-injective):Excel 单元格里的公式、被隐藏的行、后台状态,从像素里根本看不出来。长程任务要走上百步,每步的小误读会累积成一份错的交付物。Salesforce AI Research 这篇的核心判断是:像素把任务相关的关键区别藏起来了,而其中绝大部分其实在程序状态里直接可读。

方法

StateAct 是一个代码优先(code-first)的多 agent 框架,三条原则:

它把任务分成三类:状态可达(有代码路径)、混合(大部分走状态、一个视觉子目标)、纯渲染(判断靠像素外观)。

结果

OSWorld 2.0(108 个任务,主干 Claude Opus 4.8):

系统二元成功率部分成功率每任务成本
StateAct26.9%61.6%$7.8
参照 CUA20.6%54.8%$72
GPT-5.513.0%49.5%$25.5
Opus-4.718.2%48.9%$33.6

消融说明哪个组件最重要:去掉 act-on-state,部分成功率从 61.6% 掉到 51.3%;去掉 finish gate 掉到 57.5%;去掉上下文管理掉到 58.7%;纯 bash(不要 Python 和编辑器)只有 45.9%,反而低于参照基线。按能力看,多状态项 66.7%、流式 66.7%、跨来源 64.9% 都不错,最弱的是人在回路(human-in-the-loop)43.9%。

为什么重要

对做 agent 的人,这是一份可复用的工程蓝图:别让大模型对着截图空想,先把能通过代码拿到的状态拿到手。9 倍的成本下降不是靠换更小的模型,而是靠减少每步的视觉感知开销和重试。它也划清了边界:纯视觉任务(图像编辑、排版、图表外观、所见即所得输出)这条思路没有优势,论文明确说「no advantage」。

局限与存疑

最关键的局限是验证器的天花板。finish gate 只抓结构性缺陷,判不了「值对不对」:76 个走到 gate 的非完美任务里,它只正确拦下 8 个(10.5%),68 个推理错误被放行。约 20% 的失败卡在主干模型本身过不去的模态上(音频、视频、实时交互),或指令本身有歧义。另外 GUI 子 agent 不能随便降级:把看像素的模型从 Claude Opus 4.8 换成紧凑的 3B 模型(SFR-CUA),部分成功率从 61.6% 掉到 43.2%。所有数字都来自 108 个任务的 OSWorld 2.0,样本不算大,泛化到其他基准还需验证。

术语

原文与代码

社区讨论

相关论文

全部论文解读