448个服务拼出跨应用任务,35B通过率超Opus 4.6

CompoWorld: Compositional Environment Scaling for General Agents

Xiao-Wen Yang, Weiyi Xu, Wen Da, Hang Xu, Canwei Li, Hong-Jie You, Pusen Dong, Yucheng Zeng, Zhaokai Luo, Yu-Feng Li, Yao Hu, Mu Chuan

cs.AI

2026-09-27

448个可复用服务组合成跨应用任务,3K SFT加1K RL训练35B,八项平均涨9.17分,AutomationBench通过率32.33%超Opus 4.6。

这篇在解决什么

AgentScaler、ScaleEnv、Agent-World 已经能自动造可交互环境:coding agent 写出工具,配上可验证任务,给后续 SFT 和 RL 供数。扩的是「环境个数」和「单环境里的任务个数」。真实工作流卡在另一处。查 Snowflake 里的逾期工单,对照 PDF 操作手册决定怎么回,再发邮件通知经理和客户。成败取决于信息带着约束跨系统走完,不取决于工具调用次数本身。AppWorld 和 Terminal-Universe 已经在评测里把这件事摊开了。

CompoWorld 换了一个可控维度:有限个可独立执行的服务,邮箱、Slack、日历、数据库这类,按任务需要的因果依赖重新组合。服务库不用每来一条数据就重写一遍,训练目标变成「熟悉的服务、没见过的拼法」。这把环境构造接到组合泛化上。

方法

三块流水线:造服务、造跨服务任务、拿任务训模型。

公开 MCP 规格(给模型接外部工具的协议)爬下来,归一成统一 function calling。coding agent 在 pi harness 沙箱里推断实体,用 Pydantic 建类型状态,未知字段和非法更新直接拒。每个工具写成对当前状态的操作,返回更新后的状态和结构化 JSON。自测覆盖正常调用和错误处理,再开一轮独立 session 按规格出边界对抗用例。过不了的工具隔离,不当成已验证的确定性转移。依赖外部系统或本地写不准的,交给 LLM world model(用语言模型模拟环境转移)按当前状态预测下一状态和观察,预测结果仍走同一套类型检查。最终得到 448 个服务、10,130 个工具。world model 只覆盖 7.1% 的工具,约 10% 的训练样本会碰到至少一个。按服务数,DevOps 约占 22%,没有任何单域超过四分之一。

任务侧用随机游走连出服务级依赖图。默认抽 K=5 个服务,外加 5 个干扰服务,强迫 agent 先做工具发现。游走长度 L 在 7 到 12 之间采样:必须覆盖全部所选服务,相邻节点不能相同,至少 revisit 一次,因为中间步骤会让第一次读到的值过期。边表示信息依赖,不规定唯一工具序列。任务作者 agent 分四步:EXPLORE 摸工具和状态格式,DESIGN 写用户指令和结构化 rubric,PROBE 自己把游走跑通、得到可达目标状态,SUBMIT 把 rubric 落成可执行的终态检查。verifier 只查任务相关条件,允许别的成功轨迹走不同工具顺序。

训练先用 3K 条已验证成功轨迹做 SFT,三 epoch,全局 batch 32,学习率 1e-4;再用 1K 个任务做 GRPO。跨服务成功要多条条件同时成立。二元奖励看不见部分进度;均匀平均各条 rubric,会给「改了记录但没发通知」打出还不错的分。Completion-Focused Rubric Reward 在每组 N=8 条 rollout 里统计各条准则的通过率,通过率低的权重大,地板 λ=0.01,归一化后只有全过才是 1。clip 上下界是 0.20 和 0.28,KL 与熵系数都设成 0。环境和任务由 GLM-5.3 合成,轨迹由 DeepSeek-V4-Flash 生成,backbone 是 Qwen3.6-35B-A3B。Agent 只暴露四个元工具:listservices、listtools、describetool、calltool。

结果

八项平均比 backbone 高 9.17 分。AutomationBench 任务成功率从 10.33% 拉到 32.33%,加了 22.00 分,超过 GPT-5.4 的 27.67% 和 Claude Opus 4.6 的 25.50%,接近 DeepSeek-V4-Flash 的 36.33%。同规模 agent 特化模型里,Occamy-1.0 报 27.60%,还差 4.73 分。Qwen3.8-27B 在这项上是 38.50%,CompoWorld 没有超过它。SkillsBench 加 15.19 分,VitaBench 加 10.50 分;VitaBench 2.0 只加 1.62。τ³-Banking、DeepPlanning、VitaBench 2.0 上,前沿模型仍然更高。

模型AutomationBenchSkillsBenchVitaBenchALE
Qwen3.6-35B-A3B10.3332.5238.947.77
CompoWorld32.3347.7149.4413.59
GPT-5.427.6751.7047.0922.50
Claude Opus 4.625.5050.2038.3113.30

AutomationBench 分域部分分均值从 41.94 到 72.68。HR 单域加 49.40,Marketing 加 32.51,Sales 加 31.45。Sales 仍是最低域,58.93。部分分已经很高,整任务通过率只有 32.33%,做完每一条要求仍然难。

固定 1K 条 SFT、同样环境个数:组合环境对单环境,τ³-Banking 是 17.53 对 9.62,AutomationBench 是 33.33 对 12.83。单环境 SFT 在 τ³ 和 DeepPlanning 上略低于裸 backbone。SFT 从 100 条就开始涨;SkillsBench 在 1K 条到 45.13,3K 条回落到 40.91。RL 相对 SFT 八项平均再加 1.2 分,SkillsBench 涨、τ³ 略掉。主增益在 SFT。带重加权的 eval 分数在约 140 step 时约 0.76,不加权约 0.67。

为什么重要

环境 scaling 不必每来一条样本就新写一个环境。448 个服务取 5 个,候选组合大约 1.47e11。对要训跨应用 agent 的人,这条路对准的是信息怎么在服务之间传,不是多调几次工具。项目代码已经公开。

这是把环境多样性推进到依赖结构多样性的一步,策略优化本身是标准 GRPO 加组内通过率重加权。VitaBench 2.0 几乎没吃到这个分布,个性化长程协助还得另找数据。

局限与存疑

自动测试盖不住真实服务的隐式规则和稀有边界。环境质量主要靠下游分数间接证明,没有大规模逐环境正确性评测。world model 一旦给出错观察,后续决策会被带偏。AutomationBench 通过率仍停在 32.33%。

轨迹来自 DeepSeek-V4-Flash,环境来自 GLM-5.3。3K 条成功轨迹更接近蒸馏更强 teacher 的跨服务行为,组合环境是载体。论文没有把教师固定、只换组合与单环境轨迹的对照,结构复杂度和教师质量各贡献多少分不清。SkillsBench 从 1K 加到 3K 反而掉,数据量不是单调的。全部服务都是 typed mock,不是真 MCP 后端。重加权在整组都失败的准则上给不出区分信号。

术语

原文与代码

相关论文

全部论文解读