FACET: Preserving Source Intent and Executable State in Terminal Task Synthesis
Kou Shi, Zun Wang, Qisheng Su, Shiting Huang, Ziao Zhang, Zhen Fang, Qingnan Ren, Jin Liu, Yu Zeng, Yiming Zhao, Lin Chen, Zehui Chen, Feng Zhao
cs.AI, cs.PL
2026-08-19
FACET先落地执行环境再写指令、解法和校验器,避免四件产物各说各话。一千二百条成功轨迹把Qwen3.5-4B、9B、27B在Terminal-Bench 2.1上分别抬高7.12、8.24、6.75分。
训终端 agent 需要大量能跑、能验的题目。一道题绑死四样东西:用户指令、初始化好的容器、参考解法、可执行校验器。任何两样假设不一致,题就解不开,或者解对了也被判错。现有合成管线从技能包、终端录像、问答里直接出题,多走几步生成,源材料里的目标、依赖、中间状态和过程约束就被压成一句浅描述。指令提到的文件在容器里不存在,解法假设另一套 schema,校验器测一个题根本到不了的状态。
FACET 要同时保住源信息,并让四样产物对着同一份已经落地的执行状态写。
从 OpenClaw、ClawHub 和 GitHub 收公开技能包,去掉不安全、要私网或不可读的,留下 71341 条。抽场景假设、按嵌入找回相关技能,模型裁判留下能互补、可当终端工作流执行的 scenario–skill 对。
不直接把技能对翻译成题。第二阶段用五个模块重建组合场景:技能分析、场景探索、关联过滤、演化恢复、信息扩展。再从目标、语境、能力、状态、输入输出与工具五个维度写开,合成完整自然语言场景 C,先写解法参考再写指令参考,并检查两者共享同一初态和终态。
第三阶段先落地环境再写产物。环境智能体先出清单,再在受限基础镜像里物化文件、服务、依赖;公开资源拉下来本地化,评测时不再上网。环境最多修 3 轮。容器建好后,指令、解法、校验器按 I→S→V 顺序写,每一步都能读到同一份真实状态。校验器偏行为检查,不卡死具体命令。整包按 Harbor 格式验收:镜像能建、初态校验不过、参考解法能跑、终态校验过。失败只修被点名的那一件,任务级最多 5 轮,修不回来就丢。
漏斗从 7852 个种子走到 7504 个建成功的环境,最终 6078 道过验收。教师用 DeepSeek-V4-Pro 加 Terminus-2 在约 6K 题上 rollout,成功轨迹 1270/6066,成功率 20.94%,从中抽 1200 条给 Qwen3.5-4B、9B、27B 做全参数 SFT。
任务本身更密、更难。平均 22.77 个可执行检查点,高于 Terminal-Lego 的 16.60 和 Nemotron-Terminal 的 6.18;轨迹平均 11.86 轮。同一求解器上 FACET 题 P@1 只有 27.00,低于对照数据集。检查点多,主流程走完但漏一个次要交付物就不过。
| 模型 | 基线 | FACET-SFT | 涨幅 |
| Qwen3.5-4B | 17.60 | 24.72 | +7.12 |
| Qwen3.5-9B | 27.34 | 35.58 | +8.24 |
| Qwen3.5-27B | 40.82 | 47.57 | +6.75 |
27B 微调后 47.57,同设置下 Qwen3.5-397B 是 49.06,只差 1.49 分,参数大约小 15 倍。4B 相对涨幅最大,约 40.5%。
生成顺序消融用同一批 100 对。Forward 初验 46.5%、终产 83/100;先写校验再写解法的 Reverse 是 24.2%、63/100;三件一起出的 Joint 是 37.5%、65/100。Reverse 失败里 56.5% 是跨产物契约对不齐。端到端 500 对对照里,FACET 验收产率 70.0%,TW 复现 27.8%,去掉场景重建的 Baseline 15.6%。
未成功 rollout 里 54% 只挂 1 到 2 个检查;检查级通过率 89.40%,任务级只有 20.94%。难在全部条件同时满足,不在完全不会做。
给终端 agent 造题,先把容器跑起来再写指令和解法,比把三样东西一起从文本里编出来靠谱。1.2K 条轨迹就在 4B 到 27B 上稳定涨大约 7 分,这种监督的数据效率不低。想复现或接着训,代码、模型和数据都已公开。
这仍是监督微调。题很难、检查很密,二值奖励会把大量「差一点点」的轨迹判成零,论文自己也把这个缺口写出来了。拿这批题直接做 RL,还缺一层更细的过程信号。
教师成功率只有两成,SFT 只用成功轨迹,失败里那些已经做对大部分检查的路径被丢掉了。Forward 修 5 轮、对照方案只修 3 轮,终产率不能当成同等预算下的修复效率。TW 是适配到同一技能对输入的复现,不是原论文数字。技能来自 OpenClaw、ClawHub 生态,和真实用户终端工作的分布是否一致,没有外部标定。
同设置下 Qwen3.6-27B 已经到 53.93,高于微调后的 Qwen3.5-27B。横向「逼近 397B」成立,但不代表这是当前 27B 级的上限。