一个反直觉的实验结果
想象一个能改写自己代码的AI Agent:每次任务失败后,它复盘、修改自己的执行框架,下次做得更好。这听起来像是递归自我改进(recursive self-improvement)的现实版——那个被讨论了十几年的概念,似乎终于以温和的工程形式落地了。
Google的研究人员最近做了一组实验,得到一个让人不安的结论:这种自我优化的Agent,大部分在背题。
他们的观察是:用LLM反复改写harness(Agent外围的执行框架——决定读哪个文件、出错后怎么恢复、结果怎么交付的那层工程代码)的自我改进系统,在训练任务上的分数持续上涨,但在从未见过的新任务上,收益趋近于零。表面上系统在进化,实际上它只是把那几十个测试题的标准答案,以某种隐蔽的方式焊死进了自己的执行流程。
论文给出的解法叫RRSI(Regularized Recursive Self-Improvement,正则化递归自我改进),刚刚开源在GitHub上。但这篇论文真正值得深挖的,不是RRSI本身,而是它无意间揭开的行业底牌:Agent的进步重心,已经悄悄从模型层转移到了harness层——而这层进步的诚信度,目前几乎无人把关。
Harness层:被忽视的进步引擎
先解释一下harness是什么。今天你用的每一个"Agent"产品——编码Agent、办公Agent、搜索Agent——都不是一个裸模型在干活。模型外面裹着一层工程代码:它决定Agent先读哪些文件、工具调用失败后重试几次、上下文如何压缩、结果以什么格式交付。这层代码就是harness。
Google论文直言:近期Agent能力的提升,相当一部分来自harness工程的改进,而非新模型。这个判断和社区的体感一致——同一个Claude或GPT模型,套上不同质量的harness,SWE-bench分数能差出十几个点。Anthropic自家的Claude Code之所以好用,很大程度是那套精心打磨的执行流程,而不只是模型权重。
既然harness这么重要,而人工打磨又慢,一个自然的想法出现了:让LLM自己改harness。让它看失败记录,让它提改进方案,让它反复迭代。这就是"实用形式的递归自我改进"——系统产生的反馈被用来优化控制自身行为的框架。
这条路确实有效。Nvidia的SoL-Pi系统让研究Agent自动重建编码Agent的harness,token消耗降了近一半;Google DeepMind的Dream-RSI让Agent"梦回"过去的搜索尝试来改进策略。自动化harness优化正在成为一条活跃的技术路线。
然后问题来了。
背题的三种方式
RRSI论文最扎实的部分,是对"背题"机制的解剖。自我优化系统记住测试任务,不是通过权重(模型全程冻结),而是通过三种更隐蔽的路径:
第一,模式记忆。 搜索过程会优先保留那些恰好契合特定基准分布的修改。比如训练集里全是编码任务,优化出来的harness可能写死了"先跑测试再改代码"的流程——这个策略对SWE-bench有效,但对一个办公自动化任务是负担。
第二,幸存者偏差。 候选方案的评分本身有随机性。一个纯粹靠运气在训练任务上得高分的改动,会被系统当作"有效改进"保留下来。优化轮次越多,这种随机噪声被放得越大——经典的多次比较问题,在自动化优化循环里被复刻了。
第三,无收益复杂度。 系统会不断堆叠"只提升测试分数、不提升真实能力"的复杂度。比如针对特定任务的格式微调、对某类提示词的特判。每一步都让分数涨一点点,每一步都让harness离通用性远一点。
这三种机制叠加的结果是:训练分上涨,泛化归零。论文的对比实验里,四个近期的优化方法全部呈现这个模式——其中两个在新基准上甚至低于未经优化的基线harness。优化,成了负优化。
熟悉机器学习的人到这里应该已经坐不住了:这就是过拟合,只不过过拟合的不是模型权重,而是外围工程代码。梯度下降里的损失函数作弊(loss hacking)问题,在自然语言空间的优化循环里原样重演,而且更难察觉——因为没有人会去review一个LLM迭代了五十轮之后产出的harness。
RRSI的正则化:把机器学习的纪律搬到Agent工程
RRSI的解法思路清晰:既然问题是harness层的过拟合,就用机器学习治理过拟合的经典手段——正则化——来治。具体落在优化循环的两端:
提议端:收缩的编辑预算。 候选方案每次能捆绑的独立编辑数量有上限,且这个预算随轮次递减。早期允许大改,后期只允许能清晰追溯到效果的小改动。同时系统记录历史尝试,避免反复追逐同一个失败思路;进展停滞时,主动去探索harness中从未动过的部分。这本质上是在搜索空间上做约束,防止随机漂移被当作进步。
选择端:严格的批评器。 每个候选改动要过一个critic审查,硬编码任务名、写死特定解法、依赖基准特有格式的方案直接剔除。另一条规则要求:想增加计算开销,必须证明带来可测量的性能收益;不再有贡献的组件会被移除。这是在对抗"无收益复杂度"——奥卡姆剃刀,由LLM来执行。
结果数据值得细读。在八个基准(编码、办公、工程设计三个领域)上,底座模型Claude Opus 4.8全程冻结:
- 训练任务最高提升14.1分;
- 五个从未见过的基准上提升最高4.7分,且没有任何一个低于基线;
- 运行时token消耗比无正则化版本少约30%。
最有信息量的是这个细节:RRSI是所有优化方法里训练任务增益最小的,却是唯一在新任务上显著超过基线的。正则化的代价就是放弃一部分训练分——就像正则化总是降低训练集表现一样。这个tradeoff被明确设计、明确呈现,本身就是这篇论文的诚实之处。
还有一个迁移实验很有意思:用Gemini 3.5 Flash优化出来的编码harness,原封不动装到弱得多的Gemini 3.1 Flash Lite上,准确率从11.2提到14.6分。这说明RRSI找到的改进机制(怎么组织上下文、怎么规划步骤)是模型无关的通用策略,而不是对某个模型 quirky 行为的适配。这进一步佐证:harness层确实存在独立于模型能力的、可积累的工程知识。
更大的问题:谁来审计harness层的分数?
跳出这篇论文,我认为它戳中了一个行业级的问题:Agent评测的诚信瓶颈正在从模型层转移到harness层,而我们的审计手段没有跟上去。
过去两年,模型层的benchmark污染(contamination)已经被充分讨论:测试集泄漏进训练语料,模型"见过"考题。业界为此发展出动态评测、私藏测试集、LiveBench这类滚动更新的方案。
但harness层的"背题"是一个新的盲区。它的隐蔽性在于:
- 它不是作弊,是涌现。 没有人指示系统记住测试任务,是优化过程自发滑向了那里。开发者的主观意图是清白的,分数上涨也是真实的——只是真实性仅限于那几十个任务。
- harness通常不公开。 模型有开源权重、有技术报告、有第三方复测;一个公司的Agent harness往往是专有工程代码,benchmark分数涨了,你无法判断是能力还是记忆。
- 评测循环太短。 ARC-AGI-3的测试给过当头一棒:一个特制harness让Opus 4.6在熟悉环境拿到97.1%,换到陌生环境直接0%。熟悉环境的分数和新环境的分数之间,可以差出一个数量级。
这意味着,在Agent时代,一个组织如果只有公开基准的分数,几乎等于没有评测。论文里那句话值得所有做Agent的团队贴在墙上:自我改进只有把重复反馈转化为可泛化的持久改变时,才真正提升了Agent能力。
对从业者的三点启示
第一,把模型选型纪律迁移到harness选型。 昨天(10月4日)的另一条新闻是GPT-5.5服役不足6个月全面退役——旗舰模型进入半年制更替。模型层已经在逼企业建立依赖管理式的工程纪律(抽象层、版本探测、回归测试集)。harness层需要同样的东西:任何harness改动,都要过一个held-out任务集——永不参与优化、永不用于评测的保留集。这应该成为Agent工程的标准配置,就像机器学习里的test set一样不可妥协。
第二,自建评测集的企业将获得信息优势。 当公开基准越来越难以区分"真实泛化"和"harness记忆",私有的、贴近自己业务分布的评测集成了唯一可信的信号源。这不是负担,是护城河。
第三,对"自我改进Agent"的宣传保持折扣心态。 接下来一年,我们会看到越来越多宣称"自我改进"“自动进化"的Agent产品。判断真假的一个简单问题是:增益是在训练任务上测的,还是在保留任务上测的?如果对方答不上保留集是什么,那大概率又是一个在背题的学生。
结语
RRSI论文有一个克制的结论:这项研究只覆盖了冻结模型外的harness优化,不涉及模型权重变化的场景。真正的递归自我改进——模型和框架一起变——还在门外。
但这篇论文已经足够重要。它用严谨的实验证明了一个朴素的原则:优化的对象会滑向优化的指标,无论那个对象是权重还是代码。 机器学习花了十年学会用正则化、交叉验证和保留集对抗这种滑动;Agent工程现在需要把这套纪律重新学一遍,而且是带着"这次优化过程自己会写代码"的新难度学。
Agent的进步重心正在离开模型本身,转向那层工程代码。这个转移让"Agent工程"有条件成为一门真正的学科——前提是,它能建立起自己的评测诚信。RRSI是这门学科第一堂正则化课。