AutoEnvScaling:让AI自己出题,有效环境生成率最高提升25倍
2026 年初,训练一个会用命令行的 AI 智能体,面临一个很尴尬的局面。你想让它学会修 bug、学会跑脚本、学会在服务器里处理各种杂活,靠的是强化学习。强化学习*:一种让AI通过不断尝试、根据结果好坏获得奖励或惩罚来学习的训练方式,有点像训狗,做对了给零食,做错了没反应。但强化学习要吃"环境",就是那种有明确任务、.
2026 年初,训练一个能用命令行的 AI 智能体,碰上了一件挺尴尬的事。
要让它学会修 bug、跑脚本、在服务器里处理各种杂活,靠的是强化学习。
强化学习*:这是一种训练方式,AI 不断尝试,按结果好坏拿奖励或受惩罚,说白了有点像训狗,做对了给零食,做错了没反应。
可强化学习得吃"环境",也就是有明确任务、能验证答案对错的训练场。到今天为止,这些环境基本还是人类工程师一个个手搓出来的。
AI 模型的本事蹿得飞快,可训练它们用的题库,扩充速度全看研究员手有多快——这就是当下绕不开的卡点。有媒体报道称,硅谷公司一年花在"环境"上的钱,可能超过十亿美元。问题是,光砸钱治不了根:模型一旦把某个环境学会了,它就废了,还得有人重新琢磨它缺哪些技能,再一个一个手工搭新关卡。
这篇论文给出的思路来自一群研究者:写代码本身就是终端任务,那设计训练环境,说到底不也是在写代码?干脆让 AI 给自己出练习题行不行?
方案叫 AutoEnvScaling,直译是"自动环境扩展",但它真正在做的事,是把"出题"也变成一个能被训练、被优化的终端任务。
为什么不直接让 AI"写"环境,而是"说"环境
在 AutoEnvScaling 之前,让 AI 生成训练环境的尝试已经不少,大体能分成几类,各有各的硬伤。
一类是"管道式合成",先定好一套生成流程或者技能分类表,再让大模型按模板往里填内容。问题很直接:环境池在训练开始前就定死了,模型学得快也好、慢也罢,题库不会跟着变。
另一类是"反馈驱动",把生成出来的任务跑一下,看看报错日志,再让模型修一修、扩一扩、调调难度。这比第一类进步了,至少有了反馈闭环,可反馈怎么用、该往哪个方向改,仍然是研究者事先写死的规则,模型自己没有决策权。
另一些做法干脆丢给编码智能体,比如有研究让 AI 依据求解器的输出造问答数据,或者对现成环境动手改造。可这些都属于"改装",谈不上从零"造车"。
论文作者观察到一个很朴素的事实:人类研究员设计环境的时候,是怎么工作的?
翻求解器(也就是被训练的那个 AI)的历史记录,看它错在哪、哪些已经拿下,然后自己写代码,搭一个新容器环境出来,把指令、参考答案、测试用例一并写好,跑一遍,碰上 bug 就改,直到这个任务能跑通、对错也验证得了。
这整个过程,从头到尾都是在终端里敲命令完成的。
那让 AI 智能体把这个流程亲自走一遍,行不行?不是叫它"描述"环境该是什么样,而是真把它放进沙盒,工具、终端权限、查资料用的网络权限都给足,让它像人类研究员那样,自己搭、自己调、自己验。
这就是 AutoEnvScaling 的核心思路:把环境设计本身,当成一个需要终端操作能力的任务来对待。
打个比方,教学生做数学题有两种路子。一种是把题写在纸上递给他;另一种是让他先翻课本、找几道同类错题、弄清自己薄弱在哪,然后亲手编一道题,还得先自己做一遍,确认这题有解、真能验出对错。
只做你给的题(第一种),他学到的东西有限,题好不好全看你的水平和耐心。换成自己编题(第二种),这个动作本身就在逼他诊断弱点、验证逻辑自洽。而"编题"这种能力,恰好是终端智能体最该练的工程本事:读代码、写代码、跑测试、修 bug。
论文的实验数据跟这个判断对得上。研究者比了三种生成方式:纯提示生成(只让模型凭空写环境文件,不执行)、提示加反馈生成(跑一遍再把日志喂回去),以及 AutoEnvScaling 的沙盒终端生成。在八个主流模型上测下来,有效环境生成率(环境能正常构建、参考答案拿满分、空白答案不及格)的提升幅度很大,最高 25 倍;每个有效环境的成本,最多降 75%。
最夸张的一个例子是 DeepSeek-V4-Flash,用纯提示方式,它生成的环境里只有 3.5% 是真正能用的,换成 AutoEnvScaling 的沙盒方式后,这个数字飙升到 89.0%。
让出题的 AI 和做题的 AI 互相喂养
光是能生成环境还不够,论文真正有意思的设计,是把"出题"和"做题"这两件事串成了一个闭环,论文管这个叫"数据飞轮"。
具体怎么运作?
论文里把出题的模型称作“提议者”,它动手前会先翻做题模型(“求解者”)最近的训练记录,做对的、做错的都在里头,连验证器给出的具体反馈也一并看。看清求解者还在哪类任务上栽跟头,提议者就针对性地出一道更简单的变体;碰上求解者已经轻松过关的任务,就把题加码,出得更难、步骤更长,还得调用额外技能。
论文举了一个具体例子。求解者尝试“从权重重建 PyTorch 模型”这项任务时失败了,问题出在它把模型的缓冲区(buffer)错当成权重(weight)去加载。提议者 Claude Opus 5 读完这段失败记录,就围着这个具体错误设计出一个新的训练环境,冲的就是这个坑。
这好比一位资深教练盯着运动员的训练录像看。他不会泛泛地说“你最近表现不错/不好”,而是精确指出:你在第三步转身时重心偏了,接着专门安排一组针对转身重心的专项训练。教练要是不看录像,只凭想象出一套通用训练计划,运动员的弱点可能永远得不到针对性纠正,练来练去练的都是已经会的。
生成出来的环境不会直接进训练池,还得过两关。
第一关叫“验证”。系统会把这个环境构建起来,分别跑参考答案和一个“什么都不做”的空白答案。参考答案必须拿满分,空白答案必须拿不到一半分数,这样才保证任务本身合理,不是随便糊弄就能通过。另外还有一道“污染检测”,防止生成的题目和评测基准里的真题出现大段重复的文字。
第二关叫“校准”。让当前的求解者真刀真枪去做这道新题,跑好几次,看平均得分是否落在 0.25 到 0.75 之间,也就是求解者有时能做对、有时做不对。这个区间很关键。
验证器*:一套程序或规则,用来检查某个解答对不对、该给多少分。
校准*:按照当前模型实际表现的强弱程度去调整任务难度,让任务既不太简单也不太困难。
为什么偏偏卡在 0.25 到 0.75 这个区间?强化学习的学习信号依赖“有时候对、有时候错”的对比。一道题要是所有尝试都是满分,或者所有尝试都是零分,模型从这道题里根本学不到东西,因为没有“好坏之分”可供比较。
这套环境校准的逻辑,很像健身房里的渐进超负荷训练。每次举的哑铃轻到毫不费力,肌肉不会长;重到完全举不起来,也练不出肌肉,还可能受伤。真正有效的训练强度,是那种“有点吃力但偶尔能完成”的区间,身体才会被逼着去适应、去进步。AutoEnvScaling 本质上是在给 AI 的训练过程做同样的事,只不过它调节的是任务难度,不是重量。
验证和校准都没通过的环境会被打回去,提议者接着修。整套机制下来,训练池不再是一次性生成、之后一成不变,而是跟着求解者的水平动态调整。
两个角色能不能合二为一?自我进化的实验
前面说的那种玩法,仍是“外部强模型出题、小模型做题”。这篇论文真正让人有想象空间的,是再往前走一步:同一个模型能不能既出题又做题?
这就触及了一个更大的概念,叫“递归自我提升”(Recursive Self-Improvement,简称 RSI)。
递归自我提升*:AI 系统帮助构建能力更强的下一代系统,下一代系统又反过来帮助构建更强的下下代,如此循环往复、自我强化。
实验用的是开源模型 Qwen3.6-35B-A3B,研究者让它一人分饰两角——提议者和求解者。它先自己搭训练环境,再在这个环境里训练自己,新得到的权重又被拿去设计下一轮环境。
但这里有个很现实的起点问题:这个基础模型刚开始生成环境的有效率只有 32.3%,太低了,根本不够起步训练用。
研究者的办法是先“冷启动”一次:拿 600 条高质量提议者轨迹(示范来自 Claude Opus 5 等强模型)对它做微调。微调之后,有效环境生成率直接升到 86.8%,离主流商业模型的水平已经不远。
这有点像新手司机考驾照前先跟教练车磨合几十个小时。不磨合就直接上路——也就是不做冷启动、直接进自我训练循环——车都发动不起来,后面的自我进化更无从谈起。
冷启动之后的正式实验结果是这样的:在 Terminal-Bench 2.1 这个评测基准上,Qwen3.6-35B-A3B 用 AutoEnvScaling 自我训练,分数从冷启动时的 41.1 一路涨到 53.3,涨了 12.2 分,比用固定题库(论文称为 Tmax 基线)训练的对照组还要高出 6.1 分。
难度更高的 Terminal-Bench 4.0 上,这个模型原本只能拿 1.6 分(这个基准对它来说确实非常难),AutoEnvScaling 训练之后涨到 3.2 分,翻了一倍,而固定题库训练只涨到 2.8 分左右。更有意思的是,训练用的题库根本没有专门针对 Terminal-Bench 4.0 设计过,这说明自我进化出来的能力有一定的泛化性,不是死记硬背刷题刷出来的。
但这个实验里还藏着一个很重要的对照组:如果只让这个模型在“做题”这个角色上训练,而不去训练它“出题”的能力,会怎样?
结果是训练前期还能涨分,但越往后越不稳定,最后彻底崩了,环境生成的错误率逐渐攀升,训练在第 160 步左右就垮掉了。
由此可以看出,出题这项能力本身也得持续训练。别指望它学会做题就自动会出好题。好比一个人数学题做得再熟,也不等于他天生会编数学考题,编题是另一套本事,得单独练。
环境生成能铺开到这么多领域,背后靠的是什么
论文还试了一件相当大胆的事:看这套办法能不能不只盯着终端任务,而是伸到软件工程、浏览器操作、电脑图形界面操作、专业办公文档,甚至GPU内核编程这些差得很远的领域里去。
研究者选了三个不同的编码智能体,底座分别是GPT-6-astra、GPT-5.6-sol和Claude Opus 5,让它们在七个领域里各自生成任务,看能不能成功搭出一个完整可用的环境,再统计结果。
终端任务、软件工程任务、GPU内核任务这三类,几乎各家模型都能稳定产出合格环境,接受率普遍在85%以上。可到了浏览器操作、电脑图形界面操作、专业办公文档这几类,模型之间的差距就拉开了:有的接受率只有26%,有的能超过80%。
专业工作流里有个"流动性决策报告"任务,能说明问题:虚构一家叫North Quay Components的公司,给出只读的财务假设数据、应收账款和付款记录,要求解题者做出一份带公式联动的Excel工作簿,里面包含基准、压力测试、延期三种现金流预测情形,再附一份给CFO看的决策备忘录。这道题由Claude Opus 5生成,公式计算逻辑、风险评估维度、给CFO汇报的措辞,全是模型自己设计并验证通过的。
还有一个例子更耐人寻味,讲的是怎么教AI判断什么时候该向人开口。
评测基准HiL-Bench专测一件事:智能体碰到信息不全的任务,会不会主动发问。研究者借助AutoEnvScaling让Claude Opus 5批量造了500道这类题,每题都故意留了关键信息缺口,只能靠"问人类"这个工具补上,而答案对不对,直接决定最终输出是否正确。
结果挺有说服力。基础模型几乎从不主动提问,提问率仅1.8%;冷启动微调后提问率升到71.4%,可问出来的问题质量很差,常常没问到点上,衡量提问质量的Ask-F1只有10.1%。改用官方自带的100道训练题做强化学习,提问质量提到29.6%,任务成功率6.8%。
真正的跳变出现在用AutoEnvScaling那500道题训练之后:Ask-F1升到55.3%,任务成功率升到33.9%,而提问率本身只是从84.2%微涨到89.8%。
这组数字值得拆开看。提问频率基本没动,提问质量却翻了近一倍。模型学到的不是"拿不准就多问几句"这种表面套路,而是真的会判断哪个信息缺口对完成任务最要命。这种本事,靠的是足够多样、足够贴近真实场景的训练题喂出来,而不是靠把提问次数堆上去。
这有点像带新人的情形。新员工遇到不确定的事,如果只被要求"多汇报多请示",也就是对应提问率往上走,他可能大事小事都来烦你;真正成熟的员工会判断哪些信息缺口会导致方向性错误,只在这些关键节点开口。前者是数量上的变化,后者是判断力上的质变。论文里训练出来的模型,走的是后一条路。
把这件事放进更长的时间线,意味着什么
这篇论文不是凭空冒出来的。往前看,Endless Terminals、TermiGen、Tmax这些工作都在试着用大模型批量生成终端训练任务,但大多停在"提示加反馈"的阶段:终端执行只用来验证结果,生成逻辑本身仍是写死的流水线。并行的SPADE走得更接近AutoEnvScaling,让一个共享模型同时扮演设计和求解两种Gym风格环境的角色,可它用的是纯提示生成,设计者角色的奖励依赖一种基于提示的遗憾值计算,并没有让模型在沙盒里真正跑代码去验证。
跟这些前序工作比,AutoEnvScaling最大的不同有两点。一是把环境设计彻底变成可执行、可验证的终端操作,不再停留在文本生成层面;二是提议者这个角色本身也能被训练——既能通过优化它的工具箱和技能库来进步,论文里管这叫"harness优化",也能在开源权重可用时直接用强化学习更新参数。
往后看,这篇论文提出的方向是让AI自己设计自己的训练数据,恰好踩在一个更大命题的边缘,也就是前面说的递归自我提升。眼下已有研究者在试着用AI优化智能体的工具调用脚手架、优化训练算法本身,甚至优化推理用的GPU内核代码,这篇论文则把这个思路落到了"训练数据本身"这个环节。
论文作者也坦率地讲了局限。他们没能证明这种自我提升可以无限持续,目前的实验只跑了几百步训练,更长周期会怎样,论文没有答案。另外,环境"通过验证"不等于环境"完全正确",参考答案和空白答案的检验只能覆盖一小部分可能的错误情况,生成的测试用例仍可能漏掉某些错误答案,或者把某些实际正确的答案误判为错。
写在后面
读完这篇论文,让我回味最久的不是那些好看的数字提升,而是那个"不训练出题能力就会崩溃"的实验细节。
不少人对强化学习的直觉是"给模型喂题,它自己会越学越好",这篇论文却用一个相当干脆的失败案例说明:出题这件事要是不被认真对待、不被持续优化,整个自我训练的循环会在某个节点突然垮掉——错误率往上爬、训练变得不稳定,最后前功尽弃。任何"自我提升"系统最脆弱的地方,常常不在它最显眼的能力上,而在那个容易被忽略、却支撑整个循环运转的隐藏环节。
另一处让我反复琢磨的,是HiL-Bench那组数据。提问率几乎没涨,提问质量却翻倍。这打破了我原先一个模糊的假设:总觉得"学会提问"是线性的,问得越多就越接近正确方向。可这组数据讲的是另一回事——真正的进步未必体现在行为频率上,而是藏在判断力这种看不见的维度里。这种"数量不变、质量跃迁"的现象,或许在很多别的学习场景里都值得留意,人的学习大概率也是如此。
论文里有个细节挺有意思:判断验证环境合不合格时,研究者特意考虑了“参考答案和测试用例可能出自同一个模型,两者的错误会相互对上、彼此遮掩”这种情形,并为此单设了一道“任务审查”环节,让模型自己检查它写的题目是否踩得上官方评分标准。说到底,这背后是一种很实在的担心——出题的和判题的是同一个脑子,它糊弄自己的概率并不为零。放到人身上也一样,自己批自己的卷子,总得有额外的监督。AI 系统做到这一步,已经在照着人类社会那套防“既当裁判又当运动员”的制度来搭架子了。
要是 AI 真能一直给自己出越来越好的题,那接下来就得问:人类工程师在这个循环里最后干什么?继续当出题的那个人,还是退回去,只管审出题的规则本身?
Q&A
Q1:AutoEnvScaling是什么?
A:AutoEnvScaling是一套让AI智能体自行设计强化学习训练环境的方法。它把环境设计本身当作终端任务,提议者模型在沙盒里搭建、测试并校准新环境,求解者模型再在这些环境上训练,两边互相反馈,转成数据飞轮。
Q2:AutoEnvScaling和以前的环境自动生成方法有什么区别?
A:过去的路子,多半是固定流程生成,或者只靠文本提示生成环境,生成逻辑写死了不动。AutoEnvScaling则让模型真的在终端沙盒里执行、搭建、调试环境,还能依据求解者的训练记录动态调节难度,有效环境生成率最高提升25倍,成本最多降低75%。
Q3:同一个模型能不能既出题又做题实现自我提升?
A:能。论文用Qwen3.6-35B-A3B同时担任提议者和求解者,冷启动之后在Terminal-Bench 2.1上提升12.2分。可要是只训练做题能力、不训练出题能力,模型会在训练中途崩掉,这说明出题能力本身也得持续优化。