StateAct: 程序状态优先——长程 Computer-Use Agent 的范式转变 · 干货攻略
- 链接: https://x.com/cwolferesearch/status/2082923633593176426
- 分类: x-tips
- 来源: X @cwolferesearch
- 作者: Jay
- 更新: 2026-08-01
这是什么
StateAct 是 Salesforce AI Research(2026 年 7 月 24 日)发表的一篇 arXiv 论文提出的代码优先(code-first)多智能体架构,核心洞察是:不要教 Agent 看截图,要让它直接读写程序状态。
传统 computer-use agent 路线是:截图 → 模型"看懂"像素 → 决定点击/输入 → 执行 → 再截图。StateAct 反其道而行:主 Agent 通过代码直接操作程序状态(文件、应用后端、DOM),只在极少数真正需要视觉的子目标上调用一个专用的 GUI 子 Agent。所有操作、验证、记忆都以程序状态为锚点——论文称之为 state-grounding。
论文标题:Program State, before Pixels, for Long-Horizon Computer-Use Agents arXiv: 2607.22798 · Salesforce AI Research
为什么值得关注
谁分享的,解决什么问题
@cwolferesearch(Cameron R. Wolfe,Netflix Research)在 X 上推荐了这篇论文,核心价值在于它动摇了一个行业默认假设:
"让 Agent 更好地看屏幕"是正确方向吗?
StateAct 的回答是:在长程任务上,这不是主要瓶颈。截图是底层程序状态的"有损渲染"——同一张截图可能对应完全不同的文件内容或 DOM 状态,而代码可以直接读写真实状态。随着任务步数增加,每步有损感知的复合误差会严重拖累最终结果。
核验过程
本攻略中所有数字均经过以下来源交叉验证:
| 来源 | 用途 |
|---|---|
| StateAct 论文 arXiv:2607.22798 | 主来源:完整摘要、实验配置、所有关键数字 |
| StateAct HTML 全文 | 核验:Claude Opus 4.8 baseline 配置细节(max thinking, batched tool, 200-turn budget) |
| OSWorld 2.0 论文 arXiv:2606.29537 | 交叉验证:独立确认 Claude Opus 4.8 在 OSWorld 2.0 上的原始 baseline 成绩(binary 20.5–20.6%,partial 54.8%),与 StateAct 引用的 baseline 数字一致 |
| HuggingFace Papers — StateAct | 第三方整理:SFR-CUA 模型在多基准上的跃升数字 |
| AI Weekly — StateAct 报道 | 技术媒体摘要:整体框架与关键结论一致 |
⚠️ 注意:StateAct 目前(截至 2026-08-01)没有公开发布 GitHub 代码仓库,论文仅通过 arXiv 分发。以下"上手步骤"基于论文描述的架构逻辑,非可运行代码。
核心架构拆解
StateAct 由三个组件构成:
1. 主 Agent(Main Agent)——代码优先
主 Agent 通过代码直接操作程序状态,而不是接收截图 observation。它可以: - 读写文件(文件管理器任务) - 调用应用后端 API(电子表格、邮件等) - 序列化和查询 DOM(浏览器任务)
关键设计:主 Agent 的 observation 是程序状态的查询结果(如 shell 命令输出、workbook 读值、DOM 序列化),而不是像素。
2. GUI 子 Agent(GUI Subagent)——极少量使用
只在以下情况才触发 GUI 子 Agent: - 需要真正视觉理解的子目标(如识别模糊的 UI 元素) - 论文披露:108 个 OSWorld 2.0 任务中仅 28 个需要 GUI 子 Agent,且只占总主 Agent 步数的 1.1%
换句话说,99% 的工作不需要看屏幕。
3. Finish Gate(验证门)——状态级检查
独立验证器直接检查程序状态而非截图: - 输出文件是否存在 - 内容是否保存完整 - 是否写入了错误的路径 - 是否缺少必需字段
4. 子目标卸载(Subgoal Offloading)
主 Agent 将子目标交给新创建的子 Agent,保持自身 context 聚焦,避免在数百步长程任务中 context 膨胀。
关键数字(OSWorld 2.0,108 任务)
以下数字均来自论文,经 OSWorld 2.0 原始论文交叉验证(两篇论文数字一致):
| 配置 | Binary Success | Partial Score | 备注 |
|---|---|---|---|
| Baseline(Claude Opus 4.8,纯截图) | 20.6% | 54.8% | OSWorld 2.0 原始最高分(max thinking + batched tool) |
| StateAct(Claude Opus 4.8) | 26.9% | 61.6% | +6.3 binary / +6.8 partial,绝对提升 |
| StateAct(31B SFR-CUA,仅代码,无 GUI) | 43.2%(partial) | — | 代码专用版本,不调 GUI 子 Agent |
注:OSWorld 2.0 原始论文(arXiv:2606.29537)报告 Claude Opus 4.8 binary 成绩为 20.5%(略有出入,可能因四舍五入或配置细微差异)。StateAct 原文使用 20.6%,差异极小属正常波动,以 StateAct 原文为准。
成本:StateAct 相比同模型纯截图方案,成本降低约 9 倍(论文未公布具体 USD 数字)。
GUI 子 Agent Ablation:纯代码版(无 GUI subagent)仅达 45.9% partial,低于截图 baseline 的 54.8%——说明GUI subagent 虽使用极少,却至关重要,不可完全去除。
其他基准扩展(SFR-CUA 模型)
| 基准 | Baseline | +StateAct |
|---|---|---|
| OSWorld 2.0 | 7.6% | 43.2% |
| OSWorld-Verified | 66.9% | 81.1% |
| WindowsAgentArena | 40.9% | 51.2% |
| AndroidWorld | 68.1% | 84.1% |
| MobileWorld | 48.7% | 68.4% |
上手步骤(论文描述,非可运行代码)
由于 StateAct 目前无开源代码,以下为基于论文描述的架构理解,供有实现能力的团队参考:
概念级实现路线
1. 定义程序状态的查询 API
- 文件系统: ls/diff/cat 等命令输出作为 state observation
- 浏览器: DOM serialization 作为 state channel
- 应用: 后端 API 读值作为 state channel
2. 实现状态 channel(ostate = g(s))与像素 channel(opix = f_render(s))的双轨 observation
3. 主 Agent 默认走 state channel;仅在 state 无法判断时才路由到 GUI subagent
4. 实现 Finish Gate:任务结束时用 state 查询验证输出结构完整性
5. 长程任务中,对每个子目标创建新子 Agent,主 Agent 保持 context 清洁
路由决策伪代码(概念)
def should_use_gui_subagent(subgoal, state_channel_output):
# GUI subagent 仅处理 state channel 不足以判断的情况
requires_visual = detect_visual_only_elements(subgoal)
state_is_ambiguous = check_state_ambiguity(state_channel_output)
return requires_visual and state_is_ambiguous
# 论文实证:仅 28/108 OSWorld 2.0 任务触发 GUI subagent
关键工程决策参考
- State channel 查询频率:主 Agent 每步都通过代码查询状态,而非渲染像素
- GUI subagent 模型:论文使用小型 specialized 模型(不是 frontier model),因为它只处理 ~1% 的步骤
- Turn budget:主 Agent 每次调用 200-turn budget,避免单次 context 溢出
- Verification timing:Finish gate 在任务结束时触发,独立于主 Agent 运行
坑与适用边界
⚠️ 已知局限
- 无公开代码:截至 2026-08-01,StateAct 尚未发布 GitHub 仓库,论文仅为 arXiv 预印本,无法直接复现
- 单一团队、单一基准:所有数字来自 Salesforce AI Research 团队,结果可复现性有待社区验证
- 成本数字缺失:论文未公布具体 USD 成本,"9x 降低"无精确数字支撑
- 仅测 Claude Opus 4.8:尚不清楚同等比例的成本/效果提升是否适用于其他模型(如 GPT-4o、Haiku)
- GUI-only 应用:对于纯图形界面(无 API/文件/DOM 可读)的应用,代码路径根本不可用
- 验证门盲区:Finish gate 只能检测"写入 state 检查逻辑"的结构性故障,无法发现内容语义错误
适用边界
- ✅ 长程、多步、状态丰富的桌面任务(OSWorld 2.0 场景)
- ✅ 有文件/API/DOM 可读的应用(代码路径可行)
- ❌ 纯 GUI 图形游戏、图形编辑器等(无 state 可读路径)
- ❌ 需要语义验证的内容(Finish gate 不覆盖语义对错)
一句话结论
StateAct 证明:在长程 computer-use 任务上,少看屏幕、多读状态,是比提升视觉模型更有效的 scaling 方向——用代码替代像素,让 Agent 直接操作真实状态,Claude Opus 4.8 在 OSWorld 2.0 上以 9x 更低的成本将 binary 成功率从 20.6% 提升至 26.9%。
参考文献
- Yang et al. StateAct: Program State, before Pixels, for Long-Horizon Computer-Use Agents. arXiv:2607.22798, Salesforce AI Research, July 2026.
- Yuan et al. OSWorld 2.0: Benchmarking Computer Use Agents on Long-Horizon Real-World Tasks. arXiv:2606.29537, 2026.
- HuggingFace Papers. "StateAct" (paper page). https://huggingface.co/papers/2607.22798
- AI Weekly. "StateAct Cuts Computer-Use Agent Cost 9x on OSWorld 2.0." July 2026.