环境不是越多越好:中科院这篇论文教你给多模态智能体"配菜"
训智能体的时候,大家现在的直觉都是:环境池子越大越好,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:固定计算预算下,训练环境数量与成功率的关系。红色是训练分布内(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:六个环境两两之间的梯度余弦相似度热力图。左图 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:Qwen3-VL-4B 在 200 条失败轨迹上的错误归因饼图。视觉状态提取错误占 30%,世界建模错误占 22%,文本推理错误 23%,动作格式非法 15%,输出格式错误 5%,其他 5%。
前两名——视觉状态提取(看不懂图里的环境状态)和世界建模(搞不懂动作怎么改变环境)——合计 52%。这两个都是多模态特有的能力短板,而且都是"基本功"问题。基本功不行的时候直接上原始视觉输入做 RL,奖励信号稀疏得没法看,训练自然不稳。
三个发现串起来,论文的核心论点就出来了:多模态环境训练的关键不是堆数量,而是设计好环境分布——具体拆成两个维度,多样性和难度结构。

图1:论文的概念图。左侧:环境池需要任务多样性(迷宫、棋盘、纸牌、棋类等各种图标汇入环境池);右侧:难度需要分层递进(Level 1 到 Level 4,从 3x3 小地图逐步升级到大地图),配合课程学习。
🧠 方法一:AES,给环境做"能力画像"再配菜
第一个问题:怎么从 200 个环境里挑出一个多样性好、互相不打架的子集?
现有做法一般按任务描述或环境代码的表层特征来度量多样性——比如这个环境是迷宫、那个是数独,就当作两类。但作者认为这没抓到本质:两个表面不同的环境,可能在教智能体同一套能力;两个表面相似的环境,可能需要完全不同的能力。 真正该度量的是"这个环境锻炼智能体的哪些能力"。

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

图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前沿,关注我