Paper

论文式精读:openJiuwen 的双维度 RSI 框架,把「Harness 优化」和「产物优化」拆成两件事

DOC
N°798
DATE
Sep 17, 2026
READ
6 min read
TAGS
openJiuwen, WorkSwarm, RSI, SelfImprovement, AgentHarness, SWEbench

自我改进是智能体领域被讨论得最多、落地得最少的方向之一。原因不复杂:大多数团队卡在第一步——改进的对象到底是什么。

如果对象是提示词,那它改的是工作方法;如果对象是最终交付物,那它改的是产出结果。这两件事的优化信号不同、验证方式不同、失败模式也不同。把它们混在一个循环里,梯度会互相抵消。

openJiuwen 这个开源智能体平台给出的答案,是把它们拆开。

一、双维度:Harness 与 Artifacts

框架的全称是双维度 RSI(Recursive Self-Improvement,递归自我改进),两个维度各自独立优化:

维度优化对象典型问题
Harness智能体的工作方法:提示词、工具描述、控制流、失败恢复出现失败案例,怎么改工作方式
Artifacts交付物本身:论文、算法程序、报告产物质量不够,怎么打磨这一版

这个拆分有个直接好处:两者的证据结构不一样。Harness 优化的证据来自「同一批任务上用新方法跑的结果」,Artifacts 优化的证据来自「这一版产物本身的评分」。分开之后,每一侧都能用最合适的信号做决策。

要理解它的位置,需要知道前置背景:openJiuwen 早在今年 6 月就发布过 Auto Harness 能力,那套东西是评测驱动的、覆盖 Harness 全栈组件的端到端自动优化框架。RSI 是在它之上加了两样东西——从真实任务反馈中生成改进方案,以及对非 Harness 对象(即交付物)的优化能力。

二、四层架构

RSI 的工程骨架被分成四层,每层解决一个明确的问题:

任务层        优化什么 / 如何评价 / 能用多少资源
   │
迭代优化层     下一步试什么 / 哪些改进可以采纳
   │
执行层        尝试优化并检测结果
   │
基础框架层     运行 / 模型与上下文 / 沙箱隔离
             状态恢复 / 可观测性

这个分层值得逐层看,因为每一层都对应一个实际会踩的坑:

任务层负责把「目标」翻译成「可执行可评估的过程」。它要回答三个问题,而第三个问题「能用多少资源」经常被忽略——没有预算约束的优化循环会无限探索下去。

迭代优化层是搜索算法的所在。它决定下一步试什么,以及更重要的:哪些改进可以被采纳。后者的判定标准就是前面说的可验证执行证据。

执行层负责实际跑一遍并检测结果。这一层要处理的是沙箱隔离和状态恢复——长循环里任何一步崩掉,如果状态不可恢复,整轮实验都要重来。

基础框架层提供统一的运行、模型与上下文管理、可观测性能力。

三、两个关键的设计选择

在整套设计里,有两个选择决定了它和「随手写个优化循环」的区别。

第一,优化对象是版本化的。

这不是「生成新版本覆盖旧版本」,而是维护一棵搜索树。框架明确以「版本化优化对象」为核心之一,实验详情页会持续展示得分、迭代轮次、模型用量和搜索树结构。

版本化带来一个隐性好处:未采用的改动不会消失。面板会记录每一轮的改动细节、评测结果,以及没有被采纳的原因。最后这一项是绝大多数优化流程会直接丢掉的信息——而它恰恰是下次搜索时最有价值的负样本。

第二,改进必须有可验证的执行证据。

这是整个闭环能自我纠偏的前提。改进方案不是被「看起来更好」采纳的,而是被「在评测集上确实更好」采纳的。

⚠️ 这条约束同时限制了适用范围:它要求你有评测集。没有可验证的评测信号,框架无从判断哪次改进该被采纳。所以它天然适用于有明确评分规则的场景,对纯开放式任务帮助有限。

四、使用流程

框架被做成了产品化的四步流程,不需要写代码就能发起一轮优化:

第一步,准备评测集。 提交一个 JSON,包含用例知识、任务要求、评测方式、参考答案和评分规则五项。这是整条链路里最需要人工投入的部分,也是效果上限的决定因素。

第二步,创建实验。 在实验页面选择优化类型(Harness 优化或产物优化),然后选优化模型、测试模型、初始插件,再选评测集、评测方式和最大迭代轮次。

选择上有个细节值得注意:优化模型与测试模型是分开的。这意味着可以用强模型做搜索、用目标模型做验证,避免优化出来的方法只适配搜索时用的那个模型。

第三步,执行自动迭代。 页面持续展示得分曲线、迭代轮次、模型用量和搜索树——试错和被采纳的过程是可见的。

第四步,安装结果。 实验产出有效版本后点击「安装插件」,最优 Harness 作为插件包导入并热加载。

五、报告的数字

框架在三个场景上给出了实测,其中两个带明确基准:

Harness 优化
  SWE-bench Lite 通过率          61.0%  →  87.0%
  Evo-Bench General (64 题, 冻结)
    单次执行通过率               60.9%  →  71.9%

算力亲和(昇腾基础设施)
  响应速度                      提升近 16%
  最慢场景                      提升超过 19%
  上下文缓存命中率               7.53%  →  14.36%
  关键存储资源消耗               下降 20% 至 30%

第二组数字是整个报告里最值得信赖的部分。61.0% 到 87.0% 是在优化所针对的那套东西上测的,天然有利;而把优化后的 Harness 冻结,拿到 64 道独立题上跑单次执行,得到 60.9% 到 71.9%——这个提升幅度小得多,但它是「泛化了多少」而不是「拟合了多少」。

这两个数字的差距(26 个百分点对 11 个百分点)本身就是信息:搜索得到的改进有一半以上是贴合特定评测集的。这不是缺陷,而是所有自动化优化的固有代价,能被诚实报出来反而说明测量做得认真。

算力侧的那组数字则是纯工程收益。多轮优化的成本瓶颈不在模型能力而在重复计算——提示词、工具描述、任务材料每轮都要重新走一遍,缓存命中率从 7.53% 提到 14.36% 直接意味着重复计算减半。

六、该有的怀疑

第一,评测集是人工前置投入。 五个字段里「用例知识」「参考答案」「评分规则」都要人来写。这决定了冷启动成本不低,也决定了它不适合「先跑起来再说」的探索期。

第二,搜索空间的边界没有明说。 Harness 的可优化范围是提示词、工具描述、控制流、失败恢复全栈,但实际搜索算法的探索能力有多强、会不会陷入局部最优,公开信息不足。

第三,泛化差距需要逐场景验证。 26 个点对 11 个点的差距说明训练集提升不能外推。换任务域时应该重新测冻结后的表现。

第四,算力亲和的收益依赖昇腾栈。 上下文缓存调度的收益与基础设施强相关,在别的计算平台上能复现多少需要实测。

结语

这个框架最值得借鉴的不是它的搜索算法——那部分公开信息有限。真正有价值的是问题拆解:

把「让智能体越干越好」拆成「改工作方法」和「改交付物」两条独立轨道;给每条轨道配上版本化的优化对象;规定每一次采纳都必须有可验证的执行证据;把未采纳的原因也记录下来。

这四条里没有一条依赖特定的模型或算力,任何在搭建自我改进流程的团队都可以直接移植。至于它报告的提升幅度,读法是:看冻结后的独立评测数字,而不是训练集上的数字。

Frequently asked questions

Harness 和 Artifacts 这两个维度到底怎么区分?
Harness 是智能体的工作方法——提示词、工具描述、控制流、失败恢复策略这些决定「它怎么做」的部分。Artifacts 是它产出的交付物本身——一篇论文、一段算法程序。前者改的是过程,后者改的是结果。区分开的意义在于:同一个交付物可以由不同的工作方法产出,而同一个工作方法面对不同交付物会有不同表现,混在一起优化会让梯度互相干扰。
为什么 Artifacts 优化不能算成普通的迭代重写?
区别在于优化的对象被版本化了,而且每次改动都要带可验证的执行证据。普通重写是「再生成一版看看」,没有版本树、没有失败原因记录、也没有评分锚点。RSI 的实验详情页会记录每一轮的改动细节、评测结果以及未被采用的原因——后者尤其关键,它把失败的尝试也变成可复用的信息,而不是被丢弃的垃圾。
SWE-bench Lite 从 61% 到 87% 这个提升可信吗?
要分开读两个数字。61.0% 到 87.0% 是通过率提升,但它对应的是一套经过搜索的 Harness。为了避免过拟合,报告里还有一个交叉验证:把优化后的 Harness 冻结,拿到 Evo-Bench General 的 64 道独立题上跑,单次执行通过率从 60.9% 提升到 71.9%。冻结加独立题集这个设计,比单纯看训练集上的提升有说服力得多。
「算力亲和」是什么,为什么多轮优化需要它?
多轮优化的实质是反复生成候选、执行任务、评测结果,背后是对提示词、工具描述和任务材料的大量重复使用。算力亲和依托昇腾基础设施,让计算引擎能感知智能体的工作状态,通过上下文缓存调度来减少重复计算。实测响应速度提升近 16%、最慢场景超过 19%,缓存命中率从 7.53% 提升到 14.36%,关键存储资源消耗下降两到三成。
这类自我改进框架的边界在哪里?
最大的边界是评测集的质量。整个闭环建立在「有评测集、有评分规则」这个前提上,如果没有可验证的评测信号,框架就无从判断哪次改进该被采纳。其次是成本:迭代轮次越多,重复执行的算力开销越大。最后是适用范围——它在需要反复试错、有明确评测方式的场景里表现最好,对开放式创作类任务帮助有限。
// next.txt ›

Some outbound links in this post are affiliate links — see disclosure.