本文仅用于学习和了解新项目,正文由 AI 撰写。
同一个大模型,换一套提示词、工具说明、上下文压缩和错误恢复逻辑,完成任务的能力就可能明显不同。这些围绕模型的程序与配置,通常被叫作 Agent 的 Harness。
既然 Harness 可以由人修改,也可以让另一个 Agent 读失败记录、改代码、跑评测,反复寻找更好的版本。但这里有一个熟悉的陷阱:如果每轮都拿同一批题挑赢家,系统可能学会的是这批题的答案,而不是可复用的做事方法。
RRSI: Regularized Recursive Self-Improvement of Agent Harnesses 研究的就是这个问题。它保持底座模型权重不变,让系统自动修改 Harness,同时约束“提出改动”和“接受改动”两个环节,目标是让提升能迁移到没参加演化的任务。论文于 2026 年 9 月 21 日发布,目前是 arXiv 预印本。
先弄清楚:它在改什么
这里的“递归自我改进”不是模型自己训练出一组新权重。论文中的改进对象是模型外面的 Harness,包括提示词、控制流程、工具、技能、记忆、子 Agent 和上下文管理。
一个普通的自动演化循环可以写成:
| |
问题出在“同一批任务”被反复使用。候选改动、失败分析和下一轮提案都看过前几轮的反馈;即使评测脚本没有泄露答案,搜索过程也在持续适应这份有限的题集。一个专门识别某类题面、不断追加提醒、或者在某个评分器前写出讨喜格式的 Harness,可能越考越高,却不能帮助新的任务。
论文把演化时反复使用的任务称为 evolve set。它还区分两种没参与调参的测试:同一基准里的留出任务(ID held-out),以及任务形式或评分方式不同的其他基准(OOD)。真正值得看的不是 evolve set 提升多少,而是离开这批题后还剩多少。
RRSI 怎么给演化过程加约束
RRSI 的核心不是禁止修改某些文件。提示词、工具、记忆和流程仍然都可以改;它限制的是每轮怎么找、怎样决定一个改动能否留下。
1. 提案侧:少改几处,并记住试过什么
每个候选版本可以包含的独立改动有上限。早期允许一个候选组合几处改动,后期逐渐收紧到每个候选只改一处。这类似机器学习中限制非零参数个数的 L0 思路,但论文明确说它只是类比:这里限制的是离散改动数量,并没有真的优化 L0 惩罚函数。
少改几处有一个实际好处:如果分数变了,更容易判断是哪一项造成的。RRSI 还记录每次尝试的组件、假设、代码差异、得分、token 成本和是否被接受。已经失败的想法会成为后续搜索的负面证据。搜索停滞时,它会把部分候选名额留给尚未尝试的组件,避免一直只改提示词。
2. 选择侧:先排除泄题,再考虑噪声和成本
候选改动进入完整评测前,一个 critic 会检查差异,筛掉明显写入题目名称、特定实体、答案或基准专用逻辑的方案。这道门只能降低显性泄题风险,无法证明剩下的改动一定能泛化。
通过检查的候选还要过两关。第一关是噪声下限:作者先重复评测未改动的初始 Harness,估出分数波动带 δ;候选不能比历史最好成绩低出超过 δ。这样能防止一连串看似很小的退步累积成明显退化。
第二关是成本约束:如果得分提升明显超过 δ,增加的推理 token 必须有相应的得分收益;如果提升仍落在噪声带里,系统会结合得分、成本下降和结构新颖性决定是否放行。长期拿不出正面收益的组件会被标记为删除目标。论文把成本约束和删除机制分别类比为 L2、L1 正则化,但它们都是 Harness 搜索规则,不是对神经网络权重施加的数学范数惩罚。
论文附录给了一个直观例子:两个编码 Agent 候选都增加了“完成前验证”的提醒。其中一个在演化集上提高约 3.93 个百分点,被接受;另一个只提高约 1.69 个百分点,却增加 26.1% 的推理成本,因此被拒绝。RRSI 的判断不只看分数是否变大,还看证据是否足够抵得上代价。
实验结果:训练分数高,不代表迁移得好
作者在三个领域演化 Harness:终端编码任务 Terminal-Bench 2.1、法律文档工作任务 Harvey LAB、工程设计任务 EngDesign。然后把演化后的 Harness 放到其他基准测试,包括 SWE-bench Verified、JobBench、GDPval、APEX-Agents 和 Frontier-Eng。模型权重在演化期间保持不变。
最能说明问题的是 Harvey LAB 这一组对照。下表摘自论文的消融实验;“OOD 平均”是 JobBench、GDPval 和 APEX-Agents 三个未参与演化的基准的平均分,token 是每次试验消耗的模型推理 token:
| 方法 | Harvey LAB 演化集 | Harvey LAB 留出集 | OOD 平均 | 每次试验 token |
|---|---|---|---|---|
| 初始 Harness | 89.4 | 86.9 | 39.7 | 156 万 |
| 无正则化演化 | 92.8 | 88.9 | 40.3 | 380 万 |
| RRSI | 90.5 | 89.2 | 43.6 | 242 万 |
无正则化版本在练习集上多拿了 2.3 分,换到 OOD 基准却只比初始版本高 0.6 分。RRSI 在练习集的增幅较小,但 OOD 平均比初始版本高 3.9 分,也比无正则化演化高 3.3 分。去掉“提案侧”或“选择侧”的约束,OOD 平均分别降到 41.9 和 41.0;两边都去掉,就回到 40.3。
成本也不能只讲一半:RRSI 比无正则化演化少用约 36% 的推理 token,但仍比初始 Harness 的 156 万多用约 55%。这里的“更省”是相对其他演化版本而言,不是相对从未演化的基础版本。
编码任务里,使用 Claude Opus 4.8 演化时,Terminal-Bench 2.1 从 74.2 提升到 80.2,未参与演化的 SWE-bench Verified 从 82.0 提升到 83.8;独立使用 Gemini 3.5 Flash 演化时,两项分别从 64.6 到 78.7、从 76.8 到 79.0。作者还把 Gemini 3.5 Flash 演化出的 Harness 原样交给未参与搜索的 Gemini 3.1 Flash Lite,在 Terminal-Bench 上从 11.2 提升到 14.6。这提供了跨模型迁移的初步证据,但不意味着任何模型换上这套 Harness 都会有同样收益。
怎么理解这篇论文的贡献
我觉得它最有价值的地方,是把“Agent 自动改进”当作一个反复看同一份有限反馈的搜索过程来处理。只要每轮都根据旧分数生成新候选,就不能把某次评测提升直接当成真实能力提升。留出集、噪声范围、推理成本、改动历史和泄题检查,应该一起进入决策。
这个方法也有边界。论文只研究固定权重模型的 Harness 演化;效果依赖有限的演化任务、评分信号和几组搜索参数。critic 可能漏掉隐蔽的基准适配。虽然结果覆盖三个领域和多个未见基准,作者也明确表示,还需要在差别更大的 Agent 架构、工具生态和更长的自我改进过程中验证。当前结果说明“受约束的演化更有希望迁移”,还不能证明过拟合已经被彻底解决。
如果自己做类似系统,最值得借鉴的也许不是照搬 L0/L1/L2 的名称,而是三条工程原则:让每个改动有可追溯的假设;用未参与搜索的任务检验迁移;让新增的复杂度和推理成本拿出证据。
