RSIHub:与其再造一个"自我改进智能体",不如先把赛道修平

🎯 核心摘要

做 Agent 自我演化(agent-evolution)研究的人,大多有个共同的隐痛:真正想创新的只是"演化策略"那一小块,可每次都得把整个实验机器重造一遍——隔离工作区、跑任务、评分、存档、崩溃恢复、谱系记录,全都要。RSIHub 就是冲着这个重复劳动来的:它把执行、评估、恢复、谱系这些公共底盘抽成框架,研究者只用写一份几十行的"配方"(Recipe)加几个算子,就能把 AHE、Hyperagents、A-Evolve、GEPA 四种风格迥异的演化方法跑在同一套基础设施上,而且框架核心代码一行没改。在 Terminal Bench 2 上,最大的总体 pass@1 提升达到 13.5 个百分点;但更有意思的是反面结论——方法排名随设置翻转,训练集上赚到的分数经常带不到 held-out 任务上。这篇论文的价值不在某个新方法,而在于它给这个正在野蛮生长的领域修了一条可比、可审计的公共赛道。NeurIPS 2026 Meta-Agents Workshop 接收,值得做 Agent 方向的同行细读。


📖 论文信息

  • 标题:RSIHub: A Composable Framework for Agent-Evolution Methods
  • 作者:Zimu Wang, Xiaobo Wang, Siyu Ye, Jiaqi Li, Silin Chen, Yuling Shi, Ruobing Wang, Jingjing Zhang, Chaofan Wang, Kai Wu, Mengnan Qi, Kai Cai, Xiaodong Gu, Zilong Zheng
  • 发表:NeurIPS 2026 Meta-Agents Workshop,arXiv 提交于 2026 年 10 月 23 日
  • 链接:https://arxiv.org/abs/2610.32253
  • 开源:以 Apache-2.0 协议通过 Simple Agent Lab 发布,含可运行 recipes、可复用算子、文档和实验查看器

🤔 为什么需要这篇论文

先交代下背景。所谓 agent-evolution,就是把人类开发者"看执行日志 → 改 prompt/技能/工具 → 重新评估"这个循环自动化:系统自己跑任务、自己分析失败、自己改自己,然后再跑一轮。GEPA 改 prompt,AHE 改 harness 代码,Hyperagents 更激进——连"改进程序本身"都允许改。

听起来很美好,但说实话,我之前看这类工作的代码时,总有种既视感:每个项目都有一大坨长得差不多的基础设施代码。给候选版本开隔离工作区、跑任务集、收工件、崩溃后接着跑、记录谁是谁的爹——这些东西跟方法本身的创新毫无关系,却占了工程量的绝大部分。

RSIHub 的作者把这层窗户纸捅破了,指出三个具体痛点:

  1. 重复造轮子:实现一个方法 = 重建一整套端到端系统。
  2. 无法公平比较:不同方法的 runner、配置、评估器接口各不相同,比较时先得对齐一堆跟方法无关的东西。
  3. 归因污染:这一点我觉得最尖锐。在"什么都能改"的演化系统里,如果方法控制的修改碰到了评估过程或记录保存,那"表面上的增益"到底是真的能力提升,还是评估被悄悄动了手脚?根本说不清。

第三个痛点其实是个信任问题。当一个自我改进系统报告"我涨了 10 个点"时,你怎么知道它没在改自己的考卷?RSIHub 的核心设计原则之一就是:评分必须放在方法够不着的地方。


🏗️ RSIHub 是怎么设计的

先给一句话版本:RSIHub 把演化循环拆成一条固定流水线,方法能插拔的只有流水线上的"算子",而评估、档案、工作区这些关键设施由框架独占,方法碰不到。

图1:RSIHub 整体工作流

图1:RSIHub 的三层结构。中间是演化循环(Evolution Loop),七个阶段围绕候选(Candidate)流转,其中绿色为方法可定制的策略阶段(Select、Rollout、Analyze、Mutate、Absorb),橙色为框架控制的阶段(Guardrail、Evaluate);左侧是演化驱动层,支持配方驱动(Recipe-Driven,如 evolve.yaml 声明 target、surface、operators、数据划分 train 0.5 / gate 0.3 / sealed 0.2)和智能体驱动(Agent-Driven,外层 agent 控制循环)两种模式,下方是验证档案(Verified Archive);右侧是受保护运行时(Protected Runtime),包含基于 Harbor 的执行器、评估与 train/gate/sealed 划分、以及隔离的工作区。

七个阶段的生命周期

候选版本在循环里走一条固定的流水线:

Select → Rollout → Analyze → Mutate → Guardrail → Evaluate → Absorb

用一张表说清楚每一步干什么:

阶段 干什么 谁控制
Select 从档案里挑合格的父代,fork 它精确记录的 commit 方法
Rollout 在训练任务上跑父代,收执行证据 方法
Analyze* 把 rollout 案例提炼成有界的变异证据(失败模式、压缩轨迹) 方法(可选)
Mutate 在声明的可变表面内提出编辑,可以是多轮 agent 方法
Guardrail 检查实际代码 diff 有没有越出可变表面 框架
Evaluate 在 gate 任务上对干净 checkout 评分并认证 框架
Absorb 按认证分数决定子代是否成为父代,记入档案 方法 + 框架

注意颜色的分界:Guardrail 和 Evaluate 是框架的地盘。方法可以随便改候选的 prompt 和代码,但"考卷"(评估器、sealed 任务集)和"成绩单"(认证评估记录)方法摸不到。Validate 和 Novelty 两个可选接口还能在评估前拒掉不合规或近似重复的提案,省评估预算。

这套设计里我最喜欢的是可变表面(mutable surface)声明。Recipe 里要明确写出"这个候选允许改哪些资源"——可以只是 prompt,可以是 target 程序的技能文件,激进一点可以是整个 harness。Guardrail 阶段框架会拿实际 diff 对照声明,越界直接拒。这就把"方法能改什么"从隐含约定变成了显式契约。

Recipe:几十行配置换一个方法

一个方法在 RSIHub 里就是一份 Recipe:给每个算子接口绑实现、声明可变表面、指定 target/evaluator/runtime/数据划分。论文给的数字相当有说服力——四种方法的 Recipe 只有 47 到 61 行,每个方法各复用 2 个现成算子绑定,框架源码零修改。方法特定的算子代码从 Hyperagents 的 216 行到 AHE 的 1087 行不等。

方法 Recipe 行数 新算子代码行数 复用算子 框架文件修改
AHE 47 1087 2 0
Hyperagents 48 216 2 0
A-Evolve 57 684 2 0
GEPA 61 745 2 0

底层执行构建在 Harbor 之上(容器执行、轨迹捕获、逐任务验证),RSIHub 在其上管理候选谱系、train/gate/sealed 三划分、可变表面执行和认证评估记录。每次认证评估事件都绑定一串东西:提交的候选、父代、recipe 快照、评估器与任务集指纹、分数、成本、谱系——全部进验证档案,事后可审计。

四种实例化方法

Recipe 搜索行为 变异焦点
hill_climb 从最优父代继续(最小基线) target
A-Evolve 目标导向的持久适应 prompt、target 技能
AHE 基于执行证据的 harness 修订 target
GEPA Pareto 选择 + minibatch 验证 prompt、任务技能
Hyperagents 协同演化 target 与演化策略本身 target、选定的算子

这四个方法覆盖了从"只调 prompt"(GEPA)到"连演化算子都能改"(Hyperagents)的整个光谱。能用同一套框架装下它们,本身就是对框架表达力的压力测试。


🧪 实验:统一赛道上的第一次公平赛跑

设置

  • 种子智能体:MiniSWE 2.4.5 和 Codex 0.143.0
  • 模型:目标模型统一 GPT-5.4(high reasoning effort),变异 agent 用 GPT-5.4(xhigh),跨所有设置固定
  • 基准:Terminal Bench 2(89 任务 = 50 train + 19 gate + 20 sealed)和 τ³ Banking(97 任务 = 50 train + 20 gate + 27 sealed)
  • 指标:pass@1,每任务 1 次试验;每代 1 个子代,最多 10 代

train/gate/sealed 三划分值得展开说一句:train 是变异 agent 能看到反馈的;gate 是框架用来决定"子代能不能当爹"的认证考试;sealed 完全封存,只做最终 held-out 报告。这个划分就是冲着"优化增益到底泛不泛化"这个问题去的。

主结果:排名会翻转,增益会蒸发

Terminal Bench 2 上的 pass@1(括号内为相对 seed 的变化,单位百分点):

Agent 方法 Train Gate Sealed Overall
MiniSWE Seed 32.6 12.4 11.2 56.2
MiniSWE AHE 37.1 (+4.5) 12.4 (+0.0) 15.7 (+4.5) 65.2 (+9.0)
MiniSWE Hyperagents 36.0 (+3.4) 16.9 (+4.5) 16.9 (+5.6) 69.7 (+13.5)
MiniSWE A-Evolve 40.5 (+7.9) 12.4 (+0.0) 16.9 (+5.6) 69.7 (+13.5)
MiniSWE GEPA 36.0 (+3.4) 12.4 (+0.0) 15.7 (+4.5) 64.0 (+7.8)
Codex Seed 39.3 15.7 14.6 69.7
Codex AHE 42.7 (+3.4) 12.4 (−3.4) 16.9 (+2.2) 71.9 (+2.2)
Codex Hyperagents 41.6 (+2.3) 13.5 (−2.2) 15.7 (+1.1) 70.8 (+1.1)
Codex A-Evolve 40.5 (+1.1) 15.7 (+0.0) 14.6 (+0.0) 70.8 (+1.1)
Codex GEPA 39.3 (+0.0) 15.7 (+0.0) 14.6 (+0.0) 69.7 (+0.0)

τ³ Banking 上的 pass@1:

Agent 方法 Train Gate Sealed Overall
MiniSWE Seed 12.4 6.2 9.3 27.8
MiniSWE AHE 16.5 (+4.1) 7.2 (+1.0) 5.2 (−4.1) 28.9 (+1.1)
MiniSWE Hyperagents 17.5 (+5.1) 8.2 (+2.0) 7.2 (−2.1) 33.0 (+5.2)
MiniSWE A-Evolve 12.4 (+0.0) 6.2 (+0.0) 9.3 (+0.0) 27.8 (+0.0)
MiniSWE GEPA 11.3 (−1.1) 11.3 (+5.1) 7.2 (−2.1) 29.9 (+2.1)
Codex Seed 16.5 5.2 3.1 24.7
Codex AHE 17.5 (+1.0) 8.2 (+3.0) 8.2 (+5.1) 34.0 (+9.3)
Codex Hyperagents 15.5 (−1.0) 6.2 (+1.0) 7.2 (+4.1) 28.9 (+4.2)
Codex A-Evolve 15.5 (−1.0) 7.2 (+2.0) 6.2 (+3.1) 28.9 (+4.2)
Codex GEPA 16.5 (+0.0) 9.3 (+4.1) 7.2 (+4.1) 33.0 (+8.3)

说实话,这张表的信息量比"最大涨 13.5 个点"丰富得多,我认为有三个发现真正值钱。

发现一:没有任何方法一统天下。 TB2 + MiniSWE 上 Hyperagents 和 A-Evolve 并列第一(69.7);换到更强的 Codex 基线,AHE 成了最佳(71.9),GEPA 干脆原地踏步;到了 τ³ Banking,MiniSWE 上 Hyperagents 涨最多(+5.2),Codex 上则是 AHE 领涨(+9.3)而 A-Evolve 在 MiniSWE 上直接零提升。方法排名随基准和种子 agent 完全翻转。

发现二:总体分数会撒谎。 看 TB2 + Codex 那几行:AHE 总体涨了 2.2 个点,但 gate 划分掉了 3.4 个点;Hyperagents 总体 +1.1,gate 掉 2.2。τ³ + MiniSWE 更典型——Hyperagents 总体增益最大(+5.2),sealed 却回退 2.1;AHE 的 sealed 掉了 4.1 个点。如果不是三划分分开报告,只看 Overall,你根本不会知道这些"提升"里有水分。训练集上赚的分数,经常带不出考场。

发现三:基线越弱,演化收益越大。 MiniSWE 在 TB2 上四种方法涨了 7.8 到 13.5 个点,而更强的 Codex 最多只涨 2.2。演化方法更像是在补种子 agent 的短板,而不是无上限地增强。

等等,还有个容易忽略的点:每任务只跑 1 次试验、没有重复运行,作者自己也承认这些点估计"未确立统计稳定性"。2 到 4 个点的差异在这个方差量级下其实不能过度解读。但反过来想,这也正是框架论文的意义——先把可比性设施建好,统计严谨性后面再补。

框架本身靠谱吗

框架论文最怕的是:赛道本身不平。作者做了三组验证。

执行保真度:同一 seed 在直接执行 vs RSIHub 执行下对比(三次重复 Avg@3),TB2 上 RSIHub 比 Direct 低 2.6 个点,τ³ + Codex 上反而高 3.4。关键在于 Direct 执行自身在 12.0% 到 18.9% 的任务上就有分歧——环境本身噪声就不小,RSIHub 的成绩(如 Codex 的 61.4)落在六次直接执行的 60.7–65.2 区间内。算是及格。

故障注入与边界执行:这是我觉得最硬核的测试。7 类恶意/故障场景,每类 30 次试验,共 420 次:变异中途杀掉进程、评估中途杀掉、盖章后杀掉、候选试图修改评估器文件、试图往可变表面外写东西、变异期间试图偷看受保护证据、伪造档案结果。420 次全部按预期处理——恢复场景正确恢复,越界场景正确拒绝,伪造场景正确识破。中位处理延迟大多在 5 秒以内。

框架开销:框架独占耗时占端到端生成时间的比例,TB2 中位数只有 0.02%,τ³ 为 0.019%。大头是工作区初始化和候选快照创建(TB2 上中位 756ms,P95 接近 3 秒),但相对 agent 动辄几十分钟的一代执行,完全可以忽略。


💡 我的判断

这篇论文最值钱的地方,不在于某个方法涨了几个点,而在于它把一件业界心照不宣的脏事摆上了台面:自我改进系统的实验,长期以来既当运动员又当裁判员。 方法自己控评佉、自己记档,涨了多少全靠自觉。RSIHub 用"可变表面声明 + 框架独占评估 + 哈希绑定的认证记录"三件套,把这个信任问题工程化地解决了——至少在这套框架内,运动员碰不到记分牌。

批判性地说几句。一是实验规模偏小:每配置最多 10 代、每任务 1 次试验、没有重复运行,很多 2-4 个点的差异很难说不是噪声,作者对此也算坦诚。二是四种方法的适配多少有点"削足适履"的嫌疑——比如 Hyperagents 原本的自我修改能力被限制在"选定的算子"内,这是框架表达力的边界,也是安全边界,两头难。三是信任假设那一串(可信框架服务、主机文件系统保护、Git 操作、外部服务)其实挺重的,作者明确说了运行时指纹不能替代真正的 attestation,对恶意代码没有防御能力。这套东西是研究基础设施,不是生产级安全方案。

跟同期工作比,它更像 ML 领域的 MLflow + OpenAI Gym 的组合定位:不提供更强的算法,提供让算法可比较、可复现的协议。考虑到 agent-evolution 这个方向 2025 年以来的爆发速度,这种基础设施来得正是时候——甚至可以说有点晚了。

对工程的启发很直接:如果你正在搭自己的 agent 自我改进实验,与其从某个开源方法 fork 一坨代码,不如想想你的"可变表面"是什么、评估放在谁手里、崩溃后谱系能不能恢复。这三个问题想清楚,比选哪个演化算法重要得多。


觉得有启发的话,欢迎点赞、在看、转发。跟进最新AI前沿,关注我