三个研究系统让 AI Agent 能够重写自己的提示词、技能、脚本和钩子。我们运行了 Harness²,重新计算了 MemoHarness 的成本,并对三者进行了对比。它们确实有效,但收益比标题宣传的要小,而缓存决定了谁更便宜。以及哪些经验值得复制到客户部署中。

作者:LUKAS HOFFMANN · FDEINTERVIEWS 编辑部 · 更新于 2026 年 10 月 21 日 · 阅读时间 10 分钟

实践这些内容:Harness²,论文解读 · 面向 FDE 的 Harness 工程,课程 · Agentic 评测与轨迹,概念 · 必知的 FDE 面试题

自我改进型 agent harness 让模型能够重写围绕另一个模型的指令、技能、脚本和钩子,保留有效的改动并记住原因。三个 2026 年的研究系统展示了三种实现方式:Meta-Harness 使用标签进行离线搜索,MemoHarness 先离线搜索然后在测试时针对具体案例进行适配,而 Harness² 则完全无需标签、逐任务改进 harness。我们运行了 Harness² 的免凭证演示,重新计算了 MemoHarness 的成本表,并重算了这两篇论文的算术。我们的观点:三者都有效,收益是真实的但比标题宣传的要小,而从中能带走的最好东西是一种纪律,而不是一个框架。将每一次 harness 修改都绑定到轨迹中的某个时刻。在保留改动之前,先在同一任务上运行验证。记录它是有效、有害还是存在混淆因素。在离线运行昂贵的循环,然后交付一个冻结的 harness。

为什么现在这很重要

一年前,“harness”指的是一个系统提示词加一些工具。现在它指的是一棵文件树:始终开启的指令、常设规则、记忆文件、工具指南、按需技能、辅助脚本、子 Agent,以及挂钩工具循环的插件。我们在关于 harness 工程的文章中介绍过团队如何手工构建这些内容。这些文件中的每一个,都是一个能力足够的模型可以编辑的对象。这些论文回答的问题是:让模型来做这种编辑,能否让 agent 变得更好,以及在什么样的证据条件下。

对于前沿部署工程师来说,这个问题非常具体。你到达客户现场,agent 在他们的文档上以没人预料到的方式失败,而你只有一周时间。针对每个失败手工调整 harness,撑不过前几个案例。自动改进承诺能做到这一点——前提是它能在没有标准答案的情况下区分好的改动和坏的改动。

三种方法并排对比

Meta-HarnessMemoHarnessHarness²
何时学习离线,部署之前离线搜索,然后在测试时针对具体案例适配在线,每个新任务上
是否需要标签需要,一个带评分的搜索集搜索阶段需要;测试时不需要任何阶段都不需要
编辑什么一个 harness 程序(代码)六个维度:上下文、工具、生成、编排、记忆、输出八个文件:提示词、护栏、记忆、工具指南、子 Agent、技能、脚本、插件
记住什么每个候选的代码、得分和原始轨迹逐案例条目加上提炼出的全局模式已采纳的 harness 加上每个任务一条 EXPERIENCE.md 经验
如何判断一次修改是否有帮助在搜索集上的得分在带标签案例上的奖励,成本作为平局决胜依据同一任务两次运行之间的行为对比
代码许可证MIT(stanford-iris-lab/meta-harness)截至 2026 年 10 月 21 日无许可证文件Apache-2.0
本站相关文章Meta-Harness(本文)Harness²

最关键的一行是第四行:各自如何判断一次修改是否有帮助。有标签时,你可以度量。没有标签时,Harness² 对比同一任务的两次运行并解读差异,例如“参考运行从未重新打开其输出文件,候选运行打开了,且其总额现在能对上账”。没有标签的自我改进就是自我一致性。它能可靠地改进过程(Agent 是否检查了自己的工作、是否使用了正确的工具、是否完成了交付物)。但它无法告诉你答案是否为真。

我们运行了什么

Harness² ships

harness2-demo

, which runs the real recursion and library code with deterministic local editors and real Python executions on two small accounting tasks, in both parallel and sequential modes. No model credentials are needed. We installed the repository at commit

1cfe254

in a clean environment and ran it at three budgets.

预算 k完成任务数Agent 执行次数编辑器调用次数
12 / 21416
22 / 22832
52 / 27068

计数与方法完全吻合。每个任务中,两种模式共享 k 次参考运行,然后并行递归增加 2k 次候选运行和 k 次组合运行,串行递归每步增加 3 次运行:即每任务 7k 次,或单模式 4k 次。这就是你要付出的乘数。在 k = 5 时,单个任务在单一模式下要花费二十次 Agent 运行和十七次编辑器会话。

它写入库中的条目是我们见过的对该方法最好的说明。对于第二个账本任务,demo 的 EXPERIENCE.md 记录了已采纳的 harness,然后每次修改一行:组件(scripts/summarize.py)、改动(去掉了只对正数金额求和的过滤器)、观察到的结果(探针的总和包含了参考运行遗漏的贷方金额),以及结论:有帮助。接着是一条可迁移的经验,带有触发线索(“当账本同时包含贷方和借方时”)及其所依据的证据。还要注意 demo 关于复用所展示的内容:第二个任务仍然从基础 harness 出发,仍然需要提出并探测这个修复。库引导下一次修改;它不会预先应用它。

scripts/summarize.py

), the change (dropped a filter that summed only positive amounts), what was observed (the probe's total included the credits the reference run omitted), and the verdict,

helped

. Then a transferable lesson with a cue ("when a ledger includes credits and debits") and the evidence it rests on. Note also what the demo shows about reuse: the second task still started from the base harness and still needed the fix to be proposed and probed.

The library guides the next edit; it does not pre-apply it.

这些数字,连同噪声一起保留

Harness²(Google Cloud AI Research 与西北大学,2026 年 10 月)在两个原生 harness 上测试了两个执行器——Gemini 3.5 Flash 和 GLM-5,覆盖三个基准,并使用 Claude Opus 4.8 作为编辑器。其中一个改进步骤在全部 12 种设置中都优于基础 harness,领先幅度为 1.2 到 11.8 分;每个范围五个候选者又额外带来 2.6 到 6.7 分的提升。在我们对 Harness² 论文的拆解中,我们使用报告的均值和标准差(各三次运行)将每个单步优势与最强竞争方法进行了比较:12 项中只有 1 项明显大于噪声。更强的证据是符号模式:在 12 项设置中有 12 项领先于基础 harness,在 12 项中有 11 项领先于最佳基线。还有一个需要注意的地方:在 JobBench 上,评分器也是 Claude Opus 4.8,与编辑 harness 并挑选最终答案的模型是同一个。

MemoHarness(圣母大学、慕尼黑大学和南加州大学,2026 年 7 月)使用 GPT-5.3-Codex 搜索了一个六维的 harness 空间,并在测试时针对每个案例进行适配。在一个包含 18 个任务的 Terminal-Bench 留出集上,它得分为 0.806,而最强基线 Codex 为 0.722:每次运行大约多完成一个半任务。FinanceAgent 从 0.600 提升到 0.767,LiveCodeBench 从 0.900 提升到 0.967。作者异常坦诚:他们的局限性部分指出主数据集只有 18 个任务,结果是点估计且没有置信区间,并且经验库和测试时适配并未在每种设置下都单独进行消融实验。他们还报告了通过验证集选出的 harness,而不是训练过程中的峰值(第 4 次迭代时为 0.833),这是正确的选择。

成本声明实际上是一个缓存声明。MemoHarness 在 Terminal-Bench 数据集上报告的成本为 6.89 美元,而 Codex 为 10.28 美元,Claude Code 为 9.51 美元,因此它看起来既更便宜又更好。但它也是其表格中所有系统里输入 token 最多的,达 1418 万,其中 1332 万(94%)是缓存命中。我们从表格中反推出每 token 的价格(这些价格与全部五行数据的拟合误差在六美分以内:约每百万输入 token 1.77 美元、缓存 0.18 美元、输出 13.36 美元),并在无缓存命中的情况下重新计算了每笔账单。

来源:MemoHarness 表 4。报告的成本来自论文;无缓存估算值是我们根据其 token 数量推断出的费率计算得出的。

在没有缓存命中的情况下,MemoHarness 的成本将为 28.06 美元,而 Codex 为 17.12 美元。作者指出,他们的成本结果“取决于观察到的可缓存性”;图表显示了这有多重要。检索到的经验大多是稳定的文本,因此高缓存率是合理的。但每一个面向重记忆 Agent 的成本表都是关于缓存命中率的声明,你应该在计划最好情况之前先为最坏情况定价。

哪里出了问题

Harness² 的作者在他们自己的运行中列出了九种退化情况,对于从业者来说,这是两篇论文中最有用的部分。

  • 盲目选择会选到较弱的输出。在一个编码任务上,选择器选择了得分为 55 的候选者,而不是得分为 95 的候选者,理由是偏好“最朴素的实现”。
  • 错误的前提会扩散。一位编辑写下了一条规则,规定某个键不得被“修复”;每个候选方案都继承了这条规则,每个候选方案都因此丢分。
  • 校验器带有其作者的盲点。一位编辑编写了一个验证脚本,对未通过真实测试的代码三次报告 PASS。用论文的话说:“由编辑编写的校验器无法捕捉编辑自身的假设。”
  • 经验教训固化为规则。一项从无标注运行中提炼出的技能,预先判定了一个合法位置,而评分标准恰恰奖励相反的结果。
  • 没有运行的编辑是有害的。在没有参考运行、没有库的情况下编辑测试框架,使 WB-code 从 73.4 降至 63.2。你从未运行过的编辑只是一个语法漂亮的猜测。这与 SkillsBench 的结果教训相同:冷启动编写的 Agent 技能让 Agent 表现更差;参见 SkillsBench。

这份清单直接对应到控制措施:向选择器展示源材料和一个明确的检查清单,轮换或分散编辑人员,使单一前提无法触及所有候选方案,让评分者远离编辑之手,并要求由人来批准任何将成为常开规则的教训。

我们对客户部署的建议

先复制纪律,再复制框架。Harness² 提示词中的规则适用于任何测试框架和任何模型,而且零成本:

  • 每次编辑都要指明促使其发生的轨迹时刻。如果你无法指明,那这个编辑就是臆测。
  • 按顺序优先选择:一次分歧(某些运行已经做对了)、一次重复失败,然后是一个可见的风险。永远不要修复运行已经做对的东西。
  • 选择最廉价的形式:触发性流程用按需技能,重复的确定性工作用脚本,大输入小答案用子 Agent,只有当文字说明明显被忽视时才用钩子。常开文字说明放在最后,因为它的每一个字都要在每次运行中付费。
  • 将关于该客户数据的事实作为事实写入,并明确标注,而针对整个领域的则写成流程。
  • 将每次编辑记录为有帮助、有害、无观察到的影响或存在混杂,当只有一次运行支持它时,倾向于记录为存在混杂。
  • 每个任务最多保留一条可迁移的教训,附带其触发线索和证据,且仅当有对比支持时才保留。

离线运行循环,然后冻结。选取 30 到 50 个有代表性的客户任务,以 k = 2 到 5 运行 Harness² 或你自己的版本,让工程师审查每一项被采纳的编辑和教训,并将生成的测试框架作为带版本的制品发布。按计划或在生产质量下降时重新运行。在生产环境中进行逐请求自我改进会使成本增加一个数量级,并使 Agent 的行为在两个完全相同的请求之间发生变化,客户会注意到这一点。

保持边界固定。权限、数据访问、网络出口和安全检查保持在可编辑表面之外。Harness² 允许编辑编写在工具循环内运行的 TypeScript 插件;在客户系统上,这是来自模型的、可执行的代码,需要像其他任何代码一样进行代码审查。

每个客户一个库。该库保存其从所学任务中获得的事实。跨客户共享库会把一个客户的数据带入另一个客户的提示词中。

许可证很重要。Harness² 采用 Apache-2.0 许可证。MemoHarness 在我们于 2026 年 10 月 21 日检查时没有许可证文件,这意味着阅读和学习没有问题,但将其代码复制到客户项目中需要作者的许可。

优缺点

优势劣势
Harness²无需标签;Apache-2.0;无需凭据的演示;文档最完善的编辑与经验教训规范每个任务 4k 次运行;相对竞争对手的优势大多在噪声范围内;编辑器和 JobBench 评分器共用同一个模型
MemoHarness六个清晰的 harness 维度;无需测试时标签的逐案例自适应;坦诚的局限性说明需要带标签的搜索案例;主分割仅 18 个任务;成本优势依赖于 94% 的缓存命中率;没有许可证文件
Meta-Harness原始轨迹比摘要对优化器更有效;在分类任务上具有很强的留出集结果需要带标签的搜索集;其 TerminalBench-2 结果是在相同的 89 个任务上进行搜索和评分的

自我改进的 harness 是今年 Agent 领域最实用的研究方向,因为它们可以与你已有的模型配合工作,并产生人类可读的编辑。它们不是停止审查的理由。如果说有什么变化的话,那就是它们让工程师有更多东西需要审查,而且速度更快。如果你想在面试中准备好谈论这个话题,你需要能够解释有标签改进与无标签改进的区别、为什么跨设置的一致性胜过单一的优势指标,以及你会把哪些内容保留在可编辑表面之外。我们的 Harness Engineering 课程以及 agentic 评测和轨迹概念涵盖了这些基础知识。

把它转化为 offer。研究这对应到的真实问题和概念:

FAQ

harness 是围绕模型使其成为 Agent 的一切:系统提示词、规则、记忆文件、工具指南、技能、脚本、子 Agent 和钩子。自我改进的 harness 让模型根据 Agent 的表现编辑这些部分,然后保留有帮助的编辑。模型的权重从不改变;改变的是围绕它的指令和工具。

Meta-Harness 针对带标签的搜索集离线搜索 harness 代码并部署胜出者。MemoHarness 也跨六个 harness 维度离线搜索并使用标签,将所学内容存储在经验库中,然后在测试时无需标签地将 harness 自适应到每个新案例。Harness² 完全不需要标签:对于每个新任务,它尝试两次范围受限的编辑,比较运行的表现,组合出一个后继版本,并将经验教训记录到库中供后续任务使用。

在已发表的结果中,是的,但优势不大。Harness² 在其报告的全部 12 个设置中都优于其初始 harness,提升幅度为 1.2 到 11.8 分,但它相对于竞争方法的大多数优势都在运行间噪声范围之内。MemoHarness 在一个包含 18 个任务的 Terminal-Bench 留出集上提升了 0.084,大约相当于每次运行多完成一个半任务。跨设置的一致性比任何单一数字都更有说服力。

通常是正常运行的数倍。Harness² 在预算 k 下对每个任务运行 agent 4k 次,外加编辑器会话;当 k 等于 5 时,即每个任务 20 次运行和 17 次编辑器会话。MemoHarness 在 Terminal-Bench 上的账单低于 Codex,但其 94% 的输入命中了缓存;在没有缓存命中的情况下,根据其自己的表格估算,成本为 28.06 美元,而 Codex 为 17.12 美元。

通常不是按请求进行。在具有代表性的任务样本上离线运行改进循环,审查由此产生的编辑和经验教训,然后发布一个冻结的 harness,并按计划或在质量下降时重新运行该循环。将权限、数据访问和安全检查保持在可编辑表面之外,并把每一项被采纳的编辑当作需要审查的代码变更来对待。

讨论(5)

判定词汇表是我从 Harness² 借用到我们自己流程中的东西:有帮助、有害、未观察到效果、存在混杂。一旦我们诚实地面对现实,我们对客户提示词的大多数“改进”其实都存在混杂,因为我们一次改了三样东西,而且只运行了一次。

读者提问:在一个真实项目中,你会从这三者中的哪一个开始?

都不是框架,而是方法。一张包含五十个真实任务的表格、agent 的轨迹,以及一条规则:每一次 harness 编辑都必须指明它所修复的轨迹时刻,并在发布前在同一任务上运行验证。如果这样做有效且工作量足够大,Harness² 是最容易采用的,因为它不需要标注,而且是 Apache-2.0 许可。

关于缓存的观点不止适用于 MemoHarness。任何将检索到的经验加入提示词的方法都是在押注缓存命中。在每张成本表旁边都要询问缓存命中率,并在为最好的情况买单之前,先为最坏的情况定价。

对客户工作再提一个警示:这个库除了名字之外,实际上就是训练数据。如果它从客户 A 的任务中学习,它可能会把客户 A 的事实带进客户 B 的 harness 中。为每个客户保留一个独立的库,并在数据协议中明确写明这一点。