第一遍:原文到底讲了什么
文章不是一篇提出新算法的论文,而是一篇面向从业者的路线综述。它的核心问题是:self-evolving、self-improving 与 recursive self-improvement 到底各指什么;眼下产业与研究界有哪些真实系统;这些系统究竟在改模型、改 Agent,还是只改当前任务的产出。
原文的机构盘点、三层定义、全部主要案例、两条公式、联合优化、可解释性延伸与结尾限定均纳入下文;重复的图注和同义宣传语被合并,不影响论证理解。
作者为什么认为“自进化”已经从口号变成路线
文章先用一组 2026 年案例建立现实感。OpenAI 在 GPT‑5.6 发布中给出内部 RSI Index,把研究系统调试、kernel 优化、训练配方实验和改进另一模型放进同一组内部评测,并报告 Sol 相对 GPT‑5.5 提升 16.2 分。Anthropic 则把递归改进描述成一个逐步自动化的研发过程:模型先写代码、审代码、跑清晰目标下的实验,再逐渐承担开放式研究。其公开材料称,2026 年 5 月 Claude 已贡献 Anthropic 超过 80% 的合入代码,但也明确提醒“代码行数”会夸大真实生产率。
文章随后扩展到 MiniMax 的内部 harness 自修改、Sakana 的 RSI Lab、Apodex 的大规模多 Agent 验证、Weco 的双层 autoresearch,以及以 latent-space 改进为目标的创业公司。作者借此强调:行业实际押注的并不是同一种机制;有人优化研究产物,有人让部署后的 Agent 写回技能,有人尝试联动 harness 与权重,还有人研究潜在空间里的推理结构。
这部分数字多来自发布机构自己的博客、内部评测或尚未公开完整复现材料的实验。文章把它们当作“路线正在形成”的迹象,而不是已经证明自主智能会指数爆发。
三层分类:关键不是谁在循环,而是循环改写了什么
作者采用 Shilong Liu 的分类,把系统拆成 Model、Harness 与 Artifacts。Model 是产生动作或文本的基础模型;Harness 是把模型变成 Agent 的外部运行结构,包括 prompt、memory、tool、skill、hook、路由、工作流与评测;Artifacts 是 Agent 产生的代码、论文、算法、模型配置或其他任务结果。
Artifacts
循环修改当前任务的产物。成功会让这一次的代码、算法或实验配置更好,但不必改变下一次运行时的 Agent。
Harness
把失败经验写回可复用的 prompt、memory、skill、tool 或工作流。一次变更会影响后续任务。
Model
通过自训练、可验证奖励、自对弈、测试时训练或联合优化改变模型参数或模型内部能力。
三层不是互斥箱子。Harness 的执行轨迹可以成为训练数据;模型变强后能设计更好的 harness;更好的模型与 harness 又能搜索出更强 artifacts;成功 artifacts 还可能被包装为新工具。原文把这个相互反哺关系画成闭环,并把它视为未来系统的主要形态。
Artifacts 路线:让 Agent 成为“候选生成器 + 实验员”
Autoresearch
Karpathy 的项目把问题压缩到一个可严格比较的小环境:Agent 只能修改 train.py,每个候选固定训练 5 分钟,再用验证集 bits-per-byte(val_bpb,越低越好)决定保留还是丢弃。固定墙钟预算让系统必须同时权衡模型质量与硬件效率;大约每小时可跑 12 次实验,一夜约 100 次。这里真正被优化的是训练代码和配置,而不是执行搜索的 Agent 自身。
AlphaEvolve
Google DeepMind 的 AlphaEvolve 用 Gemini 生成候选程序、自动评估器验证候选、演化框架保留高分个体。它已经用于数据中心、芯片设计、矩阵乘法与 AI 训练;其中一些算法反过来服务于底层模型训练。作者把这看成“改产物逐渐接到改自身生产基础设施”的过渡案例。
这一路线的必要条件很朴素:目标必须可运行、结果必须可比较、错误候选要能廉价回退。它首先是一种扩大搜索空间的工程方法;LLM 的贡献是把以往人工设计的变异算子,升级为能读代码、解释失败、提出新候选的通用搜索启发式。
Harness 路线:把一次失败变成以后都能复用的状态
Harness 不是一段更长的 system prompt,而是模型与环境之间全部可持久修改的运行结构。它决定模型看见什么、什么时候思考、能调用哪些工具、不同角色怎样交换信息、经验写到哪里,以及什么结果可以被提交。原文认为它是近期最现实的自我改进层:不必重训模型,修改可以立即生效,也容易审计、回滚和做 A/B 测试。
| 可写回表面 | 它改变什么 | 典型更新 | 主要失效方式 |
|---|---|---|---|
| Prompt / policy | 目标、约束、检查顺序和停止条件 | 先交付最小结果;提交前复核硬约束 | 规则膨胀、互相冲突、模型不遵循 |
| Memory | 跨轮次保留事实、失败和环境状态 | 记录已知 bug、用户偏好、任务进度 | 陈旧记忆、错误固化、上下文污染 |
| Skill / tool | 把多步行为压成可复用程序 | 路径规划器、测试工具、领域工作流 | 接口漂移、权限扩大、隐藏副作用 |
| Workflow / sub-agent | 控制分工、信息流、并行和验证 | 增加 reviewer;重写 handoff contract | 协调成本高于收益、信息丢失 |
| Promotion gate | 决定候选修改能否成为新默认 | 私有评测、回归测试、成本门槛、回滚 | 评测泄漏、Goodhart、只保留偶然胜者 |
因此,一个完整 Harness 学习循环不是“让 Agent 反思一下”,而是:记录轨迹与结果 → 把失败归因到具体组件 → 生成最小修改 \(\Delta h_k\) → 在隔离任务上比较旧版与新版 → 通过准入门才写回。可以写成:
\(\pi_\theta\) 是权重固定的模型策略,\(h_k\) 是第 \(k\) 版 Harness,\(\tau_k\) 是执行轨迹,\(\Phi\) 把长轨迹压成可诊断的失败摘要,\(\mathcal{M}\) 是提出修改的 meta-agent。真正决定系统是否“学会”的不是它能否写出 \(\Delta h_k\),而是 Gate 是否使用未泄漏的任务、是否匹配总预算、是否能拒绝偶然改好一个样本却破坏其他任务的修改。
从记忆到结构:Harness 更新有四种深度
- 上下文适应。把本次发现写进 memory,下次少走弯路;收益最即时,但最容易变成任务专用提示。
- 程序性适应。把重复步骤编成 skill 或工具,降低 token、时间和执行方差。
- 结构性适应。改变子 Agent、路由、验证器和信息契约,等于重写 Agent 的“组织架构”。
- 元适应。连“怎样诊断、怎样提出修改、怎样准入”也被优化;只有这一层才开始接近递归改进,而风险也最大。
Hermes Agent 的技能与记忆属于前两层;MiniMax 报告内部 M2.7 在 100 多轮中执行“分析失败 → 改 scaffold → 跑评测 → 保留或回退”,涉及采样参数、工作流指南和 loop detection,覆盖程序性与结构性更新。AIDE² 更进一步,让外层研究 Agent 直接改写内层研究 Agent 的代码,已经触及元适应,但尚未证明新 Agent 作为外层 improver 时渐近更强。
工作一|RHI:把“Agent 团队怎么协作”本身变成可优化对象
Recursive Harness Self-Improvement(RHI)研究一个很窄但很实用的问题:模型权重固定、目标任务固定时,能否只重写多 Agent 的组织方式,让同一个模型做出更好的开放式产物?因此它不是模型训练,也不是通用 Agent 架构搜索;它是在每个目标任务内部,搜索一份任务专用的 prompt 级 Harness。
论文把 Harness 的主体拆成两部分。第一部分是 agent design:有哪些角色、各自负责什么、具体 instruction 是什么;第二部分是 agent workflow:角色之间按什么顺序接力、每次交接必须提供哪些字段。附录里还自然出现验收门、失败回退、何时召回某个角色、全员共用规则等结构。最值得注意的是 contract 与 hop:
| 结构 | 回答的问题 | 一个具体例子 | 它避免的浪费 |
|---|---|---|---|
| Role | 谁对哪类决策负责? | 数据工程 Agent 只负责 PDB 清洗与数据契约 | 十个“通才”重复研究同一问题 |
| Instruction | 这个角色应怎样做? | 先验证等变性,再进入训练与 profiling | 方向错误后才发现前置假设不成立 |
| Contract | 下游必须收到哪些信息? | 交接 DatasetRecord、ModelIO、MetricsJSON | 上下游对张量、指标和文件格式各自猜测 |
| Hop | 控制权何时转移、失败后回到哪里? | 数据审计通过后才进入建模;证据缺失则召回责任角色 | 并行工作无法汇合、错误一直传到最终报告 |
所以 RHI 的核心不是“再加几个 Agent”,而是把组织结构写成可修改状态。对任务 \(x\),理想目标是寻找成对胜率最高的 Harness:
\(\mathcal{H}\) 是候选空间,\(\mu\) 是竞争 Harness 的参照分布,\(\mathcal{A}(H,x)\) 表示用 \(H\) 解任务 \(x\),指示函数在评估器偏好当前产物时取 1。真正穷举这个目标很贵:若同时维护 \(m\) 个版本,全面成对比较需要 \(O(m^2)\) 次评价。RHI 改用局部爬山,每轮只新增一条执行轨迹和一次与直接前代的比较,增量成本是 \(O(1)\):
- 用当前 Harness \(H^{(i)}\) 在同一个任务上生成完整产物 \(y^{(i)}\)。
- 让 LLM evaluator 比较 \(y^{(i)}\) 与 \(y^{(i-1)}\),得到偏好和改进理由。
- 把这次比较加入该任务累积的 self-comparison history \(D_x^{(i)}\)。
- 让 Harness optimizer 读取当前 Harness 与完整历史,生成 \(H^{(i+1)}\),然后继续循环。
这不是无偏估计全局最优 Harness,而是带噪声的局部上升。历史也不是数值梯度,更像“语义动量”:它告诉优化器哪些组织决策曾经造成遗漏、重复或证据不足,防止只围绕最后一次胜负做短视修改。评估 prompt 没有直接交给 optimizer,降低了最直白的 judge prompt 过拟合,但 evaluator 的稳定偏好仍会通过文字反馈进入下一版。
附录中的真实变化:从“十个泛化专家”变成“一个有接口的流水线”
论文给出的 SE(3) 等变网络案例很能说明 RHI 到底改了什么。任务要求从 PDB 预测侧链 \(\chi\) 角,同时交付可复现实验、代码、profiling 和消融。初始 \(H^{(0)}\) 像一个通用药物研发团队:结构数据、几何学习、扩散模型、训练、分子动力学、评测、科学传播等约十个宽泛角色都在场,但很多角色与当前交付不直接相关,交接格式也不清楚。
第一轮改写后的 \(H^{(1)}\) 反而更“瘦”:删掉无关角色,把流程拆成 R0–R6,明确数据、模型 I/O、指标和证据的结构化接口,并加上验收、召回与失败门控。也就是说,改进不是把 prompt 写得更长,而是减少不相关自由度,增加下游真正依赖的信息约束。这更接近软件架构中的接口重构,而不是传统的 chain-of-thought 加长。
实验到底比较了什么
| 维度 | 论文设置 | 解读时要注意什么 |
|---|---|---|
| 任务 | 30 个由 LLM 生成的开放式 ML 研究任务;量化金融、机器人、制药各 10 个,源于岗位描述 | 接近复杂工作交付,但不是自然产生的真实项目分布 |
| 基础 Agent | Sonnet 4.6、Opus 4.7、Opus 4.8,统一从 high reasoning 起步 | 研究的是 Harness 能否替代一部分更高 reasoning 档位 |
| 强基线 | 同系列 xhigh、max 或 ultracode | 并非与任意模型或人工专家比较 |
| 评价 | GPT‑5.5 max 与 Opus 4.7/4.8 xhigh 做成对裁判,每个设置 3 个随机种子 | 仍是 LLM-as-judge;裁判只看指定 deliverables,超长文件可能被截断 |
| 成本 | 报告改好 Harness 后一次任务执行的美元成本与 cache 使用 | 没有把产生前几版 Harness 的全部生命周期成本摊入单次数字 |
结果不是“每一轮都神奇变强”,而是早期结构重写贡献最大。Sonnet 4.6 的 \(H^{(2)}\) 在 30 个任务中有 20 个胜过 max;Opus 4.7 一轮后即可胜过 xhigh/max;Opus 4.8 的 \(H^{(2)}\) 胜过 xhigh、ultracode 与 max。单次执行成本方面:
| 基础模型与改进版 | 对照档位 | 报告成本 | 作者报告的差额 |
|---|---|---|---|
| Sonnet 4.6 high + \(H^{(2)}\) | Sonnet max | 2.38 vs 2.56 | 约 −7%;cache 成本约 −33% |
| Opus 4.7 high + \(H^{(1)}\) | Opus max | 2.11 vs 2.60 | 约 −18%;cache 成本约 −37% |
| Opus 4.8 high + \(H^{(2)}\) | Opus max / ultracode | 1.69 vs 2.19 / 4.15 | 约 −23% / −60% |
两类机制分析支持“信息结构重排”这个解释。第一,连续版本的 embedding cosine 从约 0.82 很快升到 0.97、0.98、0.99,说明最大改写发生在第一步,后面趋于微调;但相对初版的累计漂移仍继续。第二,contract 与 hop 和任务的互信息上升,role 的任务相关性反而下降;给定任务后的组件总相关性也下降。直观上,角色名称变得没那么花哨,各组件却更有分工、少重复。作者明确把 embedding 指标称为相关性代理而非因果证明,因此不能据此断言“发现了 Harness 的潜在目标函数”。
还有一个容易忽略的负结果:Sonnet 经 RHI 后并没有稳定追平更强的 Opus。RHI 能补偿一部分推理预算,却不是基础模型能力的普遍替代品。论文自己的默认多 Agent 基线有时也比单 Agent 更差;显式设计 contract/hop 的 Harness 才超过默认多 Agent和“一个 Agent 扮演多人”的 multi-persona。真正有效的变量不是 Agent 数量,而是协调是否创造了净信息增益。
该数字比较的是改好 Harness 后的一次执行与更高推理档位的一次执行;得到 \(H^{(1)}\)、\(H^{(2)}\) 之前还支付了旧版执行、成对评估和优化器调用。只有 Harness 会被重复使用,或优化成本单独计入并仍占优时,才能把它解释为端到端降本。
工作二|Ai2:先问收益是不是只来自“多试了几次”
Ai2 的《Rethinking the Evaluation of Harness Evolution for Agents》不是另一种 Harness 优化算法,而是一篇评测拆账论文。它指出,只要 Harness evolution 获得多次 rollout、错误反馈和修改机会,成绩变好至少有四种可能解释:找到了可复用 Harness、顺序修正了当前解、并行采样碰到了好运气,或把当前任务答案记进了 task-specific scaffold。若这些预算不对齐,“自我进化”的收益就无法归因。
| 统一 \(K\) 次执行预算下的分支 | Harness 是否变化 | 经验是否跨任务 | 真正测试什么 |
|---|---|---|---|
| Parallel sampling | 不变 | 不共享 | 独立多采样的 pass@\(K\) |
| Sequential refinement | 不变 | 不共享 | 同一答案沿错误反馈逐步修正 |
| Harness evolution | 共享 Harness 跨训练任务更新 | 共享 | 是否学到可迁移的 Agent 运行结构 |
| Harness scaling | 为当前任务逐次重写 | 不要求 | 任务内 scaffold 搜索/记忆 |
四个分支都从同一份极简 Harness 开始:只有一个 bash 工具,没有 skills、middleware 或 memory;经验都用同一模型的摘要映射 \(\Phi\) 压缩。实验使用 Terminal-Bench 2.1 的 89 个任务、三种模型、两次独立运行,统一 \(K=5\)。自动 Harness Evolution(AHE)关闭了会检索 benchmark 专用 Harness 的 Explore Agent,避免额外信息优势;每个任务、每版 Harness 只跑一个 rollout。
| 设置 | Initial | Parallel | Sequential | Evolution | Scaling |
|---|---|---|---|---|---|
| 不给单测反馈:pass@1 | 68.2 | 72.3 | 69.3 | 67.4 | 71.8 |
| 给单测反馈:pass@1 | 72.9 | 86.0 | 84.3 | 75.8 | 82.6 |
| 给单测反馈:pass@5 | — | 86.0 | 91.8 | 86.2 | 89.3 |
结果的含义不是“Harness 没用”,而是在这组可验证终端任务上,进化一套共享 Harness 并没有比把同样执行次数直接花在搜索答案上更划算。最有力的证据是 held-out 拆分:45 个任务用于搜索、10 个用于验证、34 个仅作最终测试,初始 Harness 得 67.7,进化版得 68.3,只提升 0.6;Claude 子集约 +1.2,GPT 基本没有收益。
论文的个案分析解释了为什么。Evolution 会学到看起来合理的通用规则:提前写明预算和 deliverables、保护脆弱状态、增加 turn budget tracker、截断超长工具输出、加 finalization gate 和恢复指引。但大量实际收益来自更细的任务记忆,例如固定文件路径、命令、版本 pin、某个 SQLite WAL 的保存方式、某个 Coq 版本或一个已定位的 bug。强 Agent 下一次本来就能重新发现这些信息;写进共享 prompt 后还会产生 prompt bloat,稀释其他任务的注意力。最难的剩余任务则需要领域推理,不会因为多一条通用行为规则而消失。
RHI 问的是“为这一个开放式任务定制信息流,能否胜过多给 reasoning”;Ai2 问的是“训练任务里发现的 Harness 修改,能否成为 held-out 任务上的可复用能力”。前者显示任务专用组织结构有价值,后者表明它未必已经学会一般的 Harness 设计。两篇合起来,恰好把 instance adaptation 与 transferable learning 分开了。
Ai2 的边界也应保留:Terminal-Bench 初始分数较高,且许多任务对 Harness 不敏感;在需要专用工具、领域工作流或长程状态管理的场景,Evolution 仍可能更有优势。论文统一了 rollout 数和反馈访问,但 meta-agent / debugger 的额外推理、墙钟和美元生命周期成本并不天然完全相等。因此它是当前更可信的“反过度归因”证据,不是 Harness evolution 的普遍不可能性定理。
Model 路线:从“自己提供训练信号”到 harness—权重协同
Model 更新不是“把知识保存得更深”这么简单。它改变的是策略分布 \(\pi_\theta\):同样的输入和 Harness 下,哪些解法更容易被模型首先想到、哪些工具序列概率更高、哪些领域规律不再需要写进上下文。与显式 memory 不同,参数记忆是分布式的,单条知识难以定位、删除或回滚,却能在每次调用中零额外上下文地复用。
| 模型更新路线 | 训练信号从哪里来 | 真正学到什么 | 关键风险 |
|---|---|---|---|
| Self-training / distillation | 自己或教师生成的高质量轨迹 | 把成功行为压进参数先验 | 错误自举、模式坍缩、只会模仿已见轨迹 |
| Preference learning | 成对胜负、AI judge 或人类偏好 | 提升被偏好输出的相对概率 | judge 偏见、偏好不可传递、奖励代理化 |
| RLVR / outcome RL | 单测、证明器、游戏得分等可验证奖励 | 发现未标注但能得分的策略 | reward hacking、稀疏奖励、信用分配 |
| Online / test-time training | 部署流中的新任务与反馈 | 适应新分布和局部环境 | 灾难性遗忘、数据投毒、线上不可逆漂移 |
| Model–Harness co-learning | 变化中的 Harness 产生轨迹,模型再吸收稳定规律 | 流程与领域直觉共同适应 | 双重非平稳、耦合 Goodhart、难以归因 |
统一地看,第 \(k\) 轮数据本身依赖当前模型与 Harness:
这带来 Model 路线最根本的困难:系统一边学习,一边改变下一轮会看见的数据。Harness 改了,旧训练数据可能不再代表新行为;Model 改了,原来有效的 prompt、工具说明和 verifier 漏洞又可能变质。它不是两个独立优化器相加,而是一个耦合动力系统。
工作三|SIA:把“改外部脚手架”和“改模型权重”放进同一个控制器
SIA(Self Improving AI with Harness & Weight Updates)试图打通两个此前分开的研究方向:scaffold/harness 优化通常固定模型,test-time post-training 通常固定 scaffold。它的核心假设是,两类更新修复的瓶颈不同:Harness 适合迅速改变搜索程序、工具和显式规则;权重适合改变模型的先验,让原本很难采样到的行为变得常见。
| 组件 | 使用的模型 | 看见什么 | 负责什么 |
|---|---|---|---|
| Meta-Agent \(M\) | Claude Sonnet 4.6 | 任务说明 \(U\)、参考材料 \(R\) | 生成初始 scaffold \(A_1\) |
| Task-Specific Agent | gpt-oss-120b | 当前 scaffold、任务输入、工具 | 执行任务并产生完整轨迹 \(\tau_g\) |
| Feedback-Agent \(F\) | Claude Sonnet 4.6 | scaffold 源码、完整 prompt/response/tool 轨迹、指标 \(E_g\) | 诊断失败并选择下一种更新 |
| Weight updater | H100 上的训练流程 | rollout、verifier 奖励与当前 LoRA | 固定 scaffold,对目标模型做 rank‑32 LoRA 更新 |
每轮后,Feedback-Agent 只能在两种动作中选一个:Harness update 保持 \(\theta_g\) 不变、改 \(A_g\);Weight update 固定 \(A_g\)、改 \(\theta_g\)。框架允许两者交替,但论文的三个实验实际上先连续改 Harness,观察到平台期后再切换到权重训练。因此当前证据更接近“先工程搜索、后参数优化”的阶段式流程,还没有证明一个频繁来回切换的 learned controller 更好。
三个任务分别展示了什么
| 任务 | 初始 | Harness 后 | 权重后 | 真正发生的变化 |
|---|---|---|---|---|
| LawBench,191 类法律分类 | 13.5% | 50.0% | 70.1% | Harness 自建 TF‑IDF + LinearSVC;PPO + GAE 再把任务模式压入 LoRA |
| TriMul H100 kernel | 得分 0.105 | 0.120 | 1.475 | 运行时间从 12,483µs 降至 1,017µs;稀疏右偏奖励用 entropic advantage weighting |
| MAGIC 图像去噪 | 0.048 | 0.241 | 0.289 | GRPO 后出现 Harness 版本未写过的 np.clip + np.rint 后处理 |
LawBench 很能说明两种介质的差异。Harness 阶段没有让 LLM “懂更多法律”,而是发现这其实可改写成一个经典监督分类问题,自动建立 TF‑IDF 特征和 LinearSVC,立刻获得大幅收益;权重阶段才用 PPO + GAE 调整模型,使相关分类模式更容易被直接生成。TriMul 的 reward 极稀疏且右偏,论文改用 entropic weighting 让少数高价值 kernel 对更新贡献更大;MAGIC 使用 GRPO,并观察到训练后模型自发加入量化后处理。后两个例子至少说明:权重更新能找到 scaffold 文本里没有显式列出的局部策略。
论文还概述了更广的算法选择经验:稀有正例可先用 best-of-\(N\) behavioral cloning 冷启动,只有排序信号可用 DPO,REINFORCE + KL 可用于更一般的终局奖励。但主实验真正落地的是 LawBench 的 PPO + GAE、TriMul 的 entropic advantage weighting 和 MAGIC 的 GRPO;不能把其余启发式都算成已在本文验证的贡献。
SIA 最值得警惕的归因问题
- 不是同一个模型改自己。更强且冻结的 Claude 负责设计、诊断和选择动作,
gpt-oss-120b是被优化对象;“如何学习”的能力仍主要来自外部模型。 - 选择器没有被学习。论文没有训练一个能跨任务判断何时改 Harness、何时改权重的 policy,只是让外部 LLM 基于报告决策。
- Verifier 同时塑造两条路线。Harness 和权重都反复看同一指标,可能共同学会利用代理目标;作者把 coupled co-evolutionary Goodhart 作为主要限制。
- LawBench 不是传统 sealed-test 结果。论文明确把 rollout 与所有评价都放在所报告的 test split 上。这是带测试 verifier 的 test-time adaptation,不能和“训练时没看测试反馈”的 SOTA 数字直接并列。
- 缺少统计稳定性。三个展示任务没有报告多 seed 方差、置信区间或 selector 的消融;“内部化知识”的说法也没有通过 OOD 数据或受控梯度归因检验。
所以 SIA 最稳妥的结论是:Harness 与 LoRA 是互补旋钮,而且在三个精选任务上,先改 Harness 再改权重都继续提高了目标分数。它没有证明 autonomously learned self-training,也没有证明这种联合流程在未见任务上比等预算搜索更好。官方仓库当前加入 public/private 目录和 held-out evaluator,是更合理的实现方向,但这是当前代码协议,不能反向补足论文原实验的证据。
工作四|Continual Harness:在不重置的长程世界里,同时学习“笔记”和“习惯”
Continual Harness 解决的不是普通 benchmark,而是长程、部分可观测、无法廉价 reset 的具身任务。实验环境是 Pokémon Red / Emerald:Agent 每步看到游戏画面和 ASCII 局部地图,只能按游戏按钮;探索、物品、队伍、剧情与地图状态会持续累积。传统 prompt optimizer 常把每个 episode 当成独立样本,这里却不能随便回到初始状态重跑,因此更新必须在“任务还进行到一半”时发生。
论文把 Harness 写成 \(H=(p,G,K,M)\):prompt \(p\)、subagents \(G\)、skills \(K\)、memory \(M\)。系统暴露固定 meta-tools 让 Refiner 修改这些组件;环境和权限边界不随之任意变化。三种主条件用于区分增益来源:
| 条件 | 起点 | 能否在线修改 | 它回答什么 |
|---|---|---|---|
| \(H_{\min}\) | 极简接口;无子 Agent、记忆或作者技能 | 否 | 纯基础模型的长程能力 |
| \(H_{\text{expert}}\) | 人工 A* 寻路、属性表、伤害计算器、目标清单 | 否 | 强人工工程的上界参考 |
| \(H_{\text{CH}}\) | 从 \(H_{\min}\) 开始 | 是 | 能否在不中断游戏时自己长出有用结构 |
内层快循环:每隔一段时间重写 Harness
经过 warmup \(W\) 后,系统每隔 \(F\) 步让同一个基础模型切换成 Refiner,读取最近一段轨迹窗口,再依次做四类修改:重写 prompt;新增、修改或删除 subagent;创建或修复 skill;新增、更新或降级 memory。它不是在回合结束后总结,而是在当前存档继续向前时原地换 Harness。
最有说服力的组件证据来自导航技能:系统逐渐写出路径规划逻辑,path-cost deficit 从接近 50% 降到个位数,并被后续行为调用数百次。这里“学会了”不只是 prompt 里出现一句建议,而是把重复的空间搜索压成可执行 skill,降低了后续每次决策的推理负担。
能力底线:Harness 不能凭空补足模型能力
| Emerald 设置 | 里程碑完成度 | 报告成本 | 含义 |
|---|---|---|---|
| Gemini Pro + \(H_{\min}\) | 98% | $215 | 强模型本来能做,但路线低效 |
| Gemini Pro + \(H_{\text{CH}}\) from scratch | 100% | $130 | 同等以上完成度,成本约低 40% |
| Gemini Flash + bootstrap updating | 80% | $42 | 有收益但 seed 方差较大 |
| Gemini Flash-Lite + \(H_{\min}\) | 20% | $11 | 基础能力已经接近 Refiner 所需下限 |
| Gemini Flash-Lite + 各种 \(H_{\text{CH}}\) | 3–13% | 相近或更高 | 弱模型既做不好任务,也改不好自己的 Harness |
这个负结果非常重要:Refiner 不是免费的优化器,它本身也需要诊断、抽象和编程能力。模型低于能力底线时,在线修改会把错误写回持久状态,形成“越学越差”。因此 Harness evolution 的安全默认值应该是候选修改、shadow evaluation 和可回滚版本,而不是直接覆盖生产状态。
外层慢循环:用持续轨迹训练模型
模型共同学习部分先用 Gemini 3.1 Pro 轨迹做 SFT warmup;论文报告的训练配置包括 rank‑256 LoRA、8K 上下文和 H200。离线阶段以 Gemini 3 Flash 作为 action/format oracle 做 GRPO;在线阶段每轮让当前模型在当前存档和当前 Harness 下继续运行 256 步,由 Gemini 3 Flash 的 process reward model 从进度、动作正确性、推理和格式四部分打分,再把低分窗口交给 Gemini 3.1 Pro 重标,最后做三轮 soft SFT。环境状态跨训练轮保留,因此下一批数据同时受新权重、新 Harness 和已推进游戏状态影响。
论文展示的五次在线 run 都继续推进,净里程碑增量分别为 +2、+4、+5、+3、+3;未训练基线为 0。这说明教师重标 + 在线数据至少能把一个停滞的开放模型推过若干局部障碍,但不能直接把全部进展归因于权重:实验没有提供同等步数下“冻结模型、只让 Harness/游戏状态继续”和“训练模型、冻结 Harness”的完整 factorial control。环境本身还持续向前,因此累计进度也不等于策略质量单独提高。
附录 D.2 说 26B Red SFT adapter 发生退化,31B SFT 才是可用并用于在线阶段的起点;附录 D.4 却又写在线流程从 26B Gemma‑4 SFT policy 启动。在作者澄清前,读者无法确定在线 co-learning 图究竟对应哪一个学生模型,也无法精确归因模型容量与训练收益。
Continual Harness 因而给出的是很有价值、但仍早期的系统共同适应证据:reset-free Harness 能长出可复用技能,强模型可以用它节省长程成本,外部教师也能推动学生模型沿持续状态继续学习。它还没有证明同一模型可以自举成自己的可靠教师,没有建立收敛点,也没有完成 reset-free 在线学习与同预算 reset batch training 的正面对照。此前 GPP 完整通关多个游戏还混合了人类与 Agent 操作,不能和这里的全自主受控实验合并为一个结论。
什么时候应该把经验写进权重
经验不应一产生就训练。适合进入权重的,是跨任务反复出现、能由独立 verifier 证明、未来调用频率足以摊薄训练成本,而且不需要用户随时删除的稳定规律。临时任务状态、个人偏好、仍在变化的工具接口和高风险权限规则,更适合留在 Harness。一个实用判断是:先让知识在可审计的外部状态里活一段时间,确认它稳定、可泛化,再蒸馏进模型。
为什么原文最后转向可解释性
作者认为,如果系统始终不知道“训练如何塑造推理”,权重自我更新仍是黑箱调参。因此文章把 on-policy distillation 的 forking token、Anthropic J-space 和连续潜在推理的 superposition 纳入版图:它们不直接构成 RSI,却试图找到模型内部的决策点、评估意识和并行搜索表示,为未来更可控的自我修改提供观测面。
第二遍:证据审计——哪些说法站得稳
| 主张 | 证据状态 | 审计结论 |
|---|---|---|
| GPT‑5.6 的 RSI Index 相对 GPT‑5.5 提升 16.2 分 | 官方报告 | OpenAI 页面直接支持,但这是内部复合评测;任务明细、权重、统计不确定性与独立复现尚不足,不能等同“已实现 RSI”。 |
| Claude 贡献 Anthropic 80% 以上合入代码 | 官方报告 | Anthropic 公开材料支持,并主动提醒代码行数夸大生产率;这证明研发自动化加速,不证明模型独立决定研究方向。 |
| RHI 最高降本 60%,high reasoning + 专用 Harness 超过更高 reasoning | 论文报告 | 全文主表支持,但范围是 30 个 LLM 生成的开放式 ML 研究任务。裁判只看指定且可能截断的 deliverables;60% 是进化后单次 Opus 4.8 执行相对 ultracode,不含 Harness 搜索生命周期成本。当前未找到作者公开实现。 |
| MiniMax M2.7 自主改 scaffold,内部评测 +30% | 发布方报告 | MiniMax 官方博客支持 100 多轮和 30%,但内部任务、评测集与完整轨迹未公开,无法排除分布内过拟合。 |
| SIA 证明 Model 可以完全独立自我训练 | 不成立 | 三个精选任务支持 Harness 与 LoRA 互补;但 Meta / Feedback Agent 使用外部 Claude Sonnet 4.6,动作选择策略未学习。LawBench 还在所报告 test split 上 rollout 和评价,属于 test-time adaptation,不能按 sealed-test SOTA 解读。 |
| Continual Harness 是单模型闭环自举 | 不成立 | 权重循环由 Gemini 3 Flash PRM 选低分片段,再由 Gemini 3.1 Pro 教师重标 Gemma;缺少冻结 Harness / 冻结 Model 的等步数析因对照,且附录对在线阶段从 26B 还是 31B 启动自相矛盾。 |
| AIDE² 已达到“点火”或智能爆炸 | 不成立 | Weco 只主张 Level 1 net positive;把 AIDE47 放到外层虽更快到达相似上限,但差异不显著,也没有渐近更优。发布方明确否认已经达到 ignition。 |
| 自动 harness evolution 普遍优于简单搜索 | 被反例削弱 | Ai2 在 Terminal-Bench 统一 \(K=5\) rollout 后,Evolution 低于并行/顺序搜索,held-out 只 +0.6。它有力反驳普遍优势,但该任务集基线较强、对专用工作流未必敏感,不能外推成普遍无效。 |
| Artifacts、Harness、Model 三层都等同 RSI | 概念过宽 | 来源 taxonomy 把三者组织为 self-evolving systems,但明确区分 artifact optimization 与 agent self-modification;原文结尾也承认 RSI 是更严格子集。 |
文章最强的部分是把近期散乱材料组织成可理解的对象图,并且纳入 Ai2 的反面证据、弱模型用不好 harness 的失败案例,以及 AIDE² 尚未 ignition 的边界。最弱的部分是开头把若干层级都宽泛称为 RSI,容易让读者把“有循环”“能回退”“产物变好”误读成“系统改进自身的能力正在递归增强”。
Harness 与 Model 不是二选一:它们是快慢两种学习介质
| 维度 | Harness 更新 | Model 更新 |
|---|---|---|
| 写入位置 | Prompt、memory、skill、tool、workflow、gate | LoRA、全参或其他参数适配 |
| 生效速度 | 秒到小时,可单次任务内生效 | 小时到周,需要数据、训练和部署 |
| 可解释 / 可删除 | 较强,可逐条审计、回滚和限定作用域 | 较弱,知识分布在参数中,难以精确删除 |
| 推理成本 | 可能增加上下文、工具调用与协调开销 | 知识内化后每次调用额外上下文少 |
| 迁移潜力 | 显式规则可移植,但常依赖特定模型和环境 | 可能形成广泛先验,也可能过拟合或遗忘 |
| 最适合的问题 | 快速变化、需要审计、接口和流程类知识 | 稳定重复、样本充足、可验证的领域规律 |
| 主要安全风险 | 提示注入、权限扩张、错误记忆和 gate 被改写 | 数据投毒、能力回退、目标漂移和不可逆扩散 |
最合理的架构是非对称双循环:Harness 作为快变量负责探索、故障恢复和收集结构化轨迹;只有当某类修改在多个任务、私有评测和不同模型版本上都稳定有效,才把其中不变的规律蒸馏进 Model。权重更新后必须重新评估 Harness,因为新模型可能不再需要旧补丁,也可能把旧提示解释成另一种行为。
执行轨迹 → 失败账本 → 小范围 Harness 补丁 → shadow / held-out 验证 → 准入与回滚 → 累积跨任务稳定样本 → 周期性 Model 更新 → 通用回归与安全评测 → 重新基准化 Harness。这里“先外后内”不是保守,而是在信用分配清楚之前保持可观测性。
我对两条路线的判断
未来 1–2 年,产品价值大概率先集中在 Harness。原因不是它理论上更高级,而是反馈周期短、可以使用真实业务日志、错误可定位、更新可撤回。大多数团队真正缺少的是可靠轨迹、失败分类、准入评测和回滚,不是再多一种在线 RL 算法。
长期能力上限仍取决于 Model。如果每个新任务都要塞入越来越长的规则、案例和工具说明,Harness 会遇到上下文成本、冲突和模型服从能力的上限。只有把稳定的搜索模式、领域直觉和工具使用先验吸收进权重,系统才可能在不携带全部历史的情况下获得更强起点。
真正难的不是两个循环都打开,而是控制耦合。如果 Harness 与 Model 同时快速变化,失败无法归因:是 prompt 退化、数据分布改变、梯度更新破坏能力,还是 verifier 被利用?因此实际系统应让 Harness 高频小步、Model 低频批量,并为每次 Model 更新冻结一份 Harness 基线和私有回归集。
独立判断:分类要用两条轴,而不是一棵三层树
Artifacts / Harness / Model 只回答更新写到哪里,没有回答更新是否真的构成自我改进。更可靠的判断需要第二条独立轴:更新能否跨任务持久化、是否在 held-out 任务上泛化、是否在固定预算下优于简单搜索,以及改进后的系统能否成为更强的改进者。
| 改进层级 | 最低证据 | 典型系统 | 不能推出什么 |
|---|---|---|---|
| 结果优化 | 同一目标下 best-so-far 变好 | Autoresearch、AlphaEvolve | 不能推出 Agent 本身学习了 |
| 持久适应 | 更新写回后续任务可复用 | skill / memory / harness 更新 | 不能推出分布外有效或总体净收益 |
| 可泛化自我改进 | 固定预算、私有评测、held-out 任务仍胜 | AIDE² Level 1 的目标 | 不能推出改进速度会继续加速 |
| 递归改进 | 新系统作为 improver 时渐近优于旧系统 | 尚缺强证据 | 不能仅凭一次更快到顶就宣称 ignition |
| 加速递归 | 固定物理预算下改进斜率持续上升 | 当前无可信示例 | 不能从短期 benchmark 曲线外推智能爆炸 |
只要目标、评分器、任务分布和准入门槛仍由人固定,系统就在一个人类预先画好的适应度地形上搜索。它可能非常自主地改代码,却没有自主决定什么值得改。真正的递归改进不只要求 proposer 变强,还要求 evaluator 的覆盖、抗利用性与治理同步升级;否则生成器越强,越可能只是更快地过拟合或利用固定评测。
这也解释了为什么预算匹配是核心而非评测细节。Harness evolution、best-of-\(N\)、并行采样与顺序 refinement 都在消费更多候选、反馈和推理。只有在相同总成本、相同信息访问和相同 held-out 协议下,才能把收益归因于“学到了更好的更新结构”。否则,“进化”可能只是 test-time search 的重新命名。
工程上应该怎么做
- 先从 Harness 开始。它比权重更新轻、可审计、可回滚,最适合建立真实闭环;但每个写回都要有版本、来源、作用域和失效条件。
- 把搜索预算列入基线。与同成本的多采样、顺序改写和人工规则比较,避免把额外推理包装成方法增益。
- 分离 public signal 与 promotion gate。Agent 可以看到训练反馈,但最终准入应依赖私有任务、回归集和无法直接针对优化的检查。
- 测 improver transfer。不要只看新 Agent 解题更强,还要把它放到“改另一个 Agent”的位置,测试是否更快、更稳、更能跨域地产生有效更新。
- 保护治理状态。权限、评测器、回滚策略和安全边界不应与普通 prompt、skill 一样被无条件自修改。
术语与容易混淆的边界
证据边界与资料索引
主材料为周星星于 2026-07-30 编辑的知乎文章。机构内部结果均按发布方报告处理;本页进一步核对 RHI 88 页论文的算法、实验、消融和附录,以及 Ai2、SIA、Continual Harness 全文中的设置、结果和限制,并检查后三者官方仓库。没有独立复现 LoRA 训练、长程游戏运行或内部 benchmark;当前未找到 RHI 作者提供的官方代码。四项工作均为 2026 年公开预印本,其结论可能随版本、代码发布和独立复现更新。
- 周星星:《自进化(Self-evolving/RSI),一篇就够了》
- Shilong Liu:A Taxonomy of Self-evolving Agents
- OpenAI:GPT‑5.6
- Anthropic:When AI builds itself
- Karpathy:autoresearch
- Google DeepMind:AlphaEvolve
- MiniMax:M2.7 — Early Echoes of Self-Evolution
- Recursive Harness Self-Improvement
- Rethinking the Evaluation of Harness Evolution for Agents
- Ai2 Harness Evolution 评测:官方代码
- Weco AI:AIDE²
- SIA: Self Improving AI with Harness & Weight Updates
- SIA:官方代码
- Continual Harness: Online Adaptation for Self-Improving Foundation Agents
- Continual Harness:官方代码
- Nous Research:Hermes Agent