环境不是越多越好:中科院这篇论文教你给多模态智能体"配菜"

训智能体的时候,大家现在的直觉都是:环境池子越大越好,200 个环境不够就上 2000 个。但中科院的这篇新论文(arXiv:2608.03571)上来就泼了盆冷水——他们固定计算预算,把训练环境从 20 个一路加到 160 个,结果模型成功率在 40 个环境左右见顶,之后一路往下掉。环境数量翻了 4 倍,性能反而跌了 20 多个点。

这就很有意思了。问题不在环境数量,在环境分布

核心摘要:这篇论文研究的是多模态智能体训练中的一个被忽视的问题——环境池的"配方"比"份量"更重要。作者发现简单扩大环境数量会带来非单调甚至负向的收益,多模态环境之间的负迁移比纯文本环境严重得多(混合训练性能掉 10.7% vs 文本版只掉 1.3%)。为此他们从两个维度开药:多样性上提出能力感知的环境选择 AES,用 GPT-5 把智能体轨迹切成原子能力、给每个环境画"能力画像",再从 200 个环境里贪心选出 30 个;难度结构上提出分层难度课程 HDC,外层逐步撤掉文本辅助信息(harness weakening),内层逐步加大环境状态规模(state-scale progression)。30 个精选环境 + 课程训练,在 Qwen3-VL-4B 上 ID 成功率从 base 的 13.1 拉到 45.0,比用全部 200 个环境训练高出一大截。这是一篇"配方设计"类的论文,方法本身不算底层突破,但问题提得准、分析做得扎实,对正在搭环境池训 Agent 的团队很有参考价值。

论文信息

  • 标题:Beyond Simply Environment Scaling: Designing Effective Environment Distributions for Multimodal Agent Learning
  • 作者:Kejian Zhu, Zhuoran Jin, Dongqi Huang, Hongbang Yuan, Yupu Hao, Kang Liu, Jun Zhao
  • 机构:中国科学院自动化研究所 / 中国科学院大学人工智能学院
  • 链接:https://arxiv.org/abs/2608.03571 (代码:https://github.com/GaryStack/Beyond-MMEnv-Scaling)

🎯 问题:堆环境数量为什么不 work

先说背景。现在训多模态智能体(比如让 Qwen3-VL 玩各种视觉迷宫、棋盘、GUI 任务)的主流做法,是构建一个大规模环境池然后混合训练。之前的工作(VisGym、Gym-v 等)主要精力花在单个环境的质量上——环境能不能跑、奖励信号靠不靠谱。

作者基于这些工作搭了个 200 环境的池子,然后做了个预备实验:固定总计算预算,逐步增加参与训练的环境类型数量。结果看图。

图3:环境扩展实验曲线

图3:固定计算预算下,训练环境数量与成功率的关系。红色是训练分布内(ID)环境,绿色是分布外(OOD)环境。ID 性能在约 40 个环境时见顶(0.73 左右),之后单调下滑到 160 个环境时的 0.46;OOD 性能也在 60 个环境左右到顶后回落。

这条曲线挺打脸的。按理说环境越多、覆盖越广,泛化应该越好——但数据说不。环境加到一定规模后,新加进来的环境带来的不是新能力,而是冗余和梯度冲突。

那多模态环境的冲突到底有多严重?作者做了个对照实验:把同一批环境各做两个版本——一个 text-symbolic 版(视觉观测转成文本符号,任务逻辑完全不变),一个多模态原版。分别训"单环境专家模型"和"混合环境模型",看混合训练掉多少点。

设置 单环境平均 混合训练平均 跌幅
Text-symbolic 版 70.4 69.5 1.3%
多模态版 48.4 43.2 10.7%

同样的任务逻辑,只是观测从文本换成图像,混合训练的跌幅从 1.3% 放大到 10.7%,差了 8 倍。

为什么会这样?作者算了一下环境两两之间训练梯度的余弦相似度。

图4:环境间梯度余弦相似度

图4:六个环境两两之间的梯度余弦相似度热力图。左图 text-symbolic 版:数值全为正(0.04–0.23),环境间和和气气。右图多模态版:出现了 -0.13 的强负相关(Addition Table 与 Rectangle Count、Mini Sudoku 与 Rectangle Count),同时正相关也更极端(Rotate Matrix 与 Spiral Matrix 高达 0.55)。

看右图那几个红色格子。任务逻辑一模一样,换成视觉观测后,环境之间从"互不干扰"变成了"互相拆台"。多模态输入放大了优化冲突——这是加再多环境也解决不了的问题。

还有一个更扎心的发现。作者人工分析了 Qwen3-VL-4B 的 200 条失败轨迹,错误分布是这样的:

图5:失败轨迹错误分析

图5:Qwen3-VL-4B 在 200 条失败轨迹上的错误归因饼图。视觉状态提取错误占 30%,世界建模错误占 22%,文本推理错误 23%,动作格式非法 15%,输出格式错误 5%,其他 5%。

前两名——视觉状态提取(看不懂图里的环境状态)和世界建模(搞不懂动作怎么改变环境)——合计 52%。这两个都是多模态特有的能力短板,而且都是"基本功"问题。基本功不行的时候直接上原始视觉输入做 RL,奖励信号稀疏得没法看,训练自然不稳。

三个发现串起来,论文的核心论点就出来了:多模态环境训练的关键不是堆数量,而是设计好环境分布——具体拆成两个维度,多样性难度结构

图1:环境分布有效性的两个维度

图1:论文的概念图。左侧:环境池需要任务多样性(迷宫、棋盘、纸牌、棋类等各种图标汇入环境池);右侧:难度需要分层递进(Level 1 到 Level 4,从 3x3 小地图逐步升级到大地图),配合课程学习。


🧠 方法一:AES,给环境做"能力画像"再配菜

第一个问题:怎么从 200 个环境里挑出一个多样性好、互相不打架的子集?

现有做法一般按任务描述或环境代码的表层特征来度量多样性——比如这个环境是迷宫、那个是数独,就当作两类。但作者认为这没抓到本质:两个表面不同的环境,可能在教智能体同一套能力;两个表面相似的环境,可能需要完全不同的能力。 真正该度量的是"这个环境锻炼智能体的哪些能力"。

图2:AES 与 HDC 方法总览

图2:方法总览。左侧 AES:收集强弱两个模型的轨迹 → 标注模型切分原子行为 → 聚合成元能力画像(核心能力/软能力/能力转移图)→ 按覆盖、冗余、冲突三项算增益,贪心选环境。右侧 HDC:四类文本辅助信息(文本观测/文本状态/文本提示/规则描述)作为脚手架,外层课程从 H Level 0 到 H Level 4 逐步撤掉脚手架,内层课程在每个脚手架等级内从 S Level 0 小图逐步加大到 S Level 2 大图。

AES(Ability-aware Environment Selection)的流程分两步。

第一步,构建环境的能力画像。 每个环境收 40 条轨迹——一半来自 Qwen3-VL-4B(弱模型),一半来自 Gemini-3-Flash(强模型)。这个设计挺讲究的:弱模型的失败轨迹暴露"这个环境难在哪",强模型的成功轨迹展示"这个环境需要什么操作",两个视角互补。然后用 GPT-5 当标注模型,把每条轨迹切成原子能力序列——注意"原子"不是 token 级,而是"对解决任务有意义的可解释行为单元",比如"识别目标位置"、"验证终止状态"这种粒度。作者用统一 prompt 加 few-shot 控制切分粒度,还人工过滤了"perception"这种粗糙得没信息量的标签。

切完之后做聚合:GPT-5 合并语义等价的能力,统计各能力出现频率和能力之间的转移频率,形成一张能力图。画像里区分核心能力(稳定出现、跟任务完成直接相关)和软能力(偶尔出现、弱相关)。200 个环境最后提炼出 72 个核心元能力。

第二步,贪心选择。 每往已选集合 \(S\) 里加一个环境 \(e\),收益由三项组成:

\[\mathrm{Gain}(e\mid S)=\lambda_{1}\mathrm{NewCoverage}(e,S)-\lambda_{2}\mathrm{Redundancy}(e,S)-\lambda_{3}\mathrm{Conflict}(e,S)\]

新增覆盖项奖励带来新核心能力的环境;冗余项惩罚跟已选环境画像太像的(取画像相似度的最大值);冲突项惩罚梯度打架的(取梯度余弦相似度负值的最大值)。从空集开始每步选增益最大的环境,直到 72 个核心能力被全覆盖——30 个环境就够了

图6:AES 核心能力覆盖曲线

图6:AES 依次选入环境时的核心能力覆盖率累积曲线。前 30 个环境覆盖率从 5% 稳步爬到 100%,第 30 个之后进入"冗余区"(图中虚线右侧),新加环境不再带来任何新能力。

这张图是全文我最喜欢的证据之一。200 个环境里,后 170 个在能力覆盖角度几乎是纯冗余——池子看着大,干货就三成。


🏗️ 方法二:HDC,先扶着走,再慢慢撒手

选好了 30 个环境,第二个问题来了:直接让 4B 模型在原始视觉输入上做 RL,前面说了,视觉状态提取和世界建模两大短板导致奖励稀疏,训不动。

HDC(Hierarchical Difficulty Curriculum)的思路是课程学习,但做了两条难度轴,这也是"分层"的含义。

外层课程:Harness Weakening(撤脚手架)。 Harness 指环境额外提供的文本辅助信息,共四类:文本观测(视觉画面的符号描述)、文本状态(关键状态变量)、文本提示(关于重要视觉内容的暗示)、规则描述(显式任务规则)。训练初期全给上,相当于"扶着走";随着模型变强,分 5 个等级(\(H_0\)\(H_4\))逐步撤掉,\(H_4\) 只剩原始视觉观测加任务描述。

有个细节设计值得说:每个环境维护当前脚手架前沿 \(r_e\),但采样时不只采当前等级,而是当前等级以概率 \(p_{\mathrm{cur}}\) 采样,更早的等级按指数衰减权重 \(w_h=\exp(-\alpha(r_e-h))\) 分剩下的概率。这是防分布突变和遗忘的标准手法,朴素但管用。

内层课程:State-Scale Progression(加规模)。 在每个脚手架等级内部,再按环境实例的规模(比如迷宫的 grid size)分等级。每个环境维护规模前沿 \(u_e\),从大小为 \(\Delta d\) 的滑动窗口里均匀采样:\(s\sim\mathrm{Uniform}(\{\ell_e,\dots,u_e\})\)\(\ell_e=\max(0,u_e-\Delta d)\)

两条轴怎么联动?模型在当前规模上达到阈值 \(\tau_s\),内层推进 \(u_e+1\);当 \(u_e\) 爬到目标规模且模型达到脚手架阈值 \(\tau_h\),外层推进 \(r_e+1\),然后规模重置回小图重新爬坡。一句话讲:扶着走的时候先把图加大,加到头了撤一根拐杖,回到小图重新练,再加大,再撤……直到徒手打大图。

这个设计直觉上非常合理。撤脚手架会突然改变观测分布,如果同时还在最大规模上硬扛,两个难度跳变叠加,训练大概率崩。拆开轮流加压,每次只上一个台阶。


📊 实验:30 个环境吊打 200 个

实验设置:Qwen3-VL-4B-Instruct 和 Qwen3-VL-8B-Instruct,对比基线是 Random-K(按原工作人工标注的类别均匀抽 30 个)和 All Envs.(全部环境)。评测分训练分布内(ID)、分布外(OOD)环境,外加 MathVision、MMMU、MMStar 三个通用多模态基准。指标 ST 是单轮成功率,MT 是多轮归一化回报,Rel. 是相对 base model 的相对增益。

主结果(K=30):

4B 模型

方法 ID ST ID MT ID Rel. OOD ST OOD MT OOD Rel. 通用基准 Rel.
Base Model 13.1 11.9 0.0 13.8 9.5 0.0 0.0
All Envs. 25.4 19.8 80.1 17.6 8.3 7.5 0.1
Random-K 32.2 21.3 83.8 17.9 7.1 2.2 0.2
Random-K + HDC 37.3 29.4 131.0 18.7 9.0 15.1 0.2
AES 37.7 25.4 150.6 21.0 12.2 40.3 1.2
AES + HDC 45.0 36.2 223.9 22.1 16.8 68.5 1.5

8B 模型

方法 ID ST ID MT ID Rel. OOD ST OOD MT OOD Rel. 通用基准 Rel.
Base Model 16.0 13.3 0.0 16.3 11.2 0.0 0.0
All Envs. 29.7 20.5 69.9 19.6 12.5 15.9 0.9
Random-K 34.7 25.9 86.1 20.8 9.5 6.2 0.4
Random-K + HDC 43.0 33.2 143.4 22.3 10.3 14.4 0.8
AES 41.0 30.9 144.3 23.2 17.0 47.1 0.2
AES + HDC 49.9 40.1 206.7 26.5 20.7 73.7 0.4

几个值得拎出来的数。

AES 单独用,跨 ID/OOD 和两个模型规模平均相对增益 95.6%,而 All Envs. 只有 43.4%,Random-K 只有 44.6%。用 30 个环境打赢 200 个,"多不一定好"实锤了。尤其 OOD 上差距更大——4B 模型 OOD 相对增益 AES 是 40.3%,Random-K 只有 2.2%。这说明按人工类别抽样的"多样性"是假多样性,按能力画像选出来的才是真覆盖。

还有个反直觉的点:AES 的环境子集是用 4B 模型的轨迹和梯度信息构建的,但迁移到 8B 上一样好使(ID 增益 144.3%)。能力画像抓的是环境本身的结构,不是某个模型的癖好——这个性质挺值钱的,画像构建一次,多个模型规模都能复用。

AES 加 HDC 组合后平均相对增益到 143.2%,是全场最佳。两个维度确实是互补的,不是互相替代。

消融实验更有说服力。 AES 的两个惩罚项各砍掉一个看看:

方法 环境数 OOD ST OOD MT OOD Rel.
Random-K 30 17.9 7.1 2.2
AES 去冗余控制 41 18.6 11.0 25.3
AES 去冲突控制 34 18.5 6.8 2.8
AES 完整 30 21.0 12.2 40.3

去冲突控制后增益从 40.3% 崩到 2.8%——几乎退回 Random-K 的水平。梯度冲突这个前面预备实验发现的核心病灶,确实是 AES 里最对症的那味药。去冗余影响小一些但也有(40.3% 降到 25.3%),而且注意去冗余后自动多选了 11 个环境,说明冗余控制也在帮选择过程"刹车"。

HDC 的两条轴拆开看(都基于 AES 选的环境集):

方法 ID ST ID MT OOD ST OOD MT 平均 Rel.
AES 37.7 25.4 21.0 12.2 0.0
AES + 仅规模递进 40.7 29.8 21.6 14.1 11.5
AES + 仅撤脚手架 41.9 33.1 21.2 15.3 18.1
AES + HDC 双轴 45.0 36.2 22.1 16.8 27.7

单轴都有用,撤脚手架(18.1%)比加规模(11.5%)贡献大,双轴叠加到 27.7%——没有简单线性相加但方向一致,互补关系成立。


🤔 我的判断

这篇论文值钱的地方,我认为是问题定义,不是方法本身。

AES 的核心是"能力画像 + 贪心子集选择",HDC 是"双轴课程学习",单拎出来每个组件都不算新——能力分解、子集选择的覆盖率/冗余/冲突三件套、课程学习,都是各自领域的成熟工具。但把它们对准"环境分布设计"这个被忽视的靶子,而且每个设计决策都有预备实验的证据撑着(梯度冲突热力图 → 冲突项进增益函数;失败轨迹分析 → harness 设计),这个论证链条是扎实的。

几个我想挑刺的地方。

第一,成本问题。AES 的画像构建不便宜:200 个环境 × 40 条轨迹 × 两个模型的 rollouts,再加 GPT-5 标注和人工核查,还要算环境两两的梯度余弦相似度。作者自己在局限性里也承认梯度信息引入了额外离线计算。这套流程值不值,取决于你的环境池是要长期复用的基础设施,还是一次性的实验品。对前者划算,对后者可能不如直接 Random-K 加 HDC。

第二,HDC 依赖环境能提供文本辅助信息。四类 harness 里文本状态、规则描述这些,不是所有环境都天然有的,很多现成 benchmark 根本没设计这些字段。要落地 HDC,环境侧的工程改造量不小。论文里 Table 2 显示 Text State 帮助最大(平均 31.7/20.9 vs 无辅助的 13.5/10.7),但这反过来也说明方法对 harness 质量敏感。

第三,通用多模态基准上的增益很小(最好的也就 1.5 的相对增益,MathVision 从 52.3 到 53.3)。这不算缺点反而算诚实——环境训练提升的是智能体能力,没有外溢成通用多模态理解能力的虚假繁荣。有些工作会拿通用基准的波动当泛化证据吹,这篇没有。

对工程的启发很直接:如果你在搭智能体训练环境池,别先急着把环境数量怼上去。先回答两个问题——你的环境集合在能力维度上有多大冗余?你的训练计划在难度维度上有没有缓冲带?哪怕不实现完整的 AES,"选环境前先做失败轨迹分析、算一下梯度冲突"这两个动作成本不高,值得一试。而"先给文本辅助、再逐步撤掉"的 harness weakening 思路,对任何奖励稀疏的 RL 训练都有参考价值,不限于多模态。


觉得有启发的话,欢迎点赞、在看、转发。跟进最新AI前沿,关注我