Envs-FORGE:用混合整数规划给 Agent RL 定制训练环境

**论文链接**:[arXiv:2608.14312](https://arxiv.org/abs/2608....

论文链接arXiv:2608.14312

想象你在健身房练腿。教练给你安排了三组深蹲:第一组空手热身,第二组加到 80% 极限重量,第三组又回到空手。你问教练为什么这么安排,教练说:”我给所有人都是这个方案。”

这听起来荒谬,但这就是当前 Agent RL 训练的现状。Few-shot、Self-Instruct、Evol-Instruct 这些环境合成方法,对每个种子任务都施加同样的改写策略——不管这个任务对当前策略来说太简单还是太难。一个已经 90% 通过率的任务被继续加难度,一个 5% 通过率的任务被继续加更难——种子任务的通过率信息完全被忽略了。

Envs-FORGE 的核心改进就是:先估计种子任务的通过率,再决定怎么改写它

三种操作 × 两个方向

Envs-FORGE 把环境合成建模为一个动作选择问题。对每个种子任务,有三种”投影”操作:

Increase(增加复杂度):让任务更难 – Reduce(降低复杂度):让任务更简单,创造”桥梁任务”——从当前策略够不到的种子往回退一步 – Diversify(多样化):保持难度但换场景

每种投影可以沿两个”演化方向”进行:

In-depth(深度):在同一领域内深化 – In-breadth(广度):跨领域扩展

3×2=6 种组合,选哪个?这就是混合整数规划(MILP)出场的地方。MILP 根据种子通过率、目标策略能力分布、技能覆盖约束,求解每个种子应该用哪种组合来改写。

MILP:把”拍脑袋”变成”求解”

之前的环境合成方法本质上是”固定配方”:Evol-Instruct 永远在增加复杂度,Self-Instruct 永远在多样化。Envs-FORGE 把这些固定配方表示为 MILP 的”动作掩码”(action mask)——它们是 Envs-FORGE 的一般框架的特例。

MILP 的目标函数同时优化:

1. 前沿匹配:合成环境的难度分布要匹配当前策略的能力前沿 2. 技能覆盖:合成环境要覆盖目标技能图谱的空白区域 3. 验证可行性:每个合成环境必须通过验证器(有可执行测试用例提供可靠奖励)

求解结果是 100 个验证过的环境,每个都带有可执行测试。这些环境直接进入 GRPO 训练循环。

结果:9.2 个百分点的提升

在 Qwen 3.5 35B 上用 GRPO 训练:

基准BaseEnvs-FORGE最强基线提升幅度
tb-core40.0%49.2%46.8%+9.2pp
tb-2.023.0%29.4%27.3%+6.4pp
SWE-bench Verified73.4%77.1%+3.7pp

在 4B 到 35B 的模型规模上,tb-core 提升了 6.8-9.2 个百分点。

关键比较:所有四种合成方法(few-shot、Self-Instruct、Evol-Instruct、Envs-FORGE)都输出 100 个验证环境,使用 2.27M-2.88M 合成 token。这意味着 Envs-FORGE 的优势不是”用了更多数据”或”花了更多算力”,而是”同样的资源下选了更好的改写策略”。

桥梁任务:被忽视的中间地带

论文最有意思的概念之一是”桥梁任务”(bridge task)。当种子任务的通过率远超当前策略能力时,直接拿来做训练没用——策略学不到东西。Evol-Instruct 会继续加难度,让种子更够不着;Self-Instruct 会多样化,但新种子也可能同样够不着。

Envs-FORGE 的 Reduce 投影创造的是”往回退一步”的中间任务——从当前策略够不到的种子,退到一个刚好能学到东西的难度。这就像维果茨基的”最近发展区”理论:学习发生在能力的边缘,而不是远远超出能力的地方。

这个概念和”颗粒度同构”原理直接呼应:优化颗粒度应该和被优化对象的颗粒度一致。Agent 的能力是连续的,环境合成的难度也应该是连续的,而不是”一刀切加难度”。

诚实报告:成本和局限

论文没有回避成本。MILP 求解本身需要计算资源,虽然合成 token 总量和基线相当,但求解器的额外开销没有详细量化。附录 B 给出了 MILP 求解过程的全审计轨迹——branch-and-cut 搜索、解解码、fallback 边界条件都记录在案。

论文也承认了评测范围的局限:tb-core 和 tb-2.0 是 Terminal-Bench 的子集,主要测命令行任务;SWE-bench Verified 测代码仓库修复。更广泛的任务类型(Web 交互、多模态 Agent)是否同样受益,需要后续验证。

和 ACE 工作流的呼应

Envs-FORGE 的 MILP 框架和 ACE 的 RPI 工作流有结构同构性。ACE 把研究-计划-实施三步分开,每步独立压缩上下文;Envs-FORGE 把增加-降低-多样化三种投影分开,每种投影独立选择策略。两者都在说同一件事:不要把不同性质的工作混在一个步骤里做

ACE 的”一行坏研究 = 数千行坏代码”和 Envs-FORGE 的”一个错误难度的环境 = 浪费一轮 RL 训练”也是同一个道理。在 Agent 时代,上游的颗粒度选择决定了下游的效率。

概念谱系

Envs-FORGE 是”颗粒度同构”原理在环境合成领域的实例。Heddle 和 CodeRescue 把决策颗粒度从”单次调用”提升到”轨迹/恢复动作”级别,Envs-FORGE 把环境合成的颗粒度从”固定配方”提升到”按种子通过率定制策略”。三者共同指向:Agent 系统的优化单位必须和被优化对象的自然颗粒度对齐

“分工比统一更有效”也在这里:固定的合成配方是”统一处理”,MILP 求解是”按需分配”。colibrì 的 1300 行 C 代码跑 7440 亿参数、Euclid-MCP 的 LLM+Prolog 分工、Rebucca 的小模型+大模型复核——现在加上 Envs-FORGE 的 MILP+LLM 分工,跨域共识越来越强。

论文arXiv:2608.14312 代码github.com/DataArcTech/DataArc-SynData-Toolkit HTML 全文arxiv.org/html/2608.14312v1

发表回复

人生梦想 - 关注前沿的计算机技术 acejoy.com 🐾 步子哥の博客 🐾 背多分论坛 🐾 借一步网 🐾 智柴网 沪ICP备2024052574号-1