让 AI 自己进化:Google Dream-RSI 论文解读,程序员视角看递归自我改进
最近两周 AI 圈最大的事,不是哪个模型又刷榜了,而是 RSI(Recursive Self-Improvement,递归自我改进) 这个老话题终于被 Google 落到了工程层面。
9 月 10 日,一篇 RSI 路线图论文挂出,提出了一个核心判断:靠人堆实验的时代快走到头了,AI 得学会自己进化。
四天后的 9 月 14 日,Google 和 Google DeepMind 联手把上一期的”地图”变成了能跑的”车”,挂出了 Dream-RSI。论文里有一组数字让人不得不停下来:
同一个 Lasso 回归算法发现任务,一个系统调了 51200 次大模型,另一个只调了 317 次。后者发现的求解器,性能反而更好。
317 对 51200,162 倍差距,质量还更高。
这一篇,我们不聊 RSI 是什么(上一篇路线图论文已经讲过了),只聊 Dream-RSI 这套工程方案本身,以及它对写代码的人到底有什么用。
相关阅读
- AI 在思考的时候到底在做什么——一份大模型底层逻辑的拆解笔记(理解 Transformer 的能力边界)
- 一周 AI 行业大事(跟踪 AI 行业节奏)
- AI Daily 每日资讯(关注动态更新)
一、Dream-RSI 在解决什么问题
论文解决的问题非常具体:在算法发现这类长程任务里,让 AI 的探索策略自己进化。
注意这里的措辞。它没动模型权重,也没动底层的编码 agent。它改的是更上面一层:搜索策略本身。
这跟主流做法完全不同。像 AlphaEvolve 这种发现系统,工作方式是这样一个循环:
- 提候选方案
- 跑评估
- 看反馈
- 再继续
这个循环一跑就是几千轮。每一轮往哪里搜、搜几个方向、什么时候放弃,谁来决定?
主流做法:靠工程师手写的固定策略。
这个做法有两个硬伤:
- 固定策略学不会吸取教训。失败过的方向,还会一次次把钱烧进去。
- 想在线优化策略也不行。评估一个策略好坏,你得看着它跑完一整轮发现,反馈又慢又贵。
搭过 agent 系统的人应该对这种感觉不陌生——调度逻辑写死,改起来战战兢兢,不调又眼睁睁看着它浪费资源。Dream-RSI 直接把这个层面拉出来,作为新的优化对象。
二、核心洞察:发现历史本身就是模拟器
Dream-RSI 的解法,一句话能说完:
已经跑完的发现历史,本身就是一个精确的模拟器。
这个类比很贴切:你在陌生地形里探路,走了弯路、撞了死胡同,但边走边画出一张地图。下一个人不用再走一遍,他看着地图就能规划路线。
具体落到工程上,一次发现系统跑完一轮,留下的东西远超日志文本:
- 一棵结构化的发现树
- 每个节点是一次尝试,带着完整的执行结果、得分、代码快照
- 新策略想知道”当时走另一条路会怎样”,不用真跑,沿着这棵树换条路径走一遍就行
- 所有结果早就在磁盘上了
这跟强化学习里 Dreamer 系列的世界模型形成了一个漂亮的对称:
| Dreamer | Dream-RSI | |
|---|---|---|
| 世界模型 | 学出来的近似 | 真实执行记录 |
| 误差 | 有 | 零 |
| 执行成本 | 推理 | 零 |
区别在于:Dreamer 用一个神经网络去”猜”环境会怎么动;Dream-RSI 直接把真实跑过的历史当作环境本身。零误差,零成本,这是它在工程上最大的诱惑力。
三、三步循环:把闭环跑起来
基于”历史即模拟器”这个洞察,系统被分成三步循环:
第一步:在线探索
当前策略指挥编码 agent,生成新的发现树。
第二步:构建回放模拟器
跑出来的这棵树,变成可反复回放的模拟器,扔进模拟器池。
第三步:做梦式策略改进
策略开发 agent 写出多个候选策略,在模拟器池里离线回放打分。胜出的策略重新上线,跑出新的一棵树,池子又大了一圈。
1 | 在线探索 ──► 新发现树 ──► 回放模拟器 ──► 模拟器池 |
“做梦”这个名字,致敬的就是强化学习里的 World Models 和 Dreamer 系列。在 Dream-RSI 里,”梦”的内容是真实的历史,不是模型想象出来的近似。这一点对程序员特别友好:可调试、可验证、可回放。
四、最舒服的设计:策略即代码
Dream-RSI 让我眼前一亮的地方,是这一个工程细节:
探索策略本身就是一段可执行的代码。
它决定:
- 从哪些叶子继续搜
- 并行发几个请求
- 什么时候停
策略可以 diff、可以 code review、可以 进 git。
改进策略的工作,交给了一个 LLM agent 去改写代码。每个新版本都在全部历史树上回放打分。
更有意思的是工程性质的保证:当前线上版本永远在候选集里。新策略得分只会更高,单调不降。
做过后端的同学会立刻认出来——这就是 champion-challenger 模式:
- 擂台是历史回放,不是真实流量
- 试错赌注约等于零
- 没人敢在线上玩的实验,在这里随便玩
把”策略即代码”这个性质落到工程上,意味着你不再需要小心翼翼地”调参”或者”改提示词”——你写代码,LLM 改代码,改完在历史回放里打分。整套反馈环是闭环的、可重复的、零成本的。
五、实验结果:三个领域,结论一致
论文在三个领域做了实测,结论一致:同等预算搜得更好,同等质量花得更少。
算法工程:Lasso 求解器
任务是让 AI 自己发现更快的 Lasso 回归求解器。
- 基线 SimpleTES 用 GPT-OSS-120B 跑了 51200 次生成
- Dream-RSI 用 Gemini 3 Pro 只调 317 次
- 结果:六个留出数据集上的平均运行时间,后者更低
换成 Gemini 3 Flash 也是同样的故事:
- 1879 次对固定策略的 3200 次
- 结果更好
- 发现的求解器在六个数据集上全部赢过 sklearn 和 glmnet
值得一看的是它实际发现的求解器:强规则筛选 + 柯西-施瓦茨不等式驱动的 KKT 剪枝,只在界无法排除某个特征时才重算精确梯度。这已经不是”调参”了,是真正的算法工程。
数学优化:三个任务
| 任务 | Dream-RSI | 说明 |
|---|---|---|
| 和差问题 | 1.145427 | 超过 SimpleTES |
| 圆填充 | 2.635983 | 追平含 AlphaEvolve 在内的最好成绩 |
| 自相关不等式 | 略低 | 但 SimpleTES 烧了 51200 次,Dream-RSI 不到 1000 次 |
数学优化这边,省 50 倍以上预算是常规操作。
GPU 核函数:KernelBench
KernelBench 四个任务上的表现:
| 任务 | 同等性能 | 同等预算 |
|---|---|---|
| VGG16 | 少花 2.43 倍 生成次数 | — |
| LayerNorm | 少花 1.79 倍 生成次数 | — |
| ConvDiv | — | 性能高 2.09 倍 |
| ConvMax | — | 性能高 1.44 倍 |
这一条也侧面印证了一个事实:对 GPU 算力的极致压榨,本身就是 AI 工程化的主旋律。相关的工程实现思路,可以参考 AirLLM 分层流式加载技术解析。
注意区分两个口径:
- “同等性能少花” = 在达到相同性能时,生成次数更少(省钱)
- “同等预算性能高” = 在生成次数相同时,性能更好(提升)
两个方向同时成立,这件事本身就很硬。
六、最反常识的实验:经验总结反而拖后腿
论文里我最喜欢的实验,藏在第五章。
一个非常自然的想法:把历史经验总结成几句洞见,写进提示词里指导下一段搜索。
做 prompt 工程的同学都会这么干吧?
实验结果反过来:不管固定策略还是 Dream-RSI,加了语义引导的版本,同等预算下全部跑输不加引导的版本。
原因也直接:长程发现是多线程并行探索,提示词里的方向性建议会把搜索空间提前锁死,多样性没了。
直觉上,经验总结是财富。实验告诉你它可能是枷锁。
这一条对做 agent 开发的人尤其重要——你的系统里有没有类似的经验注入?如果有,先量一下它是不是真的在帮你。
还有一组细节追踪了探索策略一轮一轮的演化。在 ConvDiv 任务上:
- 性能从 0.427 一路涨到 1.898
- 同时,每轮评估的尝试次数从 110 降到 50,到了性能平台期又回升到 92
这个策略没有变得更贪心,也没有变得更保守。它学到的是一种节奏:
有进展的时候省着花,卡住了就加大投入。
这个行为没有人写进去,是它自己在回放里试出来的。一个调度策略自己学会了”顺的时候省钱,不顺的时候烧钱”——这比很多团队的手工调度都聪明。
七、跟上一篇路线图放在一起看
把两篇论文放在一起,故事就完整了:
- 上一篇:RSI 分五级,终极目标 L5 是”改进改进机制本身”,给你坐标系和山顶在哪
- 这一篇:Dream-RSI 在元探索这一层,真的把 L5 的环路跑通了一小段
上一篇引用工业实践证明方向存在;这一篇直接给出代码、提示词和发现的完整程序。
两篇相隔四天挂出——9 月 10 日和 9 月 14 日。这个领域从讨论概念切换到证明能跑,速度比我们想的快。
八、独到之处:把历史从只读文本变成可执行资产
如果 Dream-RSI 的独到之处只说一个,我选这个:
它把历史从只读文本变成了可执行资产。
以前的系统怎么用历史?
- 塞进上下文当背景材料
- 或者拿去微调权重
两种用法都只拿走了历史的内容,丢掉了结构。
Dream-RSI 把结构本身用起来了:决策点、分支、结果全部保留,组成一个可以反事实查询的世界。
它换来的是离策略评估(off-policy evaluation)能力。这在 agent 领域极其稀缺:
- 训练模型有离策略评估(SARSA、TD(λ) 一整套)
- 调 agent 策略基本没有,因为环境太贵
但你的环境早就被你自己记录下来了,只是没人把它当模拟器用。
九、硬边界:这套思路不能做什么
公平起见,Dream-RSI 不是万能药。它有几个硬边界:
- 只能回放历史真的走过的地方。一个全新的搜索方向,树里没有,就模拟不出来。
- 做梦永远替代不了上线。它只是让你上线得更聪明。
- 依赖便宜可靠的自动评估器。没有这个,整套框架跑不起来。
- 自相关那项还是 SimpleTES 最好,虽然代价是 50 多倍预算。结构搜索不是万能的。
但方向是清楚的:探索策略会变成 agent 系统里新的优化对象,就像当年从手调特征 → 手调架构 → 自动搜架构(NAS)一样。
模拟器池也有扩展空间:多任务共享历史,跨项目复用世界。
十、给你的三条直接可搬的思路
落到我们自己的工作上,三个可以直接搬的思路——不管你做不做算法发现,只要你的系统里有搜索、有调度、有试错循环,这套思路就成立。
思路一:先记录,后优化
把 agent 系统的每次决策和结果结构化存下来:
- 树形结构
- 每个节点带完整快照
- 决策点、分支、结果都保留
没有这份数据,一切自改进免谈。
这一条是最容易被忽略的。很多团队日志只记 ERROR,或者只记”完成任务”这种二值结果。日志不该再是排障时才想起来的废料,它是自我改进的燃料。
想从”底层架构”层面理解为什么”结构化历史”对 agent 系统这么重要,可以回顾一下 AI 大模型底层运行机制 中的”KV 缓存”那一节——结构化数据对推理路径的影响,本质上是同一回事。
思路二:把策略和 agent 分开
策略是一层薄薄的、可替换的代码,干活的 agent 不动。这样才能安全地做策略实验。
这一条的工程意义极大:改策略不会污染主流程。你甚至可以让几个策略并行跑同一份历史,横向对比,谁好谁上。
思路三:评估能离线就离线
能用历史回放回答的问题,就别花真钱在线试。
- 调度策略?在历史里回放。
- 提示词模板?在历史里回放。
- 检索召回阈值?在历史里回放。
三条合起来,就是一个穷人版的 Dream-RSI。 你不需要 Gemini 3 Pro,不需要十万次生成,只要你愿意把历史结构化、把策略外置、把评估离线。
十一、最后:RSI 不会一夜到来,但会比你想的快
我的判断是,递归自我改进不会以科幻电影里一夜奇点的方式到来。
它会以这种方式到来:
某个周二,有人把搜索策略的改进也自动化了。效率数字悄悄翻倍,然后变成所有系统的标配。
到那天你会发现:你今天设计的日志格式,决定了你的系统明天能不能自我改进。
听起来有点玄,但 Dream-RSI 这篇论文已经把这件事从”愿景”拉到了”工程”。剩下的问题不是”能不能做”,而是”你愿不愿意从今天开始,把历史结构化、把策略外置“。
这两周 RSI 圈讲了一个完整的故事:一篇说这条路必须走,一篇说第一步已经落地。
你是看完继续写 ERROR 日志,还是看完回去改日志格式,取决于你自己。
参考资料:
- Dream-RSI 论文:arXiv 2609.14858
- 项目主页:dream-rsi.com
- 上期 RSI 路线图论文:可在 arXiv 检索”RSI Roadmap”
- 配套视频解读:@whycallqq - 给AI喂经验总结反而更差?谷歌实测Dream-RSI论文解读