
Agent 必须通过“做梦”来实现递归自我改进,而历史,就是它梦境的世界。
递归自我改进(Recursive Self-Improvement,RSI)正成为自主 Agent的重要发展方向之一。在这一范式下,Agent 提出候选方案,评估执行结果,根据反馈继续修改,再将更好的结果用于下一轮发现。
然而,当 Agent 在长程任务中执行的搜索多达数百乃至数千轮时,决定其效率的已不只是单次生成能力,还包括如何分配探索资源,选择哪些方向、保留哪些分支、并行多少尝试,以及何时停止。
现有系统大多采用人工设计且基本固定的探索策略,一旦搜索空间扩大后,这些策略很难根据已有经验调整,可能持续把算力投入低价值方向;在线优化探索策略也是一个讨论较多的方向,但其判断一个策略是否有效,通常要等它完成一段长程探索,而元策略空间本身又非常大,大量候选策略必须经过实际运行才能比较,既昂贵又滞后。
为应对这些挑战,谷歌团队及其合作者提出了Dream-RSI,一个用于可扩展、递归自我改进探索的框架。
他们的关键洞察在于,累积的发现历史可以充当针对已实现搜索空间的回放模拟器。通过在由历史发现树构建的回放模拟器中进行“做梦”(dreaming),Dream-RSI 获得即时、低成本的异策略反馈,用于评估和改进探索策略,而无需进行重复且昂贵的在线评估。

论文链接:https://arxiv.org/pdf/2609.14858
在算法工程、数学优化和 GPU kernel 工程领域,Dream-RSI 取得了有竞争力或更优的发现质量,同时在多个设置下大幅降低了发现成本。
研究方法
Dream-RSI 首先将探索过程转化为一个显式、可编程的控制问题。研究团队在原有 coding Agent 之上增加了一层轻量级编排机制,由探索策略决定从哪个已有结果继续尝试、何时开启新的搜索分支、同时运行多少条分支,以及何时终止当前搜索。底层 coding Agent、评估器和执行接口均保持不变,变化集中在探索策略本身。
这种设计将系统区分为两个层次。对象层负责解决具体任务,例如改进 Lasso 求解器、构造数学解或优化 GPU kernel;元层则负责决定如何搜索这些候选方案。过去的系统通常将主要资源投入对象层,持续优化具体结果;Dream-RSI 则尝试直接优化元层的探索行为。
一次在线探索会形成一棵结构化的发现树。树中的每个节点对应一次候选方案的生成与评估,并记录搜索分支、决策位置、执行结果、评估反馈和计算成本等信息。Agent 可以沿着当前思路继续优化,也可以从根节点重新开启一个方向。经过多轮搜索,这棵树会保留下 Agent 实际走过的路径,包括成功改进、性能退化、实现错误以及已经陷入停滞的方向。
同时,这棵发现树可以作为一个经验性的重放模拟器。它与基于模型的强化学习(RL)和世界模型(World Model)存在相似之处。Agent 第一次在真实环境中探索时,需要承担完整的交互成本;当路径和结果被记录下来之后,后续策略就可以直接在这张“地图”上规划,无需重新访问所有位置。

图|重放模拟器。
不同的探索策略可以在同一棵历史树上形成完全不同的重放轨迹。有的策略优先深入当前最佳分支,有的策略更早开启新的搜索方向;有的策略将多个尝试组成并行批次,有的则在较少步骤后停止。只要对应节点已经存在于历史树中,系统就可以直接读取保存的执行结果,无需重新调用 coding Agent,也无需再次运行评估器。
因此,一次成本较高的在线发现过程,可以支持大量低成本的异策略(off-policy)评估。探索策略获得反馈的时间也随之缩短,无需等待新一轮长时程运行完成,而是可以直接从历史记录中获得结果。研究团队将这一过程称为“做梦”:在将策略部署到真实环境之前,系统先在由历史构成的世界中模拟不同选择。

图|Dream-RSI 概述。
Dream-RSI 由三个连续阶段组成。第一阶段是在线探索,由当前策略控制 coding Agent 扩展发现树,并保存完整轨迹;第二阶段是模拟器构建,系统将新的发现树加入历史集合,形成持续扩大的重放模拟器池;第三阶段是基于“做梦”的策略改进,多个候选策略在模拟器池中接受比较,系统根据重放反馈调整探索行为,并选出新的策略版本。
改进后的策略随后返回在线环境,驱动下一轮真实发现。新的在线结果会进一步扩充模拟器池,使下一轮离线比较能够覆盖更大的搜索区域。由此,Dream-RSI 形成了“在线收集历史、离线重放评估、重新在线部署”的循环,探索策略也在这一过程中持续迭代。
这种历史利用方式与直接总结经验并写入 Prompt 有明显区别。Prompt 级方法通常将历史压缩为“下一轮应该关注哪些方向”的语义建议,容易引入较强的先验偏置。Dream-RSI 则保留历史中的分支结构和实际结果,让策略通过交互式重放判断哪些路径值得继续。历史被保留下来,成为一个可以反复试验和比较的环境。
实验结果
研究团队在算法工程、数学优化和 GPU Kernel 工程三个领域对 Dream-RSI 进行了评估,并采用 Recursive Fixed Exploration 作为受控基线。两种方法使用相同的 discovery Agent、评估器、初始化策略和资源约束,区别在于后续轮次的探索方式,固定探索策略保持不变,Dream-RSI 则根据历史回放持续调整探索策略。
1.算法工程
在 Lasso 正则化路径求解任务中,他们使用了 17 个合成实例进行发现,并在 6 个保留的下游数据集上测试了泛化能力。结果显示,Gemini-3.1 Pro + Dream-RSI 将平均运行时降至 2931.0 ms,优于固定探索策略的 3587.1 ms,同时调用次数减少 233 次;Gemini-3.7 Flash + Dream-RSI 以 1879 次调用取得 2350.6 ms 的平均运行时,同样优于固定探索策略的 2516.7 ms,而调用次数从 3200 次降至 1879。
另外,Dream-RSI 在这一任务上还展现出了较高的计算效率。作为对比,Gemini-3.1 Pro + Dream-RSI 仅需317次 discovery Agent 调用,就获得了更低的平均下游运行时间,调用预算约减少 162 倍。作为对比,SimpleTES 需要进行 51200 次生成。
此外,Dream-RSI 发现的求解器在 6 个保留下游任务上的表现均优于 sklearn 和 glmnet 的标准实现。

图|Lasso 正则化路径探索发现结果。
2.数学优化
数学优化实验设计和差集问题(Sum-Difference)、圆堆积(Circle Packing)和自相关不等式(Autocorrelation Inequalities)三项任务。Dream-RSI 与固定探索均使用 Gemini 3.1 Pro,运行 10 轮递归发现。
在和差集问题上,Dream-RSI 得分为 1.145427,高于固定探索的 1.144047 和 SimpleTES 的 1.143975;在圆堆积任务上,Dream-RSI 取得 2.635983,与对比方法中的最佳结果持平;在自相关不等式上,Dream-RSI 得分为 1.456375,保持竞争力,但低于固定探索和 SimpleTES。
他们强调,Dream-RSI 在这些数学任务中使用的生成次数低于1000次,明显低于 SimpleTES 的 51200 次。

图|在数学发现任务上的性能对比。
3.Kernel 工程
在 KernelBench 的 GPU Kernel 工程实验中,他们测试了 VGG16、LayerNorm、ConvDiv 和 ConvMax 四项任务,候选 kernel 先通过数值正确性检查,再以运行时间倒数衡量性能。
Dream-RSI 在 VGG16 和 LayerNorm 上,分别以 2.43 倍和 1.79 倍更少的生成次数达到与固定探索相近的性能;在 ConvDiv 和 ConvMax 上,在相近发现预算下,其性能分别达到固定探索策略的 2.09 倍和 1.44 倍。

图|GPU kernel 工程结果。
进一步分析显示,把历史直接压缩成 Prompt 中的方向性建议,并不一定能帮助长期探索。在 ConvDiv 任务上,加入显式语义指导后,固定探索、Dream-RSI 的性能都低于未加入指导的版本。
他们认为,在多分支并行探索中,过强的方向性偏置可能会过早收缩搜索空间,反而抑制探索多样性。

图|在 ConvDiv 上的发现性能。
此外,Dream-RSI 的探索行为也会随阶段的变化而变化。在 ConvDiv 的多轮实验中,系统的单轮最佳性能从 0.427 提升到 1.898,探索尝试数则从前两轮的 110 次,逐步下降至第 4 轮的 50 次,当性能增速放缓后,系统又将探索量提升至 80 至 92 次,并继续获得性能增益。
这表明其策略并非持续扩大搜索,而是在已有进展较好时节省计算,在进展停滞时重新增加探索力度。

图|ConvDiv 上探索行为的演化。
随着自我改进的目标不断变难、搜索空间不断扩大,这种先在模拟器中“做梦”、再上线探索的编排方式,为自主 Agent 的持续进化提供了一条绕开昂贵在线试错的路径。







