AKL AI Club BETA ← 前沿导读
FRONTIER · 工程实践

把 agent 走过的弯路原样存下来,就是一个不用训练的模拟器——几千套搜索策略在「梦里」试完,真正上机的调用少了四成

Dream-RSI: Recursive Self-Improvement through Evolving Worlds

Tong Zheng、Xidong Wu、Zheng Zhang、Zhankui He、Benjamin Coleman、Wang-Cheng Kang、Heng Huang 等 17 人 Google 与 Google DeepMind 主导、马里兰大学与弗吉尼亚大学参与的 17 人合作 · 站在 AlphaEvolve 那条自动发现技术线的延长线上 · 用 Gemini 3.1 Pro 与 3.7 Flash 在 Lasso 求解器、数学优化、KernelBench 三类任务上做了实测,论文、代码与项目页全部公开
2026 年 9 月
为什么选它RSI(递归自我改进)这个词过去一年被用得很脏,这篇难得把它缩到一个能验证的尺度:模型一行不改,只改那段决定「从哪个尝试往下接、同时开几路、什么时候收手」的调度代码。真正的贡献是指出 agent 跑过的搜索树本身就是一个零成本模拟器,外加一个反直觉的对照实验——把历史总结成提示词里的方向建议,比不总结还差。

9 月 14 日挂上 arXiv 的这份报告,来自 Google、Google DeepMind 与马里兰大学的一个 17 人团队,讲的事情很具体:当你派一群 agent 反复试错去搜一个更快的算法时,「从哪个尝试往下接着试、同时开几路、什么时候收手」这套调度本身,能不能交给 AI 自己改进。它的答案是能,而且改进所需的反馈完全不用重新花钱跑一遍——agent 已经走过的那棵搜索树,本身就是一个精确的模拟器。

这篇值得读,不是因为它刷了什么榜(它的榜成绩其实相当微妙,后面会摊开讲),而是因为它点破了一个越来越多团队正在撞上的问题:当算力堆到几千次「提议—评测」循环的规模,瓶颈早就不是模型会不会写代码,而是这几千次调用花在了哪里。第 66 篇里 OpenAI 用一万个 agent 跑纳维-斯托克斯,分组、中途换模型、把副线成果回灌主线,每一步都是人做的调度决策。这篇干的事,就是把那些决策写成一段代码,再让这段代码自己迭代。

要自我改进的不是模型,是那段调度代码

先把词说清楚。递归自我改进(RSI)在这篇里不是科幻里那种模型重写自己的权重,而是一个朴素得多的循环:生成候选方案 → 评测 → 拿反馈再生成。Dream-RSI 动的是这个循环外面的一层。它把「探索策略」从提示词里的模糊说法抽出来,变成一段真正可执行的编排代码:观察当前这棵搜索树,从根节点和所有叶子里选出一批要继续展开的位置(每个节点带着它当时的工作区快照和累积上下文),分给若干并行 worker,或者干脆返回空批次、停手。底层写代码的 agent、评测器、执行接口全程不动,只有这段调度代码在变。

难就难在这段代码没法便宜地试错。评一个候选程序,跑一次就知道好坏;评一套探索策略,得看它铺开几十上百次调用之后究竟找没找到好东西——反馈又慢又贵。而策略的写法几乎无穷多,试错一轮就烧掉一整轮预算。这就是作者说的「元层瓶颈」。

走过的路是一个不用训练的世界模型

破题点在这里:一次完整的搜索留下来的不是一堆日志,而是一棵结构化的树,每个节点都存着当时的文件系统快照、产出的程序、评测诊断和分数。换一套探索策略去走这棵树,它可以挑不同的分支、换个顺序、改并行度、更早停手——但所有结果早就录好了,重放时只需要把记录逐个揭开,不必再调一次模型、也不必再跑一次评测。一次昂贵的线上搜索,于是能撑起几千次零执行成本的离线评估。

做过强化学习的人会立刻认出这是什么:Dyna 与世界模型那一套(Sutton 1990、Ha 与 Schmidhuber 2018),用想象出来的经验替代真实交互。区别在于这里的「世界模型」不需要学,也不是近似——它就是干活时顺手掉下来的精确记录。评分函数写得也很直白:重放里拿到的最好成绩,减去用掉的调用次数,再加一项并行度奖励(同样的调用数,能一批发出去的比一个个排队的更值钱)。改写策略的是另一个 LLM,它读完重放轨迹和得分,改代码,再重放,若干轮之后挑分最高的那版拿去上线,跑出新的一棵树,模拟器池子又大一圈。

数字:省得很实,赢得没那么干净

Lasso 正则化路径求解器这个任务上,Gemini 3.1 Pro 版本用 317 次 agent 调用,把六个留出数据集上的平均运行时间从固定策略的 3587 毫秒压到 2931 毫秒,而固定策略花了 550 次;换 3.7 Flash 则是 1879 次对 3200 次。对照另一套系统 SimpleTES 的 51,200 次生成,调用量差了两个数量级,跑出来的求解器还更快。GPU 算子那边也类似:VGG16 和 LayerNorm 用少 2.43 倍、1.79 倍的生成次数达到同等性能,ConvDiv 在相同预算下拿到 2.09 倍的分数。

但表格得自己看。Gisette 那一列,Dream-RSI 是 2841 毫秒,固定策略 1861 毫秒——它明显更慢;平均值能赢,很大程度上靠 RCV1 那个大矩阵上的领先把均值拽了回来。三个数学优化任务里,Sum-Difference 的提升出现在小数点后第四位,Circle Packing 跟一堆系统并列同一个数,Autocorrelation 甚至略逊于它自己的固定策略基线。把话说透:这篇站得住的部分是「省」,不是「更强」。它换来的是同样的解用更少的钱找到,而不是找到了别人找不到的解。

一个反直觉的结果:把经验总结成建议,反而更差

第 5 节有个值得单独拎出来的对照实验。利用历史最自然的做法,是让模型把前几轮的教训提炼成几条方向性建议,塞进下一轮的提示词里。作者试了,结果是两种范式下加了建议都比不加更差。他们的解释是:在几十路并行的长程搜索里,强加语义先验会过度收窄搜索空间,把多样性压没了。这和第 1 篇苦涩的教训是同一个调子——人类归纳出来的「方向」在大规模搜索面前常常是负资产,而同一批历史换成可以反复重放的环境,就变成了正资产。另一个细节也有意思:学出来的策略在 ConvDiv 上先把每轮尝试数从 110 压到 50 省着花,等性能卡住了再加回 90 上下,接着又有了提升——像个知道什么时候该省、什么时候该砸的研究主管。

这套办法最漂亮的地方,恰好也是它最硬的边界。重放模拟器之所以既零成本又精确,是因为它只回答已经被记录过的问题:你选中一个节点,它把当时真实跑出来的那个孩子交给你;一旦被评估的新策略想往当初没人走过的方向拐,模拟器就只能沉默。也就是说,「梦」里比的是谁更会在前人趟过的地形里抄近路,一个真正另类的搜索方向值不值得走,梦不出来。论文那条「策略不会变差」的保证同样要看清楚:它保证的是新策略在固定历史上的平均重放分不低于旧策略,跟上线之后会不会更好是两码事。这也正好解释了上面那组数字为什么长成那样——省调用赢得干脆,找更优解只能打平,因为它优化的本来就是效率,不是上限。但也正因为如此,它比那些嚷嚷「自我进化」的工作更值得当真。过去一年 RSI 这个词被糟蹋得厉害,多数论文让模型改自己的提示词或权重,然后报一个复现不了的涨点。这篇把可自我改进的对象缩到极小——只有一段调度代码——却把改进的反馈来源做实了:每跑一次搜索,都在给下一次搜索攒可复用的实验材料。放在第 16 篇 harness 工程那条线上看,信号很清楚:真正在长出复利的不是模型,是围着模型的那层编排,而编排的原料是跑过的日志。今天大多数团队跑完一轮搜索就把中间过程删了。这篇的意思是,你删掉的是下一轮的训练集。
递归自我改进AI 自动发现世界模型Agent 编排GPU 算子

本文为 AKL AI Club 原创撰写的导读,不是原文翻译;著作权归原文作者所有。 篇目由编辑独立选取,来源均经人工核实。