← 返回 2026-10-12

SoftwareGym:用多样化合成软件环境规模化训练计算机操作智能体 SoftwareGym: Scaling Computer-Use Agent Training with Diverse Synthesized Software Environments

Tian Jin, Wenhao Wang, Jing Kang, Haoting Shi, Rui Ye, Yijun Lu, Siheng Chen 📅 2026-10-08 👍 83 2026-11-11 18:30
GUI智能体 SFT 多智能体流水线 数据合成 环境合成 计算机操作智能体

自动合成182个可运行桌面软件,让9B模型OSWorld Pass@3提升15.6点

前置知识

CUA(Computer-Use Agent,计算机操作智能体)

以屏幕截图为观测、以鼠标点击和键盘输入为动作、在真实桌面操作系统里完成用户任务的通用智能体。它不依赖 API 或 DOM,而是像人一样『看屏幕、动鼠标』,因此训练它需要能在真实 GUI 上执行操作的软件环境。

本文的全部目标就是为 CUA 批量制造『可执行、可验证、多样』的训练环境,并在这些环境里采集训练轨迹。

OSWorld 与 Pass@3

OSWorld 是最常用的桌面智能体基准,含 244 个真实任务,覆盖 Chrome、GIMP、LibreOffice Calc/Impress/Writer、Thunderbird、VLC、VS Code 八个应用域。Pass@3 表示每个任务独立采样 3 次、至少一次成功即算通过,反映模型的能力上限而非平均稳定性。

论文的核心主张是域外迁移:只用合成软件训练、完全不用 OSWorld 数据,看 OSWorld Pass@3 提升多少(41.39%→56.97%)。

检查点式 GUI 评估(checkpoint-based GUI evaluation)

让一个『评估智能体』真实地用鼠标键盘操作被测应用,每个测试用例从明确初始状态出发、只使用文档化功能,并定义若干可见的验收检查点;全部检查点通过才计成功。通过率 $P_{func} = N_{pass}/N_{all}$。

这是 SoftwareGym 保证环境可靠性的关键机制:应用必须『被真的点过、验过』才能入库,任务也只允许使用验证过的功能。

树编辑距离(Tree-Edit Distance, TED)

衡量两棵树之间最少需要多少次节点插入、删除、替换操作才能互相转换的经典度量(Zhang-Shasha 算法)。论文把 UI 蓝图解析为去掉颜色字体等视觉属性的归一化布局树,定义 $d_{ij} = \min(1, \mathrm{TED}(T_i,T_j)/\max(|T_i|,|T_j|)) \in [0,1]$。

论文用它把『界面要长得不一样』变成硬性验收门槛(最小成对距离 ≥ 0.60),并在消融中量化设计多样性(83.6 对 4.9)。

多模态 SFT 与轨迹(trajectory)

轨迹是『截图-思考-动作』交替的完整操作序列。多模态监督微调(SFT)把高质量轨迹转成模型的训练样本,让视觉编码器与语言模型学会看屏幕并输出下一步操作。本文用两个 GPT-5.5 裁判分别评结果与过程,双 ≥0.8 分才保留。

论文最终的模型产出完全依赖这套轨迹采集与过滤流程,3,715 条轨迹、约 4.9 万序列化样本决定了模型上限。

Avalonia 与 XAML

Avalonia 是基于 .NET 的跨平台桌面 UI 框架,用 XAML 声明界面结构,可以编译成 Linux 上真正可运行的桌面应用,具备窗口、菜单、对话框、文件系统与持久化等原生能力。

SoftwareGym 合成的就是 Avalonia 应用:XAML 可编译是设计阶段的有效性检查,原生能力则保证了浏览器模拟环境做不到的交互深度。

研究动机

训练计算机操作智能体(CUA)需要大量在可执行软件环境中产生的交互数据,环境构建因此成为整个领域的核心瓶颈。现有两条路线各有硬伤:其一是在既有桌面/移动应用(OSWorld、Windows Agent Arena、OS-Genesis、CUA-Universe、Gym-Anything 等)中生成任务和轨迹,虽然保留了真实软件状态和复杂工作流,但把商业软件整合成可复现训练环境的工程成本很高,应用覆盖面受限,而且反复在同一批固定软件上训练容易诱发应用特定的过拟合;其二是构建浏览器托管环境(InfiniteWeb、AutoWebWorld、GUI-Genesis、ScaleWoB 等),虽然部署和状态控制方便,但共享的浏览器/HTML/DOM 底座限制了交互深度与工作流复杂度,无法承载持久状态和多窗口工作流。论文指出,没有任何现有方法能同时满足 CUA 训练的三个要求:界面与交互多样性(支持泛化)、功能可靠性(每个指定功能都能通过完整 GUI 工作流使用)、可扩展性(多样性与可靠性检查要在大型软件池上自动执行,人工开发无法承受这种验证负担)。

本文的目标是本文的目标是打造 SoftwareGym——一条全自动的多智能体软件合成流水线,以极少的人工输入批量生产『界面多样、功能真正可运行、行为经运行时验证』的 GUI 桌面软件环境,并系统回答三个挑战:如何强制同一软件类别的多个变体在结构上彼此不同而非只是换肤(无约束生成会收敛到相似布局);如何保证合成的每个功能都经得起真实 GUI 操作的检验;如何把单位成本压到人工开发无法企及的水平。在此软件库之上,论文进一步构建 120 个任务的 SoftwareGym-Bench 评测集,采集轨迹对 Qwen3.5-9B 做多模态 SFT,验证仅在合成软件上训练、完全不用任何 OSWorld 应用/任务/轨迹的模型能否在严格域外的 OSWorld 上泛化,最终发布 182 个可运行应用、基准与模型权重。

与已有工作不同的是,本文的独特切入是把『合成对象』从环境包装换成软件本身。此前工作要么在现有软件里造任务(OS-Genesis、CUA-Universe),要么用无后端网页模拟软件界面(GUI-Genesis、ScaleWoB),SoftwareGym 则直接让 LLM 智能体『开软件公司』,从功能规格、UI 蓝图到可执行的 Avalonia 桌面应用端到端合成新软件,直接扩大软件分布本身。其次,多样性不靠提示词祈祷,而是量化成硬门槛:任意两个变体在导航/空间组织/对象浏览/动作放置四个布局维度上的汉明距离必须 $d_{layout}(L_i,L_j) = \sum_{k}\mathbb{1}[\ell_{i,k} \neq \ell_{j,k}] \ge 2$,归一化树编辑距离低于 0.60 就强制重生成。第三,可靠性不靠源代码自审,而靠 GUI 评估智能体真实操作产生的证据门控——任务只允许使用 GUI 测试通过过的能力,使每个训练任务天然可解且可程序化判定,也为后续在合成环境上做 RL 留出了奖励接口。

核心方法

直觉:与其在几十个固定真实软件上反复采样,不如把『设计—编码—测试—修复』的软件工程闭环交给多智能体,批量生产彼此结构不同但真正可用的软件,由此天然获得界面多样且可验证的训练信号。技术路线分三阶段。Stage A 设计:FunctionDesigner 把软件类型与资源扩展成 Software Specification,每个函数记录入口、动作、状态更新、GUI 响应、验收检查点的合同;StyleDesigner 经独立 SubStyleDesigner 生成多套 Avalonia XAML 蓝图,要求布局汉明距离 $d_{layout} \ge 2$ 且最小成对树编辑距离不低于 0.60,否则重生成。Stage B 实现:Coder 按设计包实现应用并撰写功能手册,DevCoder 审计逻辑、持久化与文件接口。Stage C 评估:GUIAgent 在 Ubuntu 虚拟机执行测试,计算 $P_{func} = N_{pass}/N_{all}$,失败轨迹回传驱动最多 3 轮修复,并以 $F_{vis} \ge 0.80$ 的保真度闸门防止界面漂移。双重验证通过才入库。

核心创新有四点。第一,把环境合成的粒度从『网页模拟』升级为『完整桌面应用』:合成的 Avalonia 程序具备持久化、跨模块状态、文件接口和对话框系统,交互深度逼近原生软件,规避了浏览器底座的表达上限。第二,可验证性内建于设计:每个函数在设计阶段就是一份实现与评估合同,任务合成阶段用证据门控的函数树,只有引用了通过案例、检查点或交互步骤的能力才能进入任务,杜绝『考没教过的内容』。第三,多样性量化管控:消融显示无约束生成会灾难性塌缩——Simple Design 每类十个蓝图的宏平均多样性仅 4.9/100,且每组都存在归一化布局树完全相同的一对;本文用布局原型汉明距离 $d_{layout} \ge 2$ 与归一化树编辑距离门槛 0.60 把『结构不同』变成可检测、可拒绝的验收条件,Full Design 把多样性拉到 83.6。第四,GUI 在环修复:实验证明仅靠源代码自审会让通过率从 50.4% 退化到 48.8%,只有让真实 GUI 失败轨迹驱动修复才能升到 83.1%,这一对照干净地证明了『运行时证据』不可替代。

方法步骤详情

五步流程。第一步功能设计:输入软件类型与资源,FunctionDesigner 依次建立功能基线(核心对象与增删改查)、扩展专业功能(多条件检索、批处理、历史管理)、连接跨模块工作流,把每个函数写成含入口、动作、状态更新、GUI 响应、检查点的合同。第二步多样化设计:每个风格规格由独立 SubStyleDesigner 生成 XAML 蓝图并编译验证;蓝图表示为归一化布局树,$\min_{i \neq j} d_{ij} < 0.60$ 时重生成最不显著的蓝图。第三步实现与源码审计:Coder 产出可执行应用与功能手册,DevCoder 核查绑定、逻辑、持久化与文件接口并修补缺漏。第四步 GUI 评估与修复:固定测试集覆盖可达性、导航、对象增删改、持久化与文件工作流,GUIAgent 逐例执行并记录轨迹与修复建议,最多 3 版,每轮计算 $F_{vis}$ 防界面漂移。第五步任务合成与训练:构建证据函数树,按 easy/normal/hard 难度与文件/空白初始状态组合已验证能力,生成自然语言请求与可校验的内部规格;轨迹经双裁判打分过滤后做 SFT。

技术新颖性

与最近邻工作的本质差异:CUA-Universe/Gym-Anything 改造现有软件,覆盖受制于既有应用池;OS-Genesis 在真实软件里反向合成任务;GUI-Genesis/ScaleWoB 生成无后端网页,受限于 DOM 底座。SoftwareGym 是首批直接批量合成『可运行桌面软件』的工作之一,新颖性有四点。(1) 把树编辑距离引入界面管控,定义 $D_{struct} = \frac{200}{K(K-1)}\sum_{i<j} d_{ij}$ 这一 0–100 的结构多样性指标,使设计塌缩从模糊印象变成可测量、可拒绝的工程约束。(2) 功能手册加 GUI 证据函数树的两级证据体系:能力标记为 supported 必须引用通过的案例、检查点或交互步骤,让『某功能可用』拥有可追溯的运行时证明。(3) 视觉保真度 $F_{vis}$ 以设计 token(调色板 Jaccard、主色、圆角、字体)加权评分,在修复循环中同时锁住功能与外观。(4) 全流程成本核算透明(每应用 $70.76、237.3 分钟、14.8M tokens),证明范式经济上可规模化。

Representative applications synthesized by SoftwareGym(SoftwareGym 合成的代表性应用)
Figure 1: Representative applications synthesized by SoftwareGym(SoftwareGym 合成的代表性应用)
SoftwareGym synthesizes diverse, reliable, and executable applications through design, implementation, and evaluation(通过设计、实现与评估三阶段合成多样、可靠、可执行的应用)
Figure 2: SoftwareGym synthesizes diverse, reliable, and executable applications through design, implementation, and evaluation(通过设计、实现与评估三阶段合成多样、可靠、可执行的应用)
SoftwareGym grounds every synthesized task in capabilities verified through GUI interaction(每个合成任务都以 GUI 验证过的能力为基础)
Figure 3: SoftwareGym grounds every synthesized task in capabilities verified through GUI interaction(每个合成任务都以 GUI 验证过的能力为基础)

实验结果

环境层面:182 个应用横跨 12 个类别,平均 GUI 任务通过率 91.5%;迭代修复把通过率从 v1 的 54.9% 经 81.1%(v2)提到 v3 的 91.5%;8 个 OSWorld 对齐类别的 121 个应用中,GUI 证据覆盖全部 49 个一级模块和平均 78.8% 的具体原生函数;每应用平均 237.3 分钟、1480 万 tokens、$70.76。模型层面:仅用 SoftwareGym 轨迹对 Qwen3.5-9B 做 SFT,OSWorld 244 任务 Pass@3 从 41.39% 升至 56.97%(+15.58 点),八个域全部提升(如 Chrome 28.26→58.70);SoftwareGym-Bench 从 25.8% 升至 40.0%,超过 Qwen3.7-Plus(38.3%)等更大模型。消融:Full Design 把蓝图多样性从 4.9 提到 83.6;GUI 引导修复达 83.1% 而源码自审退化到 48.8%(差 34.3 点,95% CI 28.2–41.0);混合训练把 Bench 成绩推到 47.5%,证明合成与原生数据互补。

Pass@3 (%) on OSWorld(OSWorld 上的 Pass@3 结果)
Table 1: Pass@3 (%) on OSWorld(OSWorld 上的 Pass@3 结果)
Pass@3 (%) on SoftwareGym-Bench(SoftwareGym-Bench 上的 Pass@3 结果)
Table 2: Pass@3 (%) on SoftwareGym-Bench(SoftwareGym-Bench 上的 Pass@3 结果)
Pass@3 (%) under different training-software sources(不同训练软件来源的 Pass@3 对比)
Table 3: Pass@3 (%) under different training-software sources(不同训练软件来源的 Pass@3 对比)
Full Design consistently produces more diverse blueprint structures across all twelve categories(Full Design 在全部 12 个类别上产生更多样的蓝图结构)
Table 4: Full Design consistently produces more diverse blueprint structures across all twelve categories(Full Design 在全部 12 个类别上产生更多样的蓝图结构)
Evaluation-guided implementation repair substantially improves functional reliability, whereas source-only repair remains near the shared starting level(评估引导修复显著提升可靠性,源码自审几乎原地踏步)
Table 5: Evaluation-guided implementation repair substantially improves functional reliability, whereas source-only repair remains near the shared starting level(评估引导修复显著提升可靠性,源码自审几乎原地踏步)
Run 1–3 scores, Avg@3, and Pass@3 (%) on OSWorld(OSWorld 全部模型逐次运行完整结果)
Table 8: Run 1–3 scores, Avg@3, and Pass@3 (%) on OSWorld(OSWorld 全部模型逐次运行完整结果)
Run 1–3 scores, Avg@3, and Pass@3 (%) on SoftwareGym-Bench(SoftwareGym-Bench 全部模型逐次运行完整结果)
Table 9: Run 1–3 scores, Avg@3, and Pass@3 (%) on SoftwareGym-Bench(SoftwareGym-Bench 全部模型逐次运行完整结果)
SoftwareGym makes quality-controlled synthesis practical at scale(SoftwareGym 让质控合成在规模上变得经济可行)
Figure 5: SoftwareGym makes quality-controlled synthesis practical at scale(SoftwareGym 让质控合成在规模上变得经济可行)
Iterative evaluation and implementation repair consistently improve software reliability(迭代评估与实现修复持续提升软件可靠性)
Figure 6: Iterative evaluation and implementation repair consistently improve software reliability(迭代评估与实现修复持续提升软件可靠性)
Structured style design improves blueprint diversity, while GUI-guided repair raises pass rate(结构化风格设计提升蓝图多样性,GUI 引导修复提升通过率)
Figure 7: Structured style design improves blueprint diversity, while GUI-guided repair raises pass rate(结构化风格设计提升蓝图多样性,GUI 引导修复提升通过率)
A successful TableEditor interaction that replaces "Draft total" in Sheet1!B2 with "Final total" while leaving the Find and Replace panel open(TableEditor 成功轨迹:替换 B2 文本并保持查找替换面板打开)
Figure 8: A successful TableEditor interaction that replaces "Draft total" in Sheet1!B2 with "Final total" while leaving the Find and Replace panel open(TableEditor 成功轨迹:替换 B2 文本并保持查找替换面板打开)
A successful PicEditor batch interaction processing two images as JPEG at 640-pixel width and quality 72(PicEditor 批处理成功轨迹)
Figure 9: A successful PicEditor batch interaction processing two images as JPEG at 640-pixel width and quality 72(PicEditor 批处理成功轨迹)
A successful MusicPlayer interaction that enables the favorites-only library filter(MusicPlayer 成功轨迹:开启仅收藏过滤)
Figure 10: A successful MusicPlayer interaction that enables the favorites-only library filter(MusicPlayer 成功轨迹:开启仅收藏过滤)
A successful CodeEditor interaction that removes the leftover rainbow-indent extension while keeping built-in extensions enabled(CodeEditor 成功轨迹:卸载多余扩展并保留内置扩展)
Figure 11: A successful CodeEditor interaction that removes the leftover rainbow-indent extension while keeping built-in extensions enabled(CodeEditor 成功轨迹:卸载多余扩展并保留内置扩展)
A successful ForumAPP interaction that creates the public, open-join Civic Desk community with the exact requested summary(ForumAPP 成功轨迹:创建指定配置的社区)
Figure 12: A successful ForumAPP interaction that creates the public, open-join Civic Desk community with the exact requested summary(ForumAPP 成功轨迹:创建指定配置的社区)
A successful ChatAPP interaction that attaches project brief.txt to the Loom Council conversation(ChatAPP 成功轨迹:向指定会话附加文件)
Figure 13: A successful ChatAPP interaction that attaches project brief.txt to the Loom Council conversation(ChatAPP 成功轨迹:向指定会话附加文件)
查看结构化数据
任务指标本文基线提升
OSWorld 严格域外迁移(244 任务、8 个应用域,训练零 OSWorld 数据) Pass@3 (%) 56.97(Qwen3.5-9B SFT) Qwen3.5-9B Base 41.39;OSWorld 自训练模型 61.48 较自身基线 +15.58 点;较 OSWorld-only 训练低 4.51 点但域内反超
SoftwareGym-Bench 域内评测(120 任务、12 类别 × 10 任务) Pass@3 (%) 40.0 Qwen3.5-9B Base 25.8;EvoCUA-32B 35.0;Qwen3.7-Plus 38.3;GPT-5.4 74.2 较自身基线 +14.2 点,超过多个更大规模专用 CUA
合成环境可靠性(182 个应用的 GUI 测试任务) 平均 GUI 任务通过率 (%) 91.5(v3) 54.9(v1 初始实现) 经两轮修复 +36.6 点
修复方式消融(12 类别 × 3 应用 = 36 个配对应用) GUI 任务通过率 (%) 83.1(GUI 引导修复,v3) 48.8(仅源码自审修复,v3),同起点 50.4 +34.3 点(95% CI 28.2–41.0),36/36 全胜
蓝图结构多样性消融(12 类别 × 每方法 10 个蓝图) 归一化树编辑距离宏平均(0–100) 83.6(Full Design) 4.9(Simple Design),且每组含布局树完全相同的一对 +78.7,所有 12 个类别全部占优
训练数据来源消融(规模匹配 3,715 条轨迹 / 55,263 样本) Pass@3 (%),OSWorld / SoftwareGym-Bench 56.97 / 40.0(仅合成数据) 61.48 / 33.3(仅 OSWorld);58.61 / 47.5(混合) 域外略低 4.5 点,域内高 6.7 点,混合最优 47.5,证明互补性

局限与改进

作者承认与本文观察到的局限。其一,合成软件保真度有上限:即便对齐 OSWorld 类别,具体原生函数的 GUI 证据覆盖率也只有 78.8%,插件生态、网络依赖等商业软件深层状态未被覆盖;Calc 域上仅用合成数据训练的模型只有 31.91%,低于 OSWorld 自训练的 44.68%,说明合成表格软件与真实 LibreOffice Calc 仍有差距。其二,评估器依赖:设计与出题用 Codex CLI + GPT-5.5,GUI 评估用 Seed 2.1 Pro,轨迹打分靠双 GPT-5.5 裁判,评估器偏差会传导进环境质量与训练数据。其三,SoftwareGym-Bench 与训练环境同源,40.0% 的域内成绩存在乐观偏置;真正衡量外推力的 OSWorld 56.97% 既低于 OSWorld 自训练的 61.48%,更远低于 Seed 2.1 Pro 的 79.51%。其四,Pass@3(56.97%)与三次运行均值 Avg@3(46.77%)相差近 10 点,运行间方差大。其五,训练仅 SFT,未利用合成环境程序化验证器可作天然奖励的优势做 RL,监督上限尚未探明。

独立分析的弱点

独立分析四点弱点。第一,评测同源偏置:SoftwareGym-Bench 的 120 个任务直接取自训练用的软件库,40.0% 的成绩不能与 OSWorld 这类域外数字直接比较;应预留 held-out 应用或类别构建无泄漏基准,或分层报告成绩。第二,软件复杂度天花板:182 个应用多为单用户、本地文件型生产力工具,缺少多应用协同、网络依赖与长时后台任务;改进方向是跨应用工作流合成(Mail 附件→图片批处理→表格登记)与 CLI+GUI 混合环境。第三,对闭源前沿模型双重依赖:设计用 GPT-5.5、GUI 评估用 Seed 2.1 Pro、打分用双 GPT-5.5 裁判,单应用 $70.76 只核算了部分成本,且前沿模型升级会静默改变环境分布;改进方向是蒸馏开源评估器、冻结模型版本。第四,SFT-only 与轨迹风格单一:双裁判 ≥0.8 过滤天然偏好『标准解法』,模型难学错误恢复,Avg@3 与 Pass@3 近 10 点差距正是方差大的体现;改进方向是在程序化验证器上做 RL 或失败轨迹偏好优化。

未来方向

作者明确提出合成软件库应作为原生软件的互补持续扩容,覆盖更多类别与更深工作流。在此基础上可以延伸:(1) 在合成环境上做强化学习——每个任务自带初始状态、期望终态和确定性验证器,奖励无需人工标注,是天然的 RLVR 训练场,可望解决 SFT 方差大、不会纠错的问题;(2) 跨应用长程任务合成,检验多软件之间的状态传递与工具选择;(3) 把视觉保真度从设计 token 级(调色板、圆角、字体的 Jaccard 指标)升级为感知级渲染相似度,进一步约束修复过程中的 UI 漂移;(4) 让流水线自动发现新软件类别而非人工指定 12 类,实现类别级自主扩展;(5) 迁移到 Windows/macOS 与移动端原生环境,验证范式的跨平台普适性;(6) 与 CUA-Universe 等 CLI+GUI 混合环境结合,给合成软件加终端接口;(7) 用更大规模学生模型与 RLVR 探索合成环境监督的天花板,并与人类演示数据、在线轨迹精炼等方法正交组合。

复现评估

开源情况较好:代码在 GitHub(MrKiing-Jin/SoftwareGym),模型在 HuggingFace(GothamLegend/SoftwareGym),论文承诺释放 182 个应用与 120 任务的 SoftwareGym-Bench,直接复用环境资产的门槛很低。训练算力明确:Qwen3.5-9B 全参 SFT(视觉塔冻结)用 16×A800,bf16 + FlashAttention + ZeRO-2,学习率 $5 \times 10^{-6}$、序列长度 16,384、全局 batch 32、约 4.9 万样本训 1 个 epoch,中等规模实验室可承受。难点在合成管线:依赖 GPT-5.5 做设计与出题、Seed 2.1 Pro 做 GUI 评估、双 GPT-5.5 裁判过滤轨迹,闭源模型既产生持续 API 成本(单应用 $70.76,182 个约 $1.3 万),也有版本漂移风险;评估还需 Ubuntu 虚拟机/Docker 隔离、每任务 3 次采样。总体评级:用发布资产复现训练与评测为中等难度;从头复现合成管线为较高难度。

相似论文推荐