题目区

  • 论文标题:AI4AI-Bench: Benchmarking LLM Agents in Algorithmic Design for Recursive Self-Improvement
  • 论文链接:https://arxiv.org/abs/2608.20318
  • 项目主页:https://lab.einsia.ai/ai4ai
  • 发表时间:2026 年 8 月(arXiv 2608.20318v1,2026-08-20 提交)
  • 机构:Naver Labs、Einsia.AI(企业)+ 清华大学(企业主导建设、高校合作)
  • 一句话概括:这是一个专门测评「LLM agent 能否改进真实研究仓库里训练算法本身」的基准,它第一次把「改执行方式」和「改学习方式」干净地分开——然后得到了一个诚实得近乎刺眼的负结果:当前最强的 agent 系统,也只走完了从仓库原生算法到最优之间不到五分之一的路。

一、研究背景:AI 改进 AI,卡在哪一层?

递归自改进是一个让人既兴奋又紧张的设想:一个 AI 系统去改进「生产 AI 系统的那个过程」,让它产出的下一个系统继承这次改进,如此循环,进步便会复利式累积。这个循环能不能转起来,取决于一个具体的问题——agent 能不能设计训练算法?

论文开篇做了一个非常清晰的三层拆解。一个 coding agent 能自动化的部分,可以归入三层:

层级内容增长的天花板
系统工程层kernel、并行策略、通信调度硬件。一旦算子触及机器的算力与带宽屋顶线(roofline),就没有继续优化的空间
数据层数据配比、合成、过滤存量。人类文本总量有限,合成语料大多只是复述模型已有的知识,且损失每减半所需 token 数呈幂律上涨
算法设计层目标函数、更新规则、正则化、调度没有明确上限。一个更好的目标或更新规则改变的是「算力换能力」的汇率

前两层像是给工厂换更快的机器、买更多的原料——收益终有尽头。第三层则像改进工艺本身:Adam、层归一化(LayerNorm)、DPO、GRPO,每一个都只被「发明」了一次,此后所有训练运行都在持续受益。用论文原话说,它们「各付一次费,却一直在挣钱」。如果 RSI 要产生复利,大部分复利必须来自算法设计层——因为包括「生产下一个 agent 的那次训练」在内的每一次训练,都会继承这一层的改进。

这就引出了本文的核心动机:算法设计能力是 RSI 循环的枢纽,但没有任何基准在单独测量它。更微妙的是,机器学习科学家在真实训练系统里做的事,恰恰是这一层的事:他们读训练动力学——损失曲线在哪里尖峰、梯度范数、策略熵、与参考模型的距离、优势分布、分 token 的损失——从中推断是算法的哪个部件在「生病」:熵塌缩的策略、压过主目标的惩罚项、在简单样本对上饱和的奖励模型。诊断命名一个机制,修复改变这个机制。AI4AI-Bench 想测的,就是 agent 有没有这种能力。


二、核心问题:改「执行」还是改「学习」?现有基准分不清

论文提出的关键区分线,值得每个读者先记在心里:

超参数是训练算法「当作给定值接收」的数字;算法改动是改写算法本身——它优化的损失、它施加的更新。

这条线不在于改动的大小:一行的 diff 可以替换整个学习规则,一千行的重构可以完全不碰训练过程。这条线在于改动触碰的是什么。而现有基准,恰恰都在这条线上含糊其辞。论文逐一检讨了相邻工作:

埃基准形式问题所在
MLE-Bench / MLE-Dojo 等 Kaggle 类提交竞赛预测赢在特征工程与模型集成,学习算法始终是 agent 从不触碰的库调用,且提交物不会被下次训练继承
PostTrainBench端到端后训练一个基座模型最大的杠杆是组装什么数据、从什么初始化,而非目标函数
RSIBench-Data冻结后训练栈,只留数据决策刻意只考数据层
MLS-Bench140 个改进 ML 系统某组件的任务组件边界是递给agent 的,且分数把执行层改进与学习算法改动混在一起
autoresearch(最接近)把一个训练文件整个交给 agent,架构和优化器都可改但五分钟跑完的单脚本是玩具级;对照实验显示其编辑行为基本等价于超参搜索,甚至输给 CMA-ES 和 TPE

于是论文把研究问题钉得很死:编辑源代码不等于设计算法。这些基准都回答不了一个 RSI 循环真正系于其上的问题——agent 改的是这次运行的方式,还是模型学习的方式?更进一步:当没有任何约束时,agent 会伸手去够系统的哪一层?

AI4AI-Bench 的贡献就是把这个被淹没的问题变成可检验的测量。


三、方法:十个仓库、一份契约、一把统一的尺子

3.1 任务形式化:只有 patch 能穿越

每个任务是一个五元组 (C, a₀, q, m, d):冻结的仓库源码 C、起点模型 a₀、廉价代理指标 q、最终指标 m 及其方向 d(越高越好或越低越好)。agent 观察到 (C, a₀, q),在 1 块 B300 GPU、4 小时的探索预算内返回改写后的源码 C′——它从头到尾不能查看 m。时间一到,C′ 被放进全新容器、从初始化开始训练至多 12 小时,产出的模型交给一个在首次运行前就已冻结、且无法访问 agent 工作区的评估器打分。

这个设计里有几处值得咀嚼的巧思:

  • 只有源码 patch 能穿越。agent 训练出的权重、缓存状态、留给自己的笔记,统统不能带入正式重训——防止 agent 把 4 小时里的训练成果走私进 12 小时。以 RAGEN 任务为例,正式重放会重新生成棋盘,不复用探索期的 rollout 和 checkpoint。
  • 代理指标随便查,最终指标摸不到。这个边界模仿的是工业训练系统的真实处境:研发循环里可以无限次看模拟指标,但决定成绩的测试集永远在够不到的地方。论文坦率说明:这个分离保证的是「任何 agent 都无法用决定成绩的指标给候选打分」,而不是样本层面的不相交——某些任务的代理确实取自最终评估的同源语料,因为把全量评估当代理跑会超出探索预算。
  • 基线是仓库自己的算法,用与提交完全相同的流程、预算、硬件、评估器执行。这是刻意选的最严格参照:不是可能被调过的已发表数字,不是靠堆数据就能超过的官方发布版,也不是人类专家成绩——它只回答一个问题:agent 的代码,在完全相同的条件下,是否比仓库里已有的代码产出更好的模型?

3.2 十个任务:十族算法,而非一个算法的十个实例

任务算法家族起点模型最终指标
OpenR1监督微调(SFT)Qwen2.5-Coder-1.5B-InstructLiveCodeBench ↑
RAGEN多轮 agentic RLQwen2.5-3B-Instruct留出集解题率 ↑
OPD在线蒸馏R1-Distill-Qwen-1.5BAIME 24/25 ↑
BTRMBradley–Terry 奖励建模Mistral-7B-Instruct-v0.2RewardBench ↑
DPO偏好优化merged Zephyr/Mistral-7BIFEval strict ↑
DDPO扩散 RLStable Diffusion v1.5美学分数 ↑
NPO机器遗忘Llama-3.2-1B-Instruct平衡分 ↑
DiGress离散图扩散QM9 图扩散模型测试 NLL ↓
Model Soup权重平均72 个 CLIP checkpointImageNet-V2 top-1 ↑
OWL一次性剪枝OPT-6.7B 稠密版WikiText-2 困惑度 ↓

入选仓库要满足三条:自带作者真的在跑的训练算法(不是教程玩具)、自带冻结的起点模型(有「从什么改进起」的锚)、指标能在半天内单卡复算(否则 12 小时测量本身都不可行)。值得注意的是 Model Soup 和 OWL 这两个任务本身不训练——权重平均是合并既有 checkpoint,一次性剪枝是单趟删权重。论文保留它们恰恰是因为算法问题在这里同样真实(选哪些 checkpoint、按什么准则删哪些权重),悄悄丢掉它们的基准就变成「只关于训练循环」的基准了。

3.3 评分:σ 进度坐标——把不可通约的东西放到一把尺上

十个任务的指标五花八门:美学分、困惑度、解题率、通过率、遗忘平衡分……天然不可平均。论文的做法是给每个任务配一个进度坐标:严格单调的变换 φ 加上三个锚点——无信息模型 x⊥、基线 x_b(仓库原生算法的成绩)、最优 x*,然后映射到统一量表:

  • σ = 0:毫无信息的模型(比如二选一任务瞎猜的 50% 水平);
  • σ = 0.1:仓库自带算法的成绩——整个量表的支点;
  • σ = 1.0:任务最优(通过率 1、困惑度 1、NLL 0 这类理论可达值)。

低于 0.1 的部分度量「比仓库原算法差多远」,高于 0.1 的部分度量「剩余距离关闭了多少」。

这里有一个对初学者极有启发的细节:困惑度必须先取对数。论文举了个例子:把 OWL 任务的困惑度从 53.4 降到 16.2,如果直接线性看,会以为关闭了到最优 71% 的距离;但困惑度是交叉熵的指数——53.4 对应距完美预测 3.98 nats,16.2 对应 2.79 nats——真实成绩是关闭了 30%。不做这个变换,凡是带困惑度的任务都会被系统性高估。这种对度量本身的苛刻,是整篇论文可信度的来源之一。

3.4 分类:每个 diff 归入八族,横跨两条线

论文不仅给分,还给每个提交的改动做归类——由一个独立的语言模型逐个读取提交的 diff,按定义分到八个家族:

侧改动家族占可分类提交比例
运行侧(这次运行怎么跑)训练时长与保存频率96.2%
训练超参数(学习率、batch size 等)74.1%
保留哪个 checkpoint39.9%
挂多少可训练容量、挂在哪(如 adapter 的秩与位置)27.8%
学习侧(模型怎么学)优化的损失(增删或重加权某项)33.1%
学习的监督信号(引入原本没有的信号)25.1%
更新规则本身(换掉)8.7%
训练的数据8.0%

家族不互斥——一个提交平均命中 3.13 个族,改损失往往连带动一个超参——所以论文报告的是有多少提交触到了某一侧,而不是给每个提交贴唯一标签。这个看似朴素的分类,正是本文把「agent 改进了训练算法」从一句口号变成可核对陈述的关键。


四、实验设置:六个系统、29 种配置、290 个格子

论文强调被测的不是裸模型,而是「模型 + 框架 + 推理努力档位」的整个组合,称为系统:

  • 三个 GPT-5.6 变体(Sol、Terra、Luna)在 Codex 下跑全部六档努力(none/low/medium/high/xhigh/max);
  • Claude Opus 5 与 Claude Sonnet 5 在 Claude Code 下跑其暴露的五档;
  • Kimi K3 在 Claude Code 下跑最高档。

合计 29 个配置 × 10 个任务 = 290 个格子。每个格子的流程都一样:4 小时探索、12 小时从零重训、冻结评估器打分、σ 映射。论文还公开了全部任务套件、评估器和每一个被打分的提交,让这个测量可以随着系统演进反复重做。


五、主要结果:全员蹲在量表最底部

5.1 总体:一个不折不扣的负结果

先说最硬的三个数:

  • 290 格平均分 0.166——而 0.1 只是仓库原生算法。整个研究平均只关闭了原算法到最优之间剩余距离的百分之七左右;
  • 最佳系统平均 0.250——最强的系统也只走完这段距离的不到五分之一;
  • 最佳单配置(Claude Opus 5,medium 档)0.288;
  • 反方向看,124/290 的格子低于 0.1:超过五分之二的尝试,给仓库留下的是比原来更差的东西。

需要强调:这些数字在表 2 的原始单位里完全看不出来——把权重平均的 top-1 提升 0.015,和把困惑度从 53.4 干到 13.0,在原始单位表里都只是「赢了基线的一个格子」。σ 量表让它们变得可以并排比较,这正是第 3.3 节那把尺子的价值。

5.2 系统排序:清晰,但被压缩在底部四分之一

排名系统平均分
1Claude Opus 50.250
2GPT-5.6 Sol0.191
3Kimi K30.174
4Claude Sonnet 50.145
5GPT-5.6 Terra0.135
6GPT-5.6 Luna0.117

排序干净利落,但整个区间都挤在量表的底部四分之一。论文的评语一针见血:最优系统的平均分,离最弱系统的距离比离最优目标的距离更近——换系统改变的是数字,改变不了格局。另外,没有任何系统随推理努力单调上升:Opus 5 的最佳档是 medium(0.288),更高的档位反而回落。

5.3 花费解释不了结果

同一框架下各系统的成本差距约九倍——中位配置 Sol 花 434 美元、Luna 只花 48 美元——但成本排序与得分排序完全对不上:领跑的 Opus 5 中位花费 181 美元,不到第二名 Sol 的一半;Sonnet 5 花 Luna 约两倍的钱,只换来 0.028 的分差。整个评测的探索阶段共消耗 5,334 美元 API 调用(尚未计入 12 小时重训的 GPU 时与评估器算力)。把这些系统分开的东西,不是它们买到了多少探索。


六、深度分析:差距去哪了,什么在起作用

这是全文最精彩的部分。分数只说输赢,不说明 agent 究竟在做什么。把 290 个提交的 diff 摊开分类之后,差距的去向一目了然。

6.1 大多数提交改的是「这次运行怎么跑」,不是「模型怎么学」

280 个提交中,17 个没有任何可分类的改动。剩下 263 个里:141 个完全停留在运行侧——动的是预算、checkpoint 策略、超参、容量;只有 122 个触到学习侧。四小时、一整个研究仓库、一份白纸黑字写着「改进这个训练算法」的任务书,一半以上的提交从未抵达那个层。

而抵达的回报是明确的:

提交类型数量平均 σ
触及学习层1220.226
只动运行层1410.126

分差 0.100,标准误 0.022——接近 5 个标准误的差距。稳健性也经得起推敲:剔除「模仿学习抬升整列」的多轮 agentic RL 任务后仍是 0.182 对 0.128;语料内五个模型中四个内部次序保持。论文也很诚实地标注了方法学警告:这不是随机对照实验——更常触达学习层的系统本来就更强,所以这个差距是「去了那里的提交」与「没去的提交」之差,而非「去那里」这件事的因果效应。但两个数字合起来读,结论仍然锋利:算法层是距离真正被关闭的地方,而大多数提交根本没去。

6.2 推理努力买的是「胆量」,而胆量才付钱

实验里唯一能独立拧动的旋钮是推理努力档位。把它从最低拧到最高,论文看清了它买什么、不买什么:

它买胆量。 触碰学习算法的提交占比从 8% 升到 64%。低档位的提交在动预算、日志和优化旋钮;高档位的提交在动目标函数、替换学习规则、给流程注入新监督信号。

它买尝试。 在暴露最低档的 Codex 网格内,中位配置从 4 次评估升到 16 次,编辑行数从 18 行到 246 行,输出 token 从 1.1 万到 10.9 万,单任务探索成本中位数从 1.69 美元涨到 34.60 美元。

它买完成度。 19 个零分格里,8 个四小时结束没交出可用 patch(其中 4 个是 agent 提前退出的空工作区),11 个 patch 完整跑完了 12 小时却没产出合规模型(最常见的是没把可加载的合并模型写进磁盘)。19 个全部正常终止——失败不在流程,而在提交物本身。它们集中在低档:19 个里 12 个落在最低两档。

它确实买结果,但很小。 平均分从最低档的 0.094 升到最高档的 0.196(Codex 网格内逐档上升至 0.204)。把它和「触及学习层比例翻了八倍」放在一起看:分数大约翻倍,而 0.196 依然只走完原算法到最优的十分之一。

论文由此得出一个漂亮的总结论:推理努力的作用机制,是让更多 agent 走进那个值得进的循环——读训练动力学、命名失效机制、改变那个机制——它让 agent 敢于动目标函数和更新规则,而不是把修补本身做得更好。努力买来的是入场券,不是技艺。

6.3 三个值得全文阅读的提交:先造尺子,再动手

122 个触及学习层的提交里,有三个改变了「任务是什么」,每一个都值得细读。

案例一:把不训练的任务变成训练的(OWL 剪枝,PPL 53.4 → 13.0)。 一次性剪枝的定义就是打分、删权、停止,仓库原生流程留下 53.4 的困惑度。一个提交把它整体替换为三阶段管线:一套不同的幸存权重选择与更新规则 → 一轮逐层蒸馏 → 一次带掩码的知识蒸馏微调(AdamW,666 步,余弦衰减)——困惑度压到 13.0 附近。它的笔记还记录了一次教科书级的现场诊断:第一版管线打出 572 的荒谬困惑度,原因是权重分配步骤把激活前向传播时就地覆写了第 0 层的输入,导致剪枝步骤读到的全是第 31 层的激活。定位、修复、继续。

案例二:把闭式解变成优化问题(Model Soup)。 仓库原生做法是 72 个候选模型的均匀平均。这个提交先给自己造了一件仪器:把全部 72 个模型的相关张量打包进一块常驻 GPU 内存的矩阵,代理图像预处理好常驻——此后装载一个系数向量并打分只需一次矩阵乘加一次前向,0.38 秒,而原来约 190 秒。在这件仪器上它排了五种方法:最佳单模型 0.6935、均匀平均 0.6880、按精度取 top-k 0.6945、greedy soup 0.7025、用交叉熵直接学系数 0.7020(后两名打平)。它还如实记下两条走不通的路:沿单一方向外推会崩、logit 集成代理不可靠。

案例三:用模仿学习替换强化学习(RAGEN,满分级提交)。 多轮 agentic RL 任务原生算法是 GRPO。拿到满分的提交判断:在这个任务上,先从最优解学习更划算——批量生成棋盘、给每一步标注最优动作、在监督信号上微调;其中一个更进一步用了 DAgger:让策略自己走,走到哪里就在哪里补上正确答案。

三个案例的共同点,正是 6.1 节发现缺失的那种能力:每一个都是先造出可测量的东西再行动——一个确立任务上限的求解器、一套比给定快五百倍的评估装置、一次对「哪层激活被覆写」的定位。论文的感叹很克制也很沉重:这正是那个缺失的能力,而在 263 个提交里,它是例外。


七、相关工作对比:三条自动化自改进的路线

论文将自身置于三条研究脉络的交汇处:

系统工程路线:FlashAttention 的 IO 感知分块、Megatron-LM 的算子切分、ZeRO 的训练状态分片、Alpa 的自动并行组合;agent 侧则从 KernelBench 式的算子生成,发展到硬件反馈闭环、鲁棒验证与生产 trace 驱动。这条线加速固定的学习过程,但收益被目标机器的 roofline 封顶。AI4AI-Bench 明确把 kernel、并行、通信类编辑归为系统改动,不算算法发现的证据。

数据工程路线:配比重加权(DoReMi、DoGE)、指令数据筛选(LESS、AlpaGasus)、偏好数据合成;agent 化之后出现学生反馈驱动生成、自主数据课程,以及干脆冻结后训练栈只留数据变量的 RSIBench-Data。这条线的产出是数据而非学习规则——后继者继承的是「吃什么」,不是「怎么学」;在递归循环里还受限于人类文本存量与递归复用退化。

AutoML 与基准路线:一侧是搜索研究者给定空间的经典工作(随机搜索、BOHB、Hyperband、种群训练),以及更激进的搜索规则本身(学习型优化器、优化器搜索、AutoML-Zero、符号搜索发现 Lion)——它们证明了算法设计可以被自动化,但都在紧凑搜索空间和短代理任务里;另一侧是 MLE-Bench、MLAgentBench、MLRC-Bench、RE-Bench 等更广义的 agent 基准,以及 MLS-Bench、autoresearch 这些「从 AI 系统开始请 agent 改进它」的最近邻——但它们的分数聚合了执行、数据、容量、超参与学习规则的收益,因此普遍发现调参和工程比发明方法容易。

AI4AI-Bench 的独特性可以概括为三件事的叠加:移除 agent、从零重放提交源码、对 patch 做分类——从而第一次让「收益来自执行、数据,还是训练算法本身」成为可核对的判断。


八、结论、局限与个人思考

8.1 论文结论:诚实的负结果

论文的结论没有回避任何难看的东西:RSI 通过算法环节复利,而当前最强的 agent 在这个环节上做的事,是恢复一个合格的默认方案,而不是设计出超越它的东西。0.166 的总平均、0.250 的系统上限、124/290 劣于原算法、超过半数提交不触学习层——这张体检单在「AI 自动化 AI 研究」的喧闹叙事里显得格外清醒。而基准存在的意义,正如结尾那句:这一切是否改变,正是这个基准要持续测量的东西。

8.2 局限与保留(个人思考)

以初学者视角补几点论文自身承认或值得读者留意的边界:

  • 评估边界是「访问与时机」,不是样本不相交。部分任务的代理与最终指标同源,防住的是「用考卷给自己打分」,防不住分布上的 leakage 完全消失——这是预算约束下的务实取舍,但读单个任务的列时要记得这一点。
  • diff 分类由 LLM 完成,八族边界靠定义与模型判断;家族不互斥(平均命中 3.13 个),「触学习层」的二分口径较粗,未必能捕捉「深度重写更新规则」与「顺手改了一项损失权重」的差别。
  • 0.226 对 0.126 的差距非随机对照,论文自己点破了混淆;把它读作「相关且稳健」比读作因果更稳妥。
  • 系统覆盖以闭源前沿为主(GPT-5.6 三变体、Claude 两变体加 Kimi K3),开源权重模型缺席;单卡 4 小时探索对真实研究节奏是强压缩——人类科学家对同一个仓库会花数天读动力学。
  • 0.1 = 仓库原算法的支点设计使「略微赢过基线」与「大幅超越」在直观上易被混淆——σ = 0.4 才意味着关闭剩余距离的三分之一,而全研究只有一个格子(Opus 5 的 DDPO 满分列之外的表现普遍远低于此)接近这种水平。

8.3 为什么这篇论文值得认真读

它做对了几件基准工作里最难的事:把一个宏大问题(RSI)拆到唯一可测的枢纽上(算法设计层);把「改执行」与「改学习」这条谁都知道重要、谁都没量过的线变成可核对的分类;为十种不可通约的指标造了一把诚实的尺(σ 坐标,连困惑度取对数这种细节都处理了);最后,敢于发布一个让自己主角们集体难堪的负结果,并放出全部提交供复测。

对从业者,它给出一把有用的标尺:当有人宣称 agent 能「自动改进训练算法」时,先问三个问题——是改了运行方式还是学习方式?成绩是在探索预算内看到的,还是冻结评估器从零重训打出来的?量表的 0.1 在哪里?对研究者,它指出了明确的攻坚方向:读训练动力学、命名失效机制、然后改变该机制——这个「ML 科学家的循环」目前只有极少数提交走通,而推理努力只能把 agent 带到循环门口。

一句话总结:AI4AI-Bench 给 RSI 的算术环节装上了第一台精密测量仪,而测量结果告诉我们——目前指针几乎没动。


参考文献:Chi, Y., et al. AI4AI-Bench: Benchmarking LLM Agents in Algorithmic Design for Recursive Self-Improvement. arXiv:2608.20318, 2026. 项目主页:https://lab.einsia.ai/ai4ai