Skill2Env按能力需求合成近三千任务,1.5K轨迹让35B平均+8.4

Skill2Env: Capability-Oriented Environment Synthesis from Skills for General Agents

Weiyi Xu, Xiaowen Yang, Wen Da, Hang Xu, Canwei Li, Hongjie You, Pusen Dong, Yucheng Zeng, Zhaokai Luo, Mu Chuan

cs.AI

2026-09-28

AllSpark提出Skill2Env,从ClawHub公开技能按五维能力需求合成2963个可执行任务,再用1.5K高分轨迹对Qwen3.6-35B做监督微调,七项Agent基准未加权平均从36.6升到45.0。

这篇在解决什么

可执行环境已经是 agent 后训练的刚需:任务指令之外,还要配好工具、放得进状态的 workspace、以及和目标对齐的评测。这四件套互相咬合,按任务手工维护扩不到训练需要的量。一条路从已有仓库、PR、失败轨迹反推 workspace;另一条从更高层规格从零搭,skill 包是其中最常见的规格。SkillSynth、Terminal-World、FACET、SKT 都走后一条,分别用 skill 图、skill 团队、跨 skill 场景重建、规则加 agent 校验来扩任务。

skill 里有的是领域知识、操作流程和工具用法,有时还带脚本和模板。它能给任务设计和环境落地提供锚点,但离一个够难、可执行、能当训练信号的任务还差一层。一个文档处理 skill 往往只教怎么用命令行处理文档;Skill2Env 可以把它做成对账任务,要解决互相冲突的证据,还要让多份输出保持一致。给定一个 skill,按 agent 的能力缺口来造任务和环境,是这条管线的起点。

方法

管线从筛 skill 开始。ClawHub 上拉了超过 4.7 万个公开 skill 文件夹,按实用价值、Linux 沙箱兼容、依赖和数据能否配齐三条留下三千多个。

能力缺口收成五维:环境理解、规划、skill 使用、长程一致性、错误恢复。每一维再拆成可复用的 difficulty pattern,白话就是「这类难法在环境里怎么造、旋钮拧哪」。初始池 100 个,来自试合成里反复出现的挑战结构。环境理解可以把互补事实拆到多个来源,或让规则只藏在配置里;规划可以把后面的步骤绑死在前面的输出上,或加累计资源预算。合成 agent 先看这个 skill 支持哪些工作流,再挑能嵌进同一目标、且操作覆盖得住的模式子集。

选好模式后写 task blueprint,当作作者侧合同:目标、挑战、环境事实、信息边界、验收标准。指令、工具、workspace、评测如果分开写,很容易对不上。blueprint 的用处是先把合同写死,再按合同一起生成。信息边界划清指令给什么、workspace 里发现什么、什么必须推断;解题所需事实对 solver 可见,参考结果留在作者侧。workspace 会混合成材料和检索来的真实材料。能程序化检查的 rubric 项走确定性验证,其余用 LLM judge,权重和为 1,任务奖励是加权平均。

solver 跑完后,验证 agent 拿 blueprint 和执行证据核对任务条件与 rubric。合同级问题改 blueprint 连带改环境;实现级问题按原合同修。条件不一致或评测器出错的证据不进入能力诊断。

第一次合成往往偏易。Iterative Task Hardening 把奖励高于 0.7 的任务继续加难:诊断哪些挑战被捷径绕开、哪些还没咬住,加强已有模式或加兼容新模式,再改合同和环境。新抽象出的挑战会回写模式池。合成本身用 Kimi-K3,hardening 期间 solver 固定为 Qwen3.6-35B-A3B,LLM 打分用 Qwen3.5-397B-A17B。整条管线产出 2963 个可执行任务;其中 2613 个 skill 包带辅助文件,共 19649 个文件、101 种外部程序。

结果

教师 DeepSeek-V4-Flash 在这些环境上滚轨迹,留下 r>0.9 的 1.5K 条,对 Qwen3.6-35B-A3B 做 5 个 epoch SFT。七项未加权平均从 36.6 到 45.0,+8.4。训练没有对着下游基准做定向优化。

模型Terminal-Bench 2.1SkillsBenchSWE-bench Multilingual七项平均
Qwen3.6-35B-A3B44.932.563.336.6
+Skill2Env SFT58.446.971.045.0
Qwen3.5-397B-A17B51.336.566.039.2
GPT-5.478.351.771.752.2

其余四项:Claw-Eval 55.8→61.3(+5.5),τ³-Banking 10.7→15.1(+4.5),AutomationBench 10.3→17.7(+7.3),VitaBench 38.9→44.8(+5.9)。这颗 35B 过完 SFT 后,七项里有六项超过同系列更大的 Qwen3.5-397B-A17B。SWE-bench Multilingual 上到了 71.0,和 GPT-5.4 的 71.7 几乎持平。更强模型仍高一截:GLM-5.2 平均 56.1,DeepSeek-V4-Flash 54.4,GPT-5.4 52.2。

SkillsBench 上,开 skill 自动加载从 32.5 到 46.9(+14.3),关掉自动加载但文件仍可访问从 17.6 到 28.0(+10.4)。八个领域开 skill 时七个上涨,Finance 持平;涨幅最大的是媒体(+46.7)、数学与运筹(+26.9)、软件工程(+23.4)。Terminal-Bench 2.1 换四套 harness 都涨:Pi 46.1→57.3,Terminus-2 44.9→58.4,OpenCode 38.2→55.1,Claude Code 40.5→52.8。

Hardening 把任务变难坐实了,对下游的增量偏薄。500 个成对任务、同一教师加 Pi harness,满分率 48.40%→24.80%→15.40%,平均助手轮数 25.91→36.54→38.85,大约多 50% 交互。同样预算各抽 500 条 r>0.9 轨迹做 SFT,七项平均 40.58→42.51→42.87,两轮只多 2.29 分。skill 合成基线 FACET 只给了 Terminal-Bench 2.1 上 Qwen3.5-27B 的 47.6,且是原文数字,没复现。

为什么重要

给做 agent 数据的人一条配方:按能力缺口选难度模式,用 blueprint 把指令、工具、workspace、评测锁在同一合同上,再用 solver 证据把已经太容易的任务加硬。1.5K 条高质量轨迹就能在接口和领域都不同的七个基准上普涨,监督信号没有严重绑死某一个榜。

能用的前提是手里有 skill 包、Linux 沙箱、以及够强的教师来产轨迹。这条管线走 SFT,没有 RL。对已经在跑 Terminal-World 或 FACET 的团队,这是同一条 skill→环境线上的能力导向增量,不是换赛道。

局限与存疑

正文没有独立局限节。实验设计里能直接读出这些缺口。

对照不完整。同表里的 skill 合成基线只有 FACET 一项、一个榜、而且是 source-reported;SkillSynth、Terminal-World、SKT 没有并列数字。SFT 轨迹来自比 35B 明显更强的 DeepSeek-V4-Flash,环境质量和教师质量缠在一起,没有「弱教师 + 同样环境」的拆解。

Hardening 对下游贡献偏薄:固定 500 条时两轮 +2.29,主实验 +8.4 用的是 1.5K 全量,还混着没继续加难的任务。Finance 在 SkillsBench 开 skill 时零增长。SFT 之后平均 45.0,离 GLM-5.2 的 56.1 和教师自己的 54.4 都还有距离。

评测链路是多模型互评:部分 rubric 靠 LLM judge,一致性校验靠另一个验证 agent,合成用 Kimi-K3。技能来源限于 ClawHub,运行限于 Linux 沙箱。这些都没有被消融干净。

术语

原文与代码

社区讨论

相关论文

全部论文解读