Token导航 LogoToken导航

AI 资讯 · 科技行者

AI自主出题训练学会做题

更新 2026-11-12科技行者正文 6920字阅读约 22分钟

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 那组数据。提问率几乎没涨,但提问质量翻倍。这打破了我原来一个模糊的假设,总觉得"学会问问题"是个线性过程,问得越多应该越接近正确方向。但这组数据说的是另一件事:真正的进步可能根本不体现在行为频率上,而是藏在判断力这种看不见的维度里。这种"数量不变,质量跃迁"的现象,或许在很多别的学习场景里都值得留意,人类的学习大概率也是这样。

论文里还有一个细节我觉得特别值得留意:验证环境是否合格的时候,研究者专门设计了"参考答案和测试用例可能是同一个模型写的,所以它们之间的错误可能互相匹配、互相掩盖"这种情况,并为此专门加了一道"任务审查"的关卡,让模型review自己写的题目是否符合官方的评分标准。这个细节暴露出一种很现实的担忧:当出题人和判题人是同一个大脑的时候,它自欺欺人的概率不是零。这件事放在人类社会里也成立,自己改自己的卷子,总是需要额外的监督机制。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分。但如果不训练出题能力,仅训练做题能力,模型会在训练中期崩溃,说明出题能力本身也需要被持续优化。

文章标签智能体

资讯来源:由AI资讯编辑整理自互联网公开内容,版权归原作者所有,未经许可,不得转载。