OS-Helix:在原生计算机使用智能体中统一 GUI 交互与代码执行 OS-Helix: Unifying GUI Interaction and Code Execution in Native Computer-Using Agents
端到端训练单一策略协调 GUI 与代码动作,OSWorld-Verified 成功率达 66.44%
前置知识
计算机使用智能体(CUA)
通过观察屏幕截图并执行鼠标、键盘等操作,在真实数字环境中完成开放任务的智能体。主流范式是把自动化建模为纯 GUI 交互:感知截图、推理界面状态、输出坐标级动作,代表工作有 UI-TARS、OpenCUA、Claude Computer Use 等;另一类是命令行与编码智能体,直接操作 shell、文件与系统状态。两类接口互补:GUI 提供对任意应用界面的通用视觉访问,代码提供对程序化状态的高效精确操作。
本文的核心问题正是单一策略如何在 GUI 与代码两种动作模态间路由。理解 CUA 的基本循环(截图→推理→动作)、动作空间设计与评估方式,是读懂其统一动作空间定义 $\mathcal{A}_{hybrid}$、数据构建与实验设置的必要前提。
GSPO(组序列策略优化)
Qwen 团队提出的无 critic 在线强化学习算法。与 GRPO 在 token 级构造重要性比率不同,GSPO 在样本级聚合:先计算每个 assistant token 的对数重要性权重 $\delta_{i,t}=\log\frac{\pi_\theta(y_{i,t}|h_{i,t})}{\pi_{old}(y_{i,t}|h_{i,t})}$,再对样本内全部有效 token 取平均并取指数,得到样本级重要性比率 $w_i(\theta)=\exp(\frac{1}{N_i}\sum_t \delta_{i,t})$,配合 clip 机制约束更新幅度。
本文提出的 Step-balanced GSPO 是对 GSPO 聚合方式的最小修改——把按 token 数加权改为按动作步等权。不理解标准 GSPO 的比率构造,就无法理解长代码动作为何会主导优化、这一改进又解决了什么问题。
OSWorld-Verified 基准
真实 Ubuntu 桌面环境中的 369 个开放任务集合(本文排除 8 个 Google Drive 任务后使用 361 个),覆盖系统操作(OS)、办公软件(LibreOffice Calc/Impress/Writer)、日常应用(Chrome/Thunderbird/VLC)、专业工具(GIMP/VS Code)与多应用工作流五大域,通过脚本或视觉模型检查任务最终状态来计算平均成功率,是桌面智能体最常用的评测标准。
本文的主实验、全部消融与在线 RL 都围绕 OSWorld-Verified 展开,表 1、4、5 中按 OS/Office/Daily/Prof./Work. 五域的报告都需要对照这些域的含义来解读。
可验证奖励与规则评估器
RLVR 范式中奖励来自对任务最终状态的程序化检查,而非人工标注或学习型奖励模型。本文由独立的 Evaluator Agent 生成若干自包含的 Python judge 函数,接受 result 与 expected 输入、返回 $[0,1]$ 分数,检查虚拟机内文件的内容、结构、格式或命令行可观测状态,并用初始状态必须得零分的预检来防止奖励泄漏。
OS-Helix 的任务合成、SFT 拒绝采样过滤与在线 RL 奖励全部依赖这套评估器;RL 刻意只使用规则评估器任务,理解其构造方式与固有局限是理解实验结果和局限性分析的关键。
SFT 冷启动与拒绝采样
在强化学习之前先用高质量教师轨迹做监督微调,让模型掌握动作格式语义与粗略策略先验。本文用 Claude Sonnet 4.6(同时开启 Computer Use 与 Bash 工具)在合成任务上采集轨迹,用环境评估器为每条轨迹打分,只保留高分样本,再剔除畸形工具调用与 schema 不匹配的动作,得到约 31K 高质量混合轨迹样本。
论文的关键实证发现是直接暴露代码工具会破坏 GUI 策略(34.17% 降到 32.68%),而 SFT 冷启动承担了把 GUI/代码路由先验内化进模型的主要工作(+16.25 点),是理解其分阶段训练设计的核心。
研究动机
真实桌面自动化既不是纯视觉的也不是纯程序化的。GUI 为主的 CUA 在小而模糊的界面元素上视觉定位容易失败,对表格、批量文件等结构化状态的精细操作即使支持批量动作也十分笨重低效;纯代码或命令行智能体虽能直接读写文件与系统状态,却无法覆盖依赖视觉布局、应用内部 UI 状态或仅在界面中暴露的软件行为的长尾任务。更关键的实证发现是:混合能力无法靠提示词层面的工具拼装获得。Qwen3-VL-32B-Instruct 在 OSWorld-Verified 上仅用 GUI 动作有 34.17% 成功率,朴素地暴露代码执行后反而跌到 32.68%。也就是说,给已训练好的 GUI 策略附加一个 shell 工具不但没有带来新能力,还会干扰已学到的行为。单一策略何时该用 GUI、何时切换到代码、何时回到界面验证结果,这套路由决策必须通过高质量混合数据的训练内化到模型内部,而这在此前的工作中始终是悬而未决的开放问题。
本文的目标是本文的目标是构建一个端到端训练的原生混合 CUA:在统一动作空间 $\mathcal{A}_{hybrid}=\mathcal{A}_{GUI}\cup\mathcal{A}_{meta}\cup\mathcal{A}_{code}$ 中,让单个多模态策略自主学会在点击、输入等 GUI 动作与直接执行 Python/Bash 的代码动作之间路由。目标分解为三件事:其一,建立可扩展的数据基础设施,通过应用-工件组合在可复现的 Ubuntu 虚拟机上实例化多样且可执行的桌面状态,并用解耦的指令与评估器生成流水线产出与解法模态无关的可验证任务;其二,用教师模型蒸馏的混合轨迹做 SFT 冷启动,内化动作语义与模态路由先验;其三,在百余个在线 Ubuntu 沙盒上做 agentic RL,并解决长短动作之间 token 数不对称导致的优化失衡,最终在 OSWorld-Verified 与 WindowsAgentArena 上验证混合协调的收益与跨平台迁移能力。
与已有工作不同的是,已有混合探索分三类,共同点是把协调机制放在模型外部而非策略内部:框架中心系统(如 Agent S3、OS-Symphony、CoAct-1)依赖外部 harness 编排 GUI、代码、记忆与恢复,性能与昂贵的专有模型推理和手工编排耦合,无法隔离模型自身的混合协调能力;工具调用式方法通过预定义的应用专属接口暴露程序化操作,覆盖面受限于可用集成与工具 schema;模型融合式方法按预设设计拼装互补能力。本文的独特切入是把 GUI/代码路由本身当作策略学习问题:环境构建、指令合成、轨迹监督与强化信号全部为混合执行而设计。训练侧的独特发现是异质动作的 token 数不对称问题——一个代码动作的 assistant token 远多于一次点击,标准 GSPO 按 token 数聚合会让代码步骤主导样本级比率与裁剪决策,诱发策略向代码漂移并损害性能,由此提出按动作步等权聚合的 Step-balanced GSPO,直接回答了如何端到端训练单一混合策略这一开放问题。
核心方法
直觉上,真正的计算机使用智能体应把 GUI 交互与代码执行视为改变同一数字状态的两种互补方式:GUI 提供对任意应用界面的通用视觉访问,代码提供对文件与系统状态的高效精确操作,难点是让模型自己学会每一步选哪条路。技术路线为四阶段流水线。第一阶段构建可执行桌面环境:将固定版本应用与真实文件工件按应用-工件兼容图组合,在可复现 Ubuntu 虚拟机上实例化桌面状态,覆盖 45 个应用与 .docx/.pptx/.xlsx/.pdf/.blend/.dxf 等十余类工件。第二阶段环境接地任务合成:Exploration Agent 携带全局应用记忆做短程非破坏性探索后提出指令与成功条件,独立 Evaluator Agent 把冻结条件编译成规则或 VLM 检查,共产出约 8,880 条指令、83,701 条原始 SFT 样本,过滤后保留约 31K。第三阶段以 Claude Sonnet 4.6 教师轨迹做 SFT 冷启动。第四阶段在百余个并行隔离沙盒上做在线 agentic RL,以 Step-balanced GSPO 防止长代码动作主导优化,最终得到 OS-Helix-27B、OS-Helix-35B-A3B 及其 RL 版本。
核心创新有三点,本质区别都指向把混合协调变成策略内部学到的能力。第一,原生混合动作空间:GUI 动作、终止等元动作与直接执行 Python/Bash 的代码动作共用一个工具 schema(action 枚举含 code),代码在独立进程运行、输出回填为后续决策的工具响应,模型每步自主路由而非受外部 harness 指挥——与框架中心、工具调用、模型融合三条已有路线本质不同。第二,应用-工件组合与解耦的指令/评估器合成:以往任务合成依赖模型先验或爬取教程,易产生通用重复指令;本文让指令生成扎根于对实例化环境的主动探索,并用一切皆文件抽象把终端条件映射到可检查的文件表示,评估器与解法模态无关,同一任务可经 GUI、代码或混合方式完成并验证。第三,Step-balanced GSPO:把样本级对数重要性比率从按 token 数加权改为按动作步等权聚合 $w_i^{step}(\theta)=\exp\left(\frac{\sum_k \alpha_{\tau_{i,k}}\bar{\delta}_{i,k}}{\sum_k \alpha_{\tau_{i,k}}}\right)$,步内先对 token 级对数权重取均值得 $\bar{\delta}_{i,k}$,GUI 与代码步权重均为 1.0,从机制上消除成功代码步骤仅因序列化更长就获得更多梯度信用的长度偏置。
方法步骤详情
第一步,环境实例化:每回合恢复虚拟机快照,按应用配置(版本、启动命令、支持工件类型、初始化概率)采样主应用,经兼容图选取零或多个工件,并为预置工件创建仅评估器可见的黄金副本作期望参照。第二步,接地指令提议:Exploration Agent 接收应用元数据、文件路径、启动配置、教程、全局应用记忆与初始截图,仅允许 open/click/scroll/done 的非破坏性探索,随后提出含类别、复杂度、成功条件字段的指令,答案关键值只写入隐藏评估字段。第三步,评估器编译与过滤:独立 Evaluator Agent 只生成验证规格,规则评估器是接受 result/expected、返回 $[0,1]$ 的 Python judge 函数;流水线做静态编译检查、初始状态零分检查、独立模型质量评审与修复循环,再按嵌入相似度去重。第四步,SFT 冷启动:教师轨迹经评估器打分做拒绝采样、剔除畸形工具调用,得约 31K 桌面样本,与 40K 通用多模态样本约 1:1 混合,Megatron-SWIFT 全参数训练 1 epoch(8×H200,学习率 $1\times10^{-5}$,序列长 32K)。第五步,在线 RL:Slime 异步框架,32×H200(16 训练加 16 rollout),1,000 步,每次 8 提示各 8 轨迹,温度 0.5,最多 50 步;奖励仅来自环境评估器,畸形工具调用隔离为奖励 0;任务按成功率 EMA 做前沿采样,视觉历史用 5 到 10 张截图滑动窗口分割。
技术新颖性
技术新颖性体现在四个层面。数据层面:表 6 显示同时具备探索接地、应用可扩展、真实工件规模化、跨应用任务与规则评估器的流水线此前不存在——OS-Genesis、TreeCUA 等只扩展任务与轨迹合成而不扩展底层交互世界,Gym-Anything、CUA-Gym 等缺真实工件维度;应用-工件兼容图把新增应用变成声明式配置(版本、类型、启动模板、初始化概率),使桌面状态空间可组合扩展。训练层面:对照实验首次清晰分离了代码工具可用性与学习到的协调——同一 OS-Helix-27B 检查点关闭代码仍 52.13%、开启 62.75%,固定 10K 样本下混合 SFT 比 GUI-only SFT 高 3.05 点,说明收益来自训练出的路由而非推理期工具。优化层面:Step-balanced GSPO 保留 GSPO 的 token 级权重与裁剪结构、只替换样本级聚合,附录 E 证明动作步聚合梯度系数与 $|a_{i,k}|$ 无关;与 SSPO、CTPO、DHPO 等子句级或混合比率方法不同,它以环境动作边界和动作类型权重而非文本片段长度为聚合单位。分析层面:以代码动作比例为行为诊断(标准 GSPO 漂移至 40.0%,步均衡保持 26.1%)、以 Pass@3 置信区间(+5.56)提供统计证据,并辅以 30 条轨迹人工审计(27/30 含接地跨模态交接)。
实验结果
主实验在 OSWorld-Verified(361 任务,50 步上限)上进行。受控同骨干比较:OS-Helix-27B 达 62.75%,比 Qwen3.5-27B Hybrid 基线 46.50% 高 16.25 点(相对 35.0%);OS-Helix-35B-A3B 达 57.27%,比基线 42.84% 高 14.43 点(相对 33.7%);OS-Helix-27B-RL 升至 66.44%(相对基线 +42.9%)。分域最大增益在 Office(+33.3 与 +29.1 点)和 Workflow(+16.0 与 +14.1 点);RL 增量集中在专业工具(+23.10)、系统操作(+7.61)与日常应用(+6.69)。非受控比较中与 GPT-5 框架 Agent S3(62.63%)、OS-Symphony(65.84%)相当,落后于 Qwen3.7-Plus(73.33%)。跨平台上 WindowsAgentArena:SFT 版 57.95%(GUI 基线 40.82%),RL 版 63.87%(+23.05 点)。消融:RL-only 仅 +1.70,SFT 贡献主要增益,SFT 后 RL 最佳(66.44%);同设置下标准 GSPO 60.47% 且代码动作率漂移至 40.0%,Step-balanced GSPO 66.44% 且动作率 26.1%(接近 SFT 的 27.9%);换 Kimi K2.5 教师得 54.03% 对比 Claude 的 58.77%,移除 9 个 OSWorld 相关域仅降至 62.31%;全任务平均 17.25 步低于基线 19.47/21.01;Pass@3 从 70.88% 升至 76.44%(+5.56,95% CI [2.24,8.97]);骨干替换在 Qwen3-VL-32B-Instruct 上从 Hybrid 32.68% 提到 50.56%(+17.88);去掉训练或推理 CoT 分别损失 12.82 与 12.74 点;定位略降(OSWorld-G 61.35 到 57.21),说明部分容量从纯视觉定位转向混合执行。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| OSWorld-Verified 桌面自动化(361 任务) | 平均成功率 (%) | 66.44(OS-Helix-27B-RL);SFT 版 62.75 | 46.50(Qwen3.5-27B Hybrid 同骨干基线);46.61(GUI-only) | +19.94 绝对点,相对提升 42.9%(RL 对 Hybrid 基线) |
| OSWorld-Verified(MoE 骨干) | 平均成功率 (%) | 57.27(OS-Helix-35B-A3B) | 42.84(Qwen3.5-35B-A3B Hybrid) | +14.43 绝对点,相对提升 33.7% |
| WindowsAgentArena 跨平台迁移 | 平均成功率 (%) | 63.87(OS-Helix-27B-RL) | 40.82(Qwen3.5-27B GUI);56.41(Hybrid) | +23.05 点 vs GUI 基线,+7.46 点 vs Hybrid 基线 |
| OSWorld-Verified(RL 目标函数消融) | 成功率 / 代码动作占比 | 66.44% / 26.1%(Step-balanced GSPO) | 60.47% / 40.0%(标准 GSPO) | +5.97 点且抑制向代码动作漂移 |
| OSWorld-Verified(多采样覆盖) | Pass@3 成功率 (%) | 76.44(RL 后) | 70.88(SFT 策略) | +5.56 点,95% 置信区间 [2.24, 8.97] |
局限与改进
作者在附录 A 承认三类局限。其一,桌面环境难以全面覆盖:45 个应用加工件库仍远不及真实用户机器在应用版本、私有文件与个性化配置上的多样性。其二,自动验证不完美:规则评估器依赖特定应用版本与导出格式,语义近似正确的执行可能因文件属性检查宽严不一而得零分;VLM 评估器能覆盖视觉条件但过于脆弱,被现有 RL 工程整体排除在奖励之外,反过来限制了可入训任务的类型。其三,算力约束:RL 只在 27B 稠密模型上以保守超参跑了 1,000 步,未系统探索缩放行为;35B-A3B 的 MoE 架构在训练-推理一致性与优化稳定性上难以可靠支撑该流水线。我的补充观察:两个基准约 10% 的不可行任务与混合范式存在定义冲突——纯 GUI 不可行但代码可行的任务被基准判错,且模型因训练分布全为可执行任务而不擅长声明不可行(移除不可行任务后两基准各升 3 至 5 点);Windows 上代码动作仅限 Python,失败轨迹会把 Bash 风格混入 Windows 命令;单一成功率既不刻画路由效率,也不刻画代码副作用风险;78.52% 任务用规则评估器意味着视觉布局类条件验证天然偏弱,Figure 8 中 Calc 转 Writer 保格式任务的失败即是例证。
独立分析的弱点
第一,跨模态状态交接缺乏持久化语义:Figure 8 底部案例中,GUI 完成第一个子目标后代码侧另行保存文件,模型误以为已全局提交而点击 Don't Save 丢弃正确更新,暴露模型缺少 GUI 常驻状态与磁盘侧状态的一致提交模型,改进方向是在训练数据中加入显式保存/提交语义标注与交接失败恢复轨迹。第二,视觉等价条件理解薄弱:Calc 转 Writer 保留原格式任务中,代码转换丢失隔行底纹,GUI 检查后又误诊为缺少货币符号而添加美元符,说明模型对渲染语义的理解与评估器覆盖双重不足,可引入渲染对比辅助监督。第三,对 OSWorld 应用域的隐性依赖难以彻底排除:虽有嵌入相似度分析与域移除消融(62.75% 仅降至 62.31%),但同一应用族工作流模式的结构重叠无法用指令嵌入排除。第四,效率与安全性未进入优化目标:步均衡只平衡模态梯度但不奖励选择更高效模态,成功率指标也无法惩罚代码副作用,可在奖励中加入步数或风险正则。第五,教师依赖与数据上限:SFT 质量强依赖 Claude Sonnet 4.6(换 Kimi K2.5 掉 4.74 点),轨迹上限受教师能力约束,可发展递归自我改进自举迭代。第六,跨应用任务合成仅有原型规模,长时程多应用工作流尚未系统化,仍有较大提升空间。
未来方向
作者提出的方向包括:扩大应用与工件生态,在保持可复现性前提下研究系统状态与用户配置的更广泛随机化;发展更强的评估器生成、修复与验证流水线,系统研究跨评估器一致性及对 reward hacking 的鲁棒性;把 Step-balanced GSPO 稳定扩展到更大规模 MoE 智能体,并系统研究 agentic RL 训练动态与缩放律;将 GDPval、Agents' Last Exam 等围绕真实工件与复杂推理设计的通用智能体基准移植进桌面 GUI 环境,从任务设计阶段支持多路径参考解,联合评估终端状态正确性、执行效率、模态选择恰当性与安全性;以及递归自我改进(RSI)——让模型在既有任务池上 rollout、为下一轮训练提供信号,形成随能力增长而质量提升的自进化循环。基于本文成果还可延伸:把不可行性显式建模进任务合成,区分任务真正不可能与模态专属不可行,训练有效执行加校准拒绝;沿操作系统维度扩展合成流水线(补充 Windows/macOS 命令数据)以修复 WAA 上 Bash 与 PowerShell 混用的失败;设计过程级或跨模态验证奖励,把 Figure 7 中一模态求解、另一模态验证修复的模式变成显式优化目标;在动作空间中加入包管理、进程管理等系统接口,覆盖更长的真实桌面工作流。
复现评估
复现条件较为友好但工程量大。作者承诺发布模型家族与研究工件:桌面数据合成与 RL 环境、任务与轨迹采集流水线、约 9K(8,880 条)生成指令、83K 未过滤 SFT 样本与约 31K 过滤样本(项目主页 os-copilot.github.io/OS-Helix)。算力方面:SFT 需 8×H200 全参数训练 1 epoch;RL 需 32×H200(16 训练加 16 rollout)运行 1,000 步的 Slime 加 SGLang 加 Megatron 异步流水线,并维护跨节点百余个 Ubuntu 沙盒的统一管理系统——环境基础设施是复现的最大门槛。数据方面依赖 Claude Sonnet 4.6(探索与评估代理)与 GPT-5.5(质量评审)等闭源 API 做任务合成与轨迹蒸馏,教师成本不可忽视;工件库来自公开数据集(TableBench、DocVQA、SWE-bench 等)可自行构建。评估协议明确:OSWorld-Verified 361 任务、50 步上限、8 张 1504×832 截图与完整文本历史,复现基线使用同一 harness。难度排序:纯评估最容易;数据公开后单节点可做 SFT;完整 RL 流水线最难,需要多机虚拟机编排与异步训练经验;MoE 版 RL 连作者也未跑通。总体属于中高复现难度、但工件完整度显著高于同类工作的水平。
论文图表
对比三种计算机使用范式:GUI-only 通过 click(x,y)、type(12) 等视觉动作操作界面,标注为脆弱且低效;code-only 直接生成代码操作文件与系统状态,但视觉上无接地;混合范式则让统一策略基于同一截图同时输出 GUI 动作与代码动作,形成通用、自适应、目的明确的动作空间。
一图点明论文核心主张:混合不是提示层面的工具拼装,而是统一动作空间内的策略学习问题。
两个代表性失败。上例:把 Calc 当前表转成 Writer 表格并保留原格式,代码转换丢失隔行底纹,GUI 检查发现不匹配后误诊为缺少货币符号,错误地添加美元符号而非恢复表格样式,暴露规范与评估覆盖之间的鸿沟。下例:幻灯片任务中 GUI 正确完成第一子目标(第 3 页图片高度 20cm),代码编辑保存第二子目标时未包含 GUI 常驻的未保存状态,随后 GUI 把代码侧保存误认为全局提交而点击 Don't Save,丢弃了先前的正确更新。
揭示视觉等价评估与跨模态状态交接两大系统性失败模式,直接对应论文局限性分析与未来工作中的评估器覆盖与持久化语义问题。