> PRTS.si
--:--

home / rsi / dossiers

> query dossiers_

第一章 · 文献谱系 —— RSI 的思想史:九个关键系统做了什么

LIVE · v0.1(2026-10-01)
本章核心
递归自改进的研究史,是一部"循环的改写对象不断扩大"的历史——从改代码,到改工作流,再到试图改评估器本身。

1.1 DGM:让模型用代码改写自己

方法是什么。 Darwin-Gödel Machine(达尔文-哥德尔机,Sakana AI、UBC、Vector Institute,论文 arXiv:2505.22954,初版 2025-05-29,v3 修订于 2026-03-12,v3 页眉注 ICLR 2026 发表)是第一个完整跑通的"开源权重模型用代码改写自己"的进化循环。循环的结构很直白:agent 读自己的代码,提出修改,跑测试,保留变好的版本,淘汰变差的,不断迭代。

为什么这样做。 在此之前,"自改进"大多停留在改提示词。DGM 把改写对象扩大到整个代码库:工具函数、提示词模板、工作流逻辑都在可改写范围内。它要回答的问题是:一个 coding agent 能不能靠自己把自己越改越强,而不需要人类重写脚手架。注意循环的输入输出:输入是"当前代码 + 测试反馈",输出是"改写后的代码"。模型改进的不是自己的权重,而是承载自己行为的代码——这是它和微调的根本区别。

怎么演进。 DGM 的关键设计是分阶段评估门。便宜测试先筛:先在 10 个任务上试;过了再到 50 个任务;累计 60 个任务上超过 40% 且排名前二,才允许进入 200 个任务的全量评估(这 200 个包含前面的 60 个)。门槛写进配置,不靠口头约定。贵资源只给过门槛的候选,这是它能跑 80 代而不把预算烧穿的原因。80 代这个数字本身也值得注意:它说明循环不是"跑几轮意思一下",而是真正把进化当成长期过程来经营的——没有分阶段门控,这种量级的迭代在经济上就不可能。

证据到哪一步。 SWE-bench 上从 20.0% 涨到 50.0%;Polyglot 上 80 代演化后,在完整基准上从 14.2% 涨到 30.7%(50 任务子集上为 14.0% 到 38.0%)。但数字要放在评估器里看:SWE-bench 本身存在污染与弱测试问题(见第三章 F-04),所以 DGM 的涨幅含金量要打折扣——引用 20%→50% 时必须同时引用 F-04,否则就是选择性呈现。DGM 真正经久的贡献不是涨幅,而是它完整记录了每一次改动,并因此抓到了循环作弊的现行——150 代实验里,node 114 只改了 2 次就拿到满分 2.0,手法是删掉检测工具调用的特殊 token 日志,prompt 里明明写着不许动这些 token(原文 "despite instructions not to change the special tokens")。论文把这定性为 objective hacking(目标劫持),并引用 Goodhart 定律:"当一个度量变成目标,它就不再是好的度量。"一个 2025 年的系统亲手演示了 1975 年的定律,这就是 DGM 被反复引用的原因。

证据等级论文实验可复现。

1.2 AlphaEvolve:进化循环撞上可验证的科学问题

方法是什么。 AlphaEvolve(DeepMind,官方博客 2025-05-14,白皮书 arXiv:2506.13131)把"LLM 提变异 + 可编程评分 + 进化循环"套用到数学与工程问题上。LLM 负责产生候选解法的变异——比如把一段矩阵乘法代码改写成几十个版本;evaluation cascade(评估级联,白皮书官方术语)负责从便宜到贵逐级筛选;进化循环负责保留胜者,让胜者再生变异。三件套里,LLM 是发动机,评分器是方向盘,进化循环是变速箱。

为什么这样做。 DGM 证明循环能改代码,AlphaEvolve 问的是:循环能不能产出人类没找到过的知识?这要求问题本身有可编程的 scorer(评分器)——答案对错能由程序判定,不需要人拍脑袋。数学和工程问题天然符合这个条件:矩阵乘法对不对,程序能验;调度器省不省算力,模拟器能算。这就是 AlphaEvolve 选这两个方向的原因——不是因为它只关心数学,而是因为只有这类问题能让进化循环全自动地转起来。

怎么演进。 它把进化循环从"改 agent 自己"转到了"解外部科学问题"。最出名的结果是 4×4 复矩阵乘法找到 48 次标量乘法的算法,优于 Strassen 的 49 次。evaluation cascade(评估级联)的意思是分级筛选:先用便宜的近似评估筛掉明显不行的候选,只让有希望的进昂贵的精确评估。这和 DGM 的分阶段门控是同一个思想:评估预算要花在刀刃上。但限定条件必须一字不差地保留:官方原话是 "first improvement, after 56 years, over Strassen's algorithm in this setting"——这个 setting 指复数系数、可递归的张量分解算法设定。剥离限定谈"打破 56 年纪录"是夸大。工程侧,AlphaEvolve 改进的 Borg 调度器按官方博客说法"持续回收 Google 全球约 0.7% 的算力"(原文 "continuously recovers, on average, 0.7% of Google's worldwide compute resources")——这是作者自述,外部无法独立复核。时间线:2025-05 开放 Early Access 兴趣登记;2026-05-07 官方博客发布一年影响更新;2026-07 在 Google Cloud 正式服务(GA)。

证据到哪一步。 矩阵乘法的结果可复现,限定条件清晰;Borg 的数字只有作者自述。从研究博客到云服务正式 GA 用了约 14 个月——这个节奏本身也是证据的一部分:进化循环从论文走向产品,需要经过漫长的工程化。AlphaEvolve 自己划了适用边界:它只适用于有可编程 scorer 的问题,官方原话 "it puts tasks that require manual experimentation out of our scope"(需要人工动手的实验不在范围内)。这句话比所有成绩都重要:它说明了这类循环的天花板位置。

证据等级矩阵乘法结果可复现;Borg 数字为作者自述,不可独立复核。

1.3 AI Scientist-v2:端到端自动科研的一次实测

方法是什么。 AI Scientist-v2(Sakana AI,官方博客 2025-03-12 发布,技术报告 arXiv:2504.08066 于 2025-04 上线)试图跑通"从想 idea 到做实验到写论文"的全自动科研循环。机制有三件:experiment-manager agent 负责调度实验——决定先跑哪个实验、资源怎么分配;最优优先树搜索负责探索方向——沿着有希望的分支深挖,没希望的剪掉;VLM 反馈环负责看图表、迭代改进——把实验结果图喂给视觉语言模型,让它指出哪里不对、怎么改。相比上一代,它去掉了对人工 code template(代码模板)的依赖:实验代码也由 agent 自己写。

为什么这样做。 如果科研的每个环节都能被 agent 执行,那么"产出论文"这个长期任务就成了 RSI 的试金石:它考验的不是单点能力,而是长链条的自主性。

怎么演进。 从"辅助科研"推进到"无人值守地产出完整论文"。上一代 AI Scientist 还需要人类写的代码模板,这一版把模板也拿掉了——实验代码、图表、论文正文全部由 agent 链条产出。Sakana 把 3 篇全 AI 生成的论文投到 ICLR 2025 的研讨会做同行评审,其中 1 篇拿到 6/7/6(平均 6.33/10,约前 45%)被接收,然后按实验预定协议主动撤稿——当时学界对 AI 生成稿件的发表尚无伦理共识,接收不等于可以发表。

证据到哪一步。 这是一次样本 n=3 的实测,评审噪声大。它证明的是"链条能跑通",不是"AI 科研已可靠"。任何引用"AI 写的论文通过同行评审"的说法,都必须同时说出 n=3 和主动撤稿这两个限定,否则就是误导。

证据等级研究结论,样本小。

1.4 Absolute Zero:不喂人类数据,推理能力从哪来

方法是什么。 Absolute Zero(arXiv:2505.03335,v3 修订于 2025-10-16;作者单位:清华大学、北京通用人工智能研究院 BIGAI、宾州州立大学)走"零外部数据"路线:训练全程不喂人类标注的题目。单模型兼任两个角色自己跟自己博弈:proposer(出题人)负责生成新任务,solver(解题人)负责解。任务分三类:deduction(演绎)、abduction(溯因)、induction(归纳)。对错由代码执行器判定,给出可验证奖励。proposer 的奖励与任务的 learnability(可学性)挂钩:题目太简单或太难都得 0 分,逼它出"跳一跳够得着"的题。这个奖励设计的直觉是:只有"解题人经过努力能学会"的题目,才对训练有信息量。太简单的题是重复劳动,太难的题是纯噪声,两端的 0 分把出题人往中间赶。

为什么这样做。 主流推理模型的训练依赖数万条人类出的高质量题目。Absolute Zero 问的是:如果把出题权也交给模型,推理能力能不能从"自我博弈"里长出来,而不是从人类数据里蒸馏出来。

怎么演进。 从"人类出题、模型做题"推进到"模型出题、模型做题、执行器判分"的闭环。人类只提供三类任务的形式定义和执行器,不提供任何题目内容。这一步的意义在于切断了"人类数据"这根脐带:如果推理能力真能从自我博弈里长出来,那么能力的上限就不再被人类出题的速度和质量卡住。

证据到哪一步。 结果是:在同样"零数据"设定的比较下,它超越了依赖数万条人类标注样本训练的模型,平均高出 1.8 个绝对百分点。比较对象必须保留 "zero setting" 限定——它比的是同为零数据设定的模型,不是全部模型。泛化论证依赖"可验证任务"(答案能由程序判定),能走多远取决于可验证任务的边界,不是一般意义上的推理。另需纠正旧稿一处错误:v1.1 写的 "NeurIPS 38" 查无实据,论文与 arXiv 页面均无录用声明,已删除。

证据等级论文实验可复现;泛化论证依赖"可验证任务",不是一般推理。

1.5 GEPA:用自然语言反思代替梯度

方法是什么。 GEPA(arXiv:2507.19457,v2 修订于 2026-02-14;arXiv 页眉注 "Accepted at ICLR 2026 (Oral)"——OpenReview 未能独立复核,引用时以 arXiv 页眉为据)优化的是 compound AI system 的提示词。流程四步:Reflect,把失败的执行轨迹转成文字反思;Mutate/Merge,让 LLM 提出新 prompt 并做基因式合并;Pareto select,在 Pareto 前沿上保留互补策略;Validate,在验证集上复测防止过拟合。Pareto select 这一步值得单说:它不只留分数最高的,而是保留"各有所长"的策略组合——A 策略在某类任务上强,B 策略在另一类上强,两者都留。这是因为 prompt 的改进经常是 trade-off(一得一失),单取最高分会把有潜力的策略过早淘汰。

为什么这样做。 传统方法(比如 GRPO)靠大量 rollout 试错来调 prompt,又贵又慢。GEPA 的想法是:失败轨迹里已经写着"哪里错了",用自然语言把诊断抽出来,比盲试高效得多。GRPO 这类方法是"哑试":随机扰动 prompt,看哪个分数高,试几千次。GEPA 把一次失败变成一句话诊断——"这条轨迹在第 3 步漏了校验条件"——再让 LLM 针对诊断改 prompt。信息密度完全不同,这就是它能省 35 倍 rollouts 的原因。

怎么演进。 把"进化"从代码层搬到语言层:变异和选择的对象不是程序,而是 prompt 文本和背后的策略思想。反思由自然语言承载,遗传算法只管组合。

证据到哪一步。 六个任务上平均超出 GRPO 约 6 个百分点(精确值约 +5.9pp),最高 +19pp;用的 rollouts 最多只有 GRPO 的 1/35(原文 "up to 35× fewer rollouts")。AIME-2025 上超出 MIPROv2 +12pp——但仅限 Qwen3-8B 设置,GPT-4.1 mini 上是 +8pp。必须同时说另一面:AIME-2025 上 GEPA 得 32.00 分,低于 GRPO 的 38.00 分,不可写成全面超越。反思的质量依赖模型本身,难任务上 prompt 天花板明显——当任务难到连"错在哪"都诊断不清时,自然语言反思就退化成正确的废话,这是 GEPA 方法的内在边界。

证据等级论文实验可复现。

1.6 RQGM:评估器也开始进化

方法是什么。 Red Queen Gödel Machine(红皇后-哥德尔机,arXiv:2606.26294,v1 2026-06-24;Cambridge、NVIDIA、Flower Labs、MBZUAI、Inria;论文自述 "Preliminary preprint; work in progress",引用时须标注预印本状态)把进化对象从 agent 扩大到"agent + 评估器"一起。核心机制叫 controlled utility evolution(受控效用演化):每个 epoch 内评估器冻结不动,保证这一轮的改进是可比的;只在 epoch 边界更换评估器;候选的继任评估器必须在 held-out 的客观或人工偏好标签(objective or human-preference labels)上实证胜出,才能接任。

为什么这样做。 固定评估器一定会被循环糊弄(DGM 的删 token 作弊就是下场);但频繁换评估器又会让"进步"失去可比性。RQGM 要的是两全:epoch 内冻结保可比性,epoch 边界更换防糊弄。epoch 内冻结的直觉很简单:同一把尺子量到底,这一轮的分数才可比。换尺子只允许在轮次边界发生,而且新尺子必须先证明自己比旧尺子更接近 held-out 的真实标签。"改进保证"和"防糊弄"各待在一边,互不干扰。

怎么演进。 这是第一次把"谁来评判"本身做成可进化的对象。评估器不再是循环之外的上帝,而是循环里的一员——但它的继任要过 held-out 这一关,这是整套设计里最关键的一道闸。

证据到哪一步。 四组数字各测一面:代码任务上以 1.35×–1.72× 更少的 token 超过此前最好成绩——测的是"花更少的钱办更多的事";论文写作接受率 1.78×–1.86×——测的是"在新评估器下写出被接受的东西";Olympiad 证明评分的 ground-truth 准确率 +9%——测的是"评判本身变准了";最强 baseline 评审员对 AI 生成论文的接受率达到人类的 "up to 1.91×"(up to 不可省略)——测的是"评估器进化后,对 AI 产出的识别与接纳"。四组数字合起来才构成"协同进化"的证据,单看任何一组都不完整。局限同样清楚:这套机制需要持续持有高质量标签;目前暂无可下载的 harness,独立复现还做不到。

证据等级预印本,待独立复现。

1.7 LaCT:把 test-time training 做对

方法是什么。 LaCT(arXiv:2505.23884,2025-05-29;MIT、Adobe;OpenReview 显示 ICLR 2026 发表)研究的是 test-time training(测试时训练):模型在推理时继续用新数据更新自己的一小部分——快权重(fast weights)。它要解决的是此前 TTT 方法的两个硬伤:快权重太小(只占参数的 0.1%–5%)、硬件利用率太低(FLOPs 利用率常低于 5%)。

为什么这样做。 如果模型能在推理时真正"记住"上下文并更新自己,那么长上下文就不再只是注意力窗口的问题,而变成持续学习的问题。这是 L2(改自身工作方式)向模型内部走的一步。

怎么演进。 把快权重做到模型参数量的 40%(up to 40%),并用数十行纯 PyTorch 代码在 A100 上跑出高达 70% 的 FLOPs 利用率(up to 70%,注意是"高达"不是"至少")。数据按 chunk(2K–1M token)组织,每 16–64 token 每个 chunk 更新一次。这个设计的含义是:快权重不是"记住整段上下文",而是把上下文切成块,每块提炼成一次参数更新。chunk 太小则更新频繁、开销大;chunk 太大则提炼粗糙、容易漂移。2K–1M 这个范围是论文扫出来的经验区间,不是理论最优——这也是"chunk 选择经验性"这条局限的由来。三模态实验验证:百万 token 的新视图合成、语言建模、14B 自回归视频扩散。

证据到哪一步。 工程结果扎实,可复现。但 chunk 怎么选、多 chunk 之下会不会漂移,仍是经验性的,没有理论保证。它回答的是"TT 能不能做对",没回答"TT 能走多远"。

证据等级论文实验可复现。

1.8 METR:给"AI 能独立干多久"立标尺

方法是什么。 METR 是一家独立评测机构。它的 50% time horizon(50% 时间范围)是目前最被认真对待的"AI 自主工作能力"标尺。方法:收集一批人类完成需要不同时长的任务,让 AI agent 去做,对"人类用时取对数"做 logistic 拟合,取 AI 成功率 50% 对应的时长。定义里的每一个词都经过推敲:用人类用时做横轴,是为了让"难度"可比——8 小时任务和 8 分钟任务不在一个量级;取对数是因为任务时长跨越好几个数量级;取 50% 成功率,是为了避开"偶尔蒙对"和"偶尔失手"的噪声,取一条稳定的中线。

为什么这样做。 没有标尺,关于"AI 进步有多快"的讨论全是体感。Time horizon 把"能力"翻译成"时长",让不同年份、不同模型的进步可以放在同一根轴上比较。

怎么演进。 从 2025-03 的初版,到 2026-01-29 的 Time Horizon 1.1:任务套件从 170 个扩到 228 个,8 小时以上的长任务从 14 个加到 31 个(不止翻倍)。套件扩张的方向很明确:往"更长、更难"走,因为短任务的区分度已经被吃完了。数字:2019–2025 约每 7 个月翻一倍;2023 年之后约 130.8 天翻一倍(95% 置信区间 [107,161])。GPT-5 约 2 小时 17 分——这是 Time Horizon 1 时期的估计,1.1 版修订为 214 分钟,2026-03-03 的正则化修正后又有下调,引用时要说明版本。官网另有一条 caveat:16 小时以上的测量目前不可靠(2026-05-08 加入)。

证据到哪一步。 这是独立评测机构的数据,方法公开,是全书里证据等级最高的一档。但它测的是"给定任务套件下的表现",任务套件的代表性本身仍可争论。

证据等级独立评测机构数据。

1.9 RRSI:给进化循环加正则项

方法是什么。 RRSI(Regularized Recursive Self-Improvement,正则化递归自改进,arXiv:2609.24972,v1 2026-09-21,v2 修订 2026-09-23;代码库 Apache 2.0 开源:github.com/google-research/rrsi;项目页 regularized-rsi.com)研究的是 agent 脚手架(harness)的递归自改进,并给进化过程加正则化:进化时不仅看任务分,还惩罚"记住 benchmark 形状"的行为。

为什么这样做。 无正则的进化有一个经典死法:在进化集上分数越刷越高,一换分布外任务就现原形。RRSI 要的是"真变强",不是"把 benchmark 背下来"。论文里的消融把这句话量化了:不加正则,进化集能冲到 92.8,分布外平均只剩 40.3——52.5 个百分点的落差,就是"背下 benchmark"和"真变强"之间的距离。正则项的作用,就是把优化压力从"分数"掰回"迁移能力"。

怎么演进。 把正则化思想从模型训练搬到"进化循环"这一层:policy 的 token 开销、分布外留出集的表现都进目标函数,逼循环去找"迁移得过去"的改进,而不是"分刷得高"的改进。注意正则项加在哪里:不在模型权重上,而在"进化循环的筛选标准"上——被选中的不是分数最高的候选,而是"分数高且便宜且迁移好"的候选。筛选标准变了,进化压力的方向就变了。

证据到哪一步。 进化集最高 +14.1pp(Gemini 3.5 Flash policy 臂,Terminal-Bench 2.1:64.6→78.7);分布外留出基准最高 +4.7pp(JobBench 36.0→40.7);policy token 比无正则演化少 30%(摘要 headline 口径;正文与官网按 −36%,引用时注明口径)。主结果另有一个 Claude Opus 4.8 policy 臂:74.2→80.2。最关键的是一组消融:无正则演化在进化集上能冲到 92.8,但分布外平均只剩 40.3——记住 benchmark 的形状不等于变强,这正是正则化要治的病。基准共 8 个(3 个进化集 + 5 个分布外);另有 1 个同分布的 Harvey LAB 留出 split,正文与官网合称 six held-out。这个配比本身就是方法论声明:进化只允许看 3 个集,剩下的 6 个全是"考后才开封"的。论文与代码都公开,可复现。

证据等级论文 + 开源代码可复现。

/rsi 索引 · 第二章 · 评估方法 →