最近两周 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 这套工程方案本身,以及它对写代码的人到底有什么用。

相关阅读

一、Dream-RSI 在解决什么问题

论文解决的问题非常具体:在算法发现这类长程任务里,让 AI 的探索策略自己进化。

注意这里的措辞。它没动模型权重,也没动底层的编码 agent。它改的是更上面一层:搜索策略本身。

这跟主流做法完全不同。像 AlphaEvolve 这种发现系统,工作方式是这样一个循环:

  1. 提候选方案
  2. 跑评估
  3. 看反馈
  4. 再继续

这个循环一跑就是几千轮。每一轮往哪里搜、搜几个方向、什么时候放弃,谁来决定?

主流做法:靠工程师手写的固定策略。

这个做法有两个硬伤:

  • 固定策略学不会吸取教训。失败过的方向,还会一次次把钱烧进去。
  • 想在线优化策略也不行。评估一个策略好坏,你得看着它跑完一整轮发现,反馈又慢又贵。

搭过 agent 系统的人应该对这种感觉不陌生——调度逻辑写死,改起来战战兢兢,不调又眼睁睁看着它浪费资源。Dream-RSI 直接把这个层面拉出来,作为新的优化对象。

二、核心洞察:发现历史本身就是模拟器

Dream-RSI 的解法,一句话能说完:

已经跑完的发现历史,本身就是一个精确的模拟器。

这个类比很贴切:你在陌生地形里探路,走了弯路、撞了死胡同,但边走边画出一张地图。下一个人不用再走一遍,他看着地图就能规划路线。

具体落到工程上,一次发现系统跑完一轮,留下的东西远超日志文本:

  • 一棵结构化的发现树
  • 每个节点是一次尝试,带着完整的执行结果、得分、代码快照
  • 新策略想知道”当时走另一条路会怎样”,不用真跑,沿着这棵树换条路径走一遍就行
  • 所有结果早就在磁盘上了

这跟强化学习里 Dreamer 系列的世界模型形成了一个漂亮的对称:

Dreamer Dream-RSI
世界模型 学出来的近似 真实执行记录
误差 有 零
执行成本 推理 零

区别在于:Dreamer 用一个神经网络去”猜”环境会怎么动;Dream-RSI 直接把真实跑过的历史当作环境本身。零误差,零成本,这是它在工程上最大的诱惑力。

三、三步循环:把闭环跑起来

基于”历史即模拟器”这个洞察,系统被分成三步循环:

第一步:在线探索

当前策略指挥编码 agent,生成新的发现树。

第二步:构建回放模拟器

跑出来的这棵树,变成可反复回放的模拟器,扔进模拟器池。

第三步:做梦式策略改进

策略开发 agent 写出多个候选策略,在模拟器池里离线回放打分。胜出的策略重新上线,跑出新的一棵树,池子又大了一圈。

1
2
3
4
在线探索 ──► 新发现树 ──► 回放模拟器 ──► 模拟器池
▲ │
│ ▼
新策略 ◄── 离线回放打分 ◄── 候选策略 ◄── 策略开发 agent

“做梦”这个名字,致敬的就是强化学习里的 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 的独到之处只说一个,我选这个:

它把历史从只读文本变成了可执行资产。

以前的系统怎么用历史?

  1. 塞进上下文当背景材料
  2. 或者拿去微调权重

两种用法都只拿走了历史的内容,丢掉了结构。

Dream-RSI 把结构本身用起来了:决策点、分支、结果全部保留,组成一个可以反事实查询的世界。

它换来的是离策略评估(off-policy evaluation)能力。这在 agent 领域极其稀缺:

  • 训练模型有离策略评估(SARSA、TD(λ) 一整套)
  • 调 agent 策略基本没有,因为环境太贵

但你的环境早就被你自己记录下来了,只是没人把它当模拟器用。

九、硬边界:这套思路不能做什么

公平起见,Dream-RSI 不是万能药。它有几个硬边界:

  1. 只能回放历史真的走过的地方。一个全新的搜索方向,树里没有,就模拟不出来。
  2. 做梦永远替代不了上线。它只是让你上线得更聪明。
  3. 依赖便宜可靠的自动评估器。没有这个,整套框架跑不起来。
  4. 自相关那项还是 SimpleTES 最好,虽然代价是 50 多倍预算。结构搜索不是万能的。

但方向是清楚的:探索策略会变成 agent 系统里新的优化对象,就像当年从手调特征 → 手调架构 → 自动搜架构(NAS)一样。

模拟器池也有扩展空间:多任务共享历史,跨项目复用世界。

十、给你的三条直接可搬的思路

落到我们自己的工作上,三个可以直接搬的思路——不管你做不做算法发现,只要你的系统里有搜索、有调度、有试错循环,这套思路就成立。

思路一:先记录,后优化

把 agent 系统的每次决策和结果结构化存下来:

  • 树形结构
  • 每个节点带完整快照
  • 决策点、分支、结果都保留

没有这份数据,一切自改进免谈。

这一条是最容易被忽略的。很多团队日志只记 ERROR,或者只记”完成任务”这种二值结果。日志不该再是排障时才想起来的废料,它是自我改进的燃料。

想从”底层架构”层面理解为什么”结构化历史”对 agent 系统这么重要,可以回顾一下 AI 大模型底层运行机制 中的”KV 缓存”那一节——结构化数据对推理路径的影响,本质上是同一回事。

思路二:把策略和 agent 分开

策略是一层薄薄的、可替换的代码,干活的 agent 不动。这样才能安全地做策略实验。

这一条的工程意义极大:改策略不会污染主流程。你甚至可以让几个策略并行跑同一份历史,横向对比,谁好谁上。

思路三:评估能离线就离线

能用历史回放回答的问题,就别花真钱在线试。

  • 调度策略?在历史里回放。
  • 提示词模板?在历史里回放。
  • 检索召回阈值?在历史里回放。

三条合起来,就是一个穷人版的 Dream-RSI。 你不需要 Gemini 3 Pro,不需要十万次生成,只要你愿意把历史结构化、把策略外置、把评估离线。

十一、最后:RSI 不会一夜到来,但会比你想的快

我的判断是,递归自我改进不会以科幻电影里一夜奇点的方式到来。

它会以这种方式到来:

某个周二,有人把搜索策略的改进也自动化了。效率数字悄悄翻倍,然后变成所有系统的标配。

到那天你会发现:你今天设计的日志格式,决定了你的系统明天能不能自我改进。

听起来有点玄,但 Dream-RSI 这篇论文已经把这件事从”愿景”拉到了”工程”。剩下的问题不是”能不能做”,而是”你愿不愿意从今天开始,把历史结构化、把策略外置“。

这两周 RSI 圈讲了一个完整的故事:一篇说这条路必须走,一篇说第一步已经落地。

你是看完继续写 ERROR 日志,还是看完回去改日志格式,取决于你自己。


参考资料: