← 返回 2026-07-20

递归式智能体框架自我改进(RHI) Recursive Harness Self-Improvement

Hyunin Lee, Jinglue Xu, Jeffrey Seely, Donghyun Lee, Matei Zaharia, Yujin Tang 📅 2026-07-17 👍 24 2026-07-25 18:30
LLM编程代理 多智能体系统 智能体框架优化 测试时计算 递归自我改进

少量迭代优化任务专属提示级智能体框架,超越最强推理档并省最多60%成本。

前置知识

Harness(智能体执行框架/支架)

Harness 指围绕基础模型构建的系统层:包括提示、工具调用循环、路由、记忆、验证和单/多智能体控制流。本文把 harness 具体定义为「智能体循环本身」,即 agent 的角色(role)、指令(instruction)、智能体间交换信息的契约(contract)以及控制编排器-子智能体工作流顺序的跳转步(hop)。契约规定哪些信息在智能体之间传递,hop 规定交互结构。

理解 harness 的这四元分解是读懂 RHI 的前提,因为 RHI 优化的正是这四类文本组件,且消融实验发现收益主要来自 contract 与 hop。

Test-time scaling(测试时计算扩展)

指在推理阶段通过增加计算来提升性能,常见手段包括提高推理强度(reasoning effort,如 high/xhigh/max/ultracode)、并行采样多条候选、或顺序自我精炼。它的本质是「让模型在同一任务上多花推理算力」,往往伴随更长的输出 token 和更高的缓存读写。

RHI 的核心论点就是「超越同族模型的测试时扩展天花板」,所以必须先理解测试时扩展是在比什么、靠什么涨点。

Pairwise preference evaluation(成对偏好评估)

对于开放式、难以用单一标量打分的输出(如完整代码仓库),评估器 $L_{eval}$ 对两个输出 $y_1,y_2$ 做成对比较,返回三种判定之一:$y_1 \succ y_2$、$y_1 \sim y_2$ 或 $y_2 \succ y_1$。本文用 LLM-as-a-judge 在 6 个维度(交付完整性、数值严谨性、可复现性、表达质量、工程质量、任务对齐)下做偏好判定,并用多个评测模型和随机种子取均值。

RHI 的每一次迭代都依赖成对偏好作为更新信号,整条优化轨迹的「梯度」其实是一串 noisy 的成对偏好历史。

Mutual information & Total correlation(互信息与总相关性)

互信息 $I(X;Y)$ 衡量两个随机变量共享多少信息。总相关性 TC 是多变量推广:$\mathrm{TC}(X_1,\dots,X_n)=\sum_i H(X_i)-H(X_1,\dots,X_n)$,当变量间相互独立时为 0,越冗余越大。本文用它来量化 harness 各组件与任务的相关度($f_{ext}$)以及组件间的条件冗余度($f_{int}$)。

论文最后把 RHI 的隐式优化目标形式化成一个信息论假设 $J(g_i)=f_{ext}-\beta f_{int}$,不懂这两个量就无法理解第 6.3 节的核心贡献。

研究动机

在现代 AI 部署中,能力的提升越来越来自「基础模型 + harness」的协同演化,而非单靠更大的模型。harness 产出的高质量执行轨迹还能反过来训练下一代基础模型,形成数据飞轮。然而两类 harness 的改进都很难:厂商内置的通用 harness(如 Claude Code 的 ultracode 多智能体工作流)必须泛化到形形色色的用户和任务,持续更新的劳动力和金钱成本高得离谱;而用户自建的、可任务特化的 harness,虽然理论上更适合做 task-specific 优化,但「怎么优化」基本是一片空白。已有的群体搜索式方法(Meta-Harness、AutoHarness、ADAS、GPTSwarm、AFlow、AlphaEvolve 等)每多一个候选 harness,就要跑一次昂贵的黑盒智能体执行和评估。Wang et al. (2026) 甚至证明:一旦把搜索开销算进去,自动 harness 演化在固定推理预算下并不能稳定胜过并行采样、顺序精炼这类简单基线。所以在面向大量开放任务、每个任务预算有限的真实场景里,群体搜索这条路根本走不通。

本文的目标是本文要回答一个具体问题:能不能用「轻量级 + 少量迭代」的方式优化用户自建的 harness,从而抬高智能体测试时扩展的性能天花板?具体到可衡量的指标:优化方法每次迭代的计算开销应远小于群体搜索(理想是常数级),整个流程应在 1-5 次迭代内收敛;并且要用「低推理强度(high) + RHI 改进 harness」去击败「同族模型最大推理强度(xhigh/max/ultracode)」,同时把推理成本显著降下来(论文目标是最多省 60%)。此外,作者希望这套机制对所有可编辑对象只是「注入到黑盒编程智能体里的文本 harness」这一约束成立,从而能直接套用在商用闭源 agent 上。

与已有工作不同的是,本文抓住的是被前人忽视的两个关键点。第一,几乎所有已有方法都在「群体层面」做搜索——维护一个候选池 $S_i$ 并排序,但用户日常遇到的任务往往是「一次性」的,根本没有预算养一个群体。作者据此提出「轨迹局部松弛」:与其和任意竞争 harness 比,不如只和自己上一版的 harness 比,把对手分布 $\mu$ 换成 $\nu_i=\delta_{H^{(i-1)}_x}$,使每轮成本从 $\Theta(m^2)$ 降到 $\Theta(1)$。第二,已有 harness 搜索几乎都把 harness 当作「可执行代码」来演化,需要代码级控制;而本文把 harness 当作「提示级文本对象」注入黑盒 agent,这让方法可以直接用在闭源编程智能体上。这两个切入点共同把 harness 优化从「实验室里跑得起」变成了「用户日常用得起」。

核心方法

直觉上,RHI 像是一个「只和自己昨天比」的运动员:它不追求在庞大的 harness 联赛里拿第一,而是保证每一版 harness 都比上一版强一点点,靠累积的偏好历史稳步爬坡。技术路线是:把 harness 表示成一段纯文本规范,分解为「智能体设计」(角色 role、指令 instruction)和「智能体工作流」(契约 contract、跳转步 hop)两大块,并优先迭代工作流。每一轮,编码智能体 $A$ 用当前 harness $H^{(i)}_x$ 解任务得到输出 $y^{(i)}$;评估器 $L_{eval}$ 把 $y^{(i)}$ 和上一轮的 $y^{(i-1)}$ 做成对比较,得到偏好 $P.F^{(i)}$;这些偏好存进「自比较历史」$\mathcal{D}^{(i)}_x$;最后由一个 LLM harness 优化器 $L_{harness}$ 读历史、但不直接看评估提示 $x_{eval}$,把 harness 从 $H^{(i)}_x$ 改写成 $H^{(i+1)}_x$。整个过程对黑盒 agent 只改了输入提示,不动模型权重。

全文最核心的创新是「轨迹局部松弛 + 提示级 harness」。把理想群体目标 $f_x(H)=\mathbb{E}_{H'\sim\mu}[\mathbf{1}\{L_{eval}(y,y')=y\succ y'\}]$ 松弛成 $\hat{f}^{(i)}_x(H)=\mathbb{E}[\mathbf{1}\{L_{eval}(y,y^-)=y\succ y^-\}]$,其中对手 $y^-$ 只来自上一版 $H^{(i-1)}_x$。作者证明在标准偏好模型 $\Pr(H\succ H')=\sigma(u_x(H)-u_x(H'))$ 下,局部目标与全局目标单调同序,故每次成对比较提供「noisy local ascent」信号——赢的改法被保留,输的被丢弃。第二个关键是 harness 作为「提示级文本」而非代码来优化,配合累积的偏好历史 $\mathcal{D}^{(i)}_x$(harness 空间离散文本化,偏好不构成传统梯度,而被当作「动量语义信号」)。这让 RHI 与 Meta-Harness(维护群体和 Pareto 前沿)、Self-Harness(verifier 回归测试、多候选分支)结构上彻底区分开。

方法步骤详情

完整流程见 Algorithm 1。初始化:为每个任务 $x$ 准备初始 harness $H^{(0)}_x$ 和空历史 $\mathcal{D}_x$,智能体 $A$ 用 $H^{(0)}_x$ 解出初始输出。主循环(第 $i$ 轮):(1) 对每个任务 $x_j$,智能体用 $H^{(i)}_j$ 解任务得 $y_{ij}$,输入是 $x_j\cup H^{(i)}_j$(把演化 harness 作为文本拼进原任务提示);(2) 评估器 $L_{eval}$ 比较 $y_{ij}$ 与 $y_{(i-1)j}$,把判定追加进历史 $\mathcal{D}_j$;(3) 算整体改进率 $s_i=\frac{1}{n}\sum_j \mathbf{1}\{y_{ij}\succ y_{(i-1)j}\}$,若 $s_i<\epsilon$ 则提前停止;(4) 更新 $H^{(i+1)}_x\leftarrow L_{harness}(H^{(i)}_x,\mathcal{D}^{(i)}_x)$,此步不向 $L_{harness}$ 暴露 $x_{eval}$,只能通过历史偏好间接对齐评估标准。循环结束返回 $H^*_x$。关键点:每轮只产生 1 条新执行轨迹 + 1 次成对评估,上一版输出被缓存复用,故单轮成本 $\Theta(1)$。

技术新颖性

技术新颖性体现在三点。其一,目标函数层面:首创「轨迹局部松弛」$\nu_i=\delta_{H^{(i-1)}_x}$,把每轮成本压到 $\Theta(1)$,而理想目标是 $\Theta(M^2)$、有限群体搜索是 $\Theta(m^2)$(见 Table 1)。其二,表示层面:把 harness 当作「提示级文本」而非可执行代码,配合 role/instruction/contract/hop 四元分解,让方法能直接接进闭源黑盒编程智能体(如 Claude Code),不需要代码级控制权。其三,理论层面:作者没有止步于工程效果,而是把观测到的 harness 演化轨迹形式化为一个信息论隐式目标 $J(g_i)=f_{ext}-\beta f_{int}$,其中 $f_{ext}=\sum I(z^{(i)}_{hc,k};X)$ 鼓励 contract/hop 携带更多任务信息,$f_{int}=\mathrm{TC}$ 惩罚组件间冗余——这种「类 classifier-free guidance 的功能特化」解释在 harness 优化文献里相当新颖。

Recursive Harness Self-Improvement 流程示意
Figure 2: Recursive Harness Self-Improvement 流程示意
Decomposition of the RHI harness
Figure 3: Decomposition of the RHI harness
Schematic illustration of the objective implicitly induced by RHI
Figure 12: Schematic illustration of the objective implicitly induced by RHI

实验结果

在 30 个合成 ML 研究任务(量化金融/机器人/制药各 10 个)上有三个硬核发现。Claim 1:少量 RHI 迭代抬高测试时扩展天花板。sonnet-4.6 的 $H[2]$ 在 30 次成对比较中赢约 20 次击败 sonnet-4.6-max;opus-4.7 仅 1 次迭代($H[1]$)就同时超过 xhigh 和 max;opus-4.8 的 $H[2]$ 击败全部基线,尤其战胜厂商内置的 opus-4.8-ultracode,证明用户任务特化 harness 能在提示层超越系统级 harness。Claim 2:涨点不靠堆 token。sonnet-4.6 归一化输出 token 在 5 轮里基本持平(1.71-1.86),opus-4.8 也近乎持平(1.42-1.81),但性能持续上升,收益与「更长推理链」解耦。Claim 3:成本显著下降。sonnet-4.6-high+$H[2]$ 成本 2.38 比 max 的 2.56 低 7%、缓存读写降 33%(4.91→3.31);opus-4.7-high+$H[1]$ 成本 2.11 比 max 低 18%、缓存降 37%;opus-4.8-high+$H[2]$ 成本 1.69 比 max 低 23%、比 ultracode 低 60%,缓存读写分别降 32%/64%。消融还表明 RHI 是训练时扩展的「补充而非替代」;组件层面(详见表 2/3)contract 与 hop 的任务互信息单调上升、任务条件总相关 TC|task 单调下降,印证了信息论假设 $J=f_{ext}-\beta f_{int}$。

Per-iteration computational cost of three harness-search objectives
Table 1: Per-iteration computational cost of three harness-search objectives
Task mutual information I(hc; task) for four harness components
Table 2: Task mutual information I(hc; task) for four harness components
Few-shot RHI raises the performance plateaus of test-time scaling
Figure 1: Few-shot RHI raises the performance plateaus of test-time scaling
After two iterations, RHI raises the empirical ceiling of opus-4.8 test-time scaling
Figure 7: After two iterations, RHI raises the empirical ceiling of opus-4.8 test-time scaling
Evolution of full-harness representations across RHI iterations
Figure 9: Evolution of full-harness representations across RHI iterations
查看结构化数据
任务指标本文基线提升
30个合成ML研究任务(sonnet-4.6) 成对胜场(/30) sonnet-4.6-high+H[2] 赢约20场 sonnet-4.6-max RHI超越同族最强推理档
30个合成ML研究任务(opus-4.7) 成对胜率 opus-4.7-high+H[1] 胜出 opus-4.7-xhigh/max 仅1次迭代即超过xhigh与max
30个合成ML研究任务(opus-4.8) 成对胜率 opus-4.8-high+H[2] 全胜 opus-4.8-ultracode(厂商多智能体) 用户提示级harness超越系统级harness
推理成本(opus-4.8) 归一化成本 1.69 (high+H[2]) ultracode 4.15 / max 2.19 比ultracode省60%、比max省23%
缓存读写(sonnet-4.6) 归一化cacheRead+Write 3.31 (high+H[2]) max 4.91 降低33%

局限与改进

作者坦承了几点:评测是 LLM-as-a-judge 而非真实交付物 ground truth,存在评判偏差;编码智能体是黑盒,无法直接观察 harness 如何改变模型内部计算,所有组件分析都是「相关性而非因果性」的文本嵌入代理诊断;任务集仅 30 个合成任务、覆盖三个领域,泛化性存疑。对 opus-4.7,输出 token 与性能同时上升,无法把「更长输出」和「更好的 harness」两种解释区分开,证据不 conclusive。我自己还观察到:(1) 大幅成本节省出现在已经很强的 opus 模型上,作者自己也提醒不要解读成「RHI 对越强模型越有效」,更保守的解释是强模型上测试时扩展本身收益递减;(2) 改进率阈值 $\epsilon$、停止策略、$L_{harness}$ 提示工程等超参没有做敏感性分析;(3) benchmark 由 LLM 从招聘 JD 生成,可能存在与 Claude 系列模型的分布偏置。

独立分析的弱点

第一个弱点是「自比较」易陷局部最优:RHI 只和上一版比,若初始 $H^{(0)}_x$ 落在差区域,轨迹局部上升可能一直在低水平盆地打转。改进方向:每隔若干轮注入一次群体级比较或回溯到 $H^{(0)}$,或引入探索性重写跳出局部。第二个弱点是 $L_{harness}$ 反馈质量:消融显示只有 contract 稳定得快(连续相似度 0.48→0.72),role/instruction 几乎没动,作者也怀疑当前成对偏好信号对后几类组件太弱。改进方向:让 $L_{eval}$ 输出按组件归因的细粒度反馈,或引入 verifier 对可验证子目标打分。第三个弱点是任务特化可能过拟合:30 任务、每任务 2-5 轮,泛化到任务变体的能力未验证,改进方向是留一验证或加正则鼓励保留领域通用结构。第四个弱点是依赖昂贵的 LLM 评估器(gpt-5.5-max、opus-xhigh)产偏好,这部分成本未计入 RHI 总开销,实际落地可能吃掉节省的推理成本。

未来方向

作者明确点出下一步是完成「数据飞轮」的后半段:把 RHI 产出的高质量执行轨迹蒸馏回基础模型权重,验证「harness 改进→轨迹变好→模型变强」的闭环。基于本文成果还可延伸:(1) 把信息论假设 $J(g_i)=f_{ext}-\beta f_{int}$ 直接显式化,用估计的互信息/总相关作为 harness 优化的显式 reward,从而摆脱纯黑盒偏好;(2) 探索 contract 优化的稀疏注意力类比——既然 RHI 等价于「学习任务相关的智能体间通信稀疏模式」,可设计可微的稀疏 contract 掩码;(3) 跨任务复用 harness:RHI 现在每任务独立,可研究如何在同域任务间迁移一个 RHI 优化好的 harness,降低每任务开销;(4) 把 role/instruction 也纳入更强的优化信号,弥补当前只 contract 涨点的局限。

复现评估

复现门槛中等偏高。有利因素:方法本身很简洁(Algorithm 1 一页讲清),harness 表示和 harness 优化器提示都放在附录 B/C,任务样例在附录 D,评估器提示在附录 E,原则上可照着搭。不利因素:(1) 强依赖闭源商用模型——基座是 Claude sonnet-4.6/opus-4.7/opus-4.8,评估器是 gpt-5.5-max 和 opus,这些 API 既贵又有访问门槛;(2) benchmark 是作者用 LLM 从招聘 JD 自动生成的 30 个任务,没有公开数据集,读者很难拿到完全一致的任务;(3) 编码智能体的成本/缓存读写在「agent 内部成本函数」里记录,非开源 agent 难复现同样的归一化数值;(4) 每个评测要 2-6 个评测配置×3 个种子,算力开销不小。开源代码与数据未见随论文发布,整体复现度偏向「方法可复刻、数值难对齐」。建议想上手的人先用开源模型 + 自建小任务集复现方法,再关注是否放出 benchmark。