大数跨境

18.6K Star!不训练模型,Google开源Harness²让AI Agent自己进化

18.6K Star!不训练模型,Google开源Harness²让AI Agent自己进化 AI大模型应用开发
2026-10-24
3
导读:模型权重一动不动,GLM-5编码分数却从58涨到77。Google开源的Harness²框架让Agent的"外壳"自己进化:提出候选、平行探测、行为对比,不用标准答案也能持续变强。两周斩获1.8万星,

 

一个模型权重都不动的框架,让GLM-5在编码任务上从58分涨到77分,让"弱模型+好harness"反超"强模型+普通harness"。

2026年10月8日,Google Research在GitHub上开源了一个名为 Harness² 的框架(github.com/google-research/harness2),同期发布了论文《Harness²: Recursive Agent Harnessing for an Open World》(arXiv: 2610.14224)。

上线不到三周,这个仓库已经拿到 18000+ star。

它做的事情用一句话概括:不动模型一个参数,让AI Agent的"外壳"自己越用越强。

什么是Harness

如果你一直在关注Agent开发,会发现行业的重心正在悄悄转移。

Harness,指的是模型之外、让模型能够作为Agent行动的那一整套系统:系统提示词、工具、记忆、技能、子Agent、编排逻辑等等。Harnessing,就是优化这套系统的过程。

这个概念其实你早就在接触了。Claude Code、OpenCode、Codex这些编程Agent,本质上就是不同厂商为同一批底层模型打造的不同harness。同一个模型,套上不同的harness,表现可以天差地别——这在今天的Agent圈已经是共识。

于是问题来了:harness是人工设计的。人写的harness,有天花板。

开放世界的两难

一个自然的想法是递归自我改进(Recursive Self-Improvement, RSI):让Agent自己改自己的harness,越改越好。

但真要做,会撞上两堵墙:

第一,开放世界没有标准答案。 已有的自我改进系统,大多依赖基准测试分数或正确性验证来指导改进方向。但真实工作场景中的任务是设计harness时没见过的、新来的,没有ground truth,你怎么知道这次修改是变好了还是变糟了?

第二,改进过程太"任务特化"。 很多系统针对单个任务反复打磨,改出来的harness换个场景就失灵,经验无法积累和迁移。

Harness²就是冲着这两个问题来的。

核心方法:两级递归

Harness²的解法是把递归拆成两个互相咬合的层级,全程保持模型权重冻结。

第一级:任务级递归——"提议-探测-组合"

针对当前任务,用一个对比式的 Propose–Probe–Compose 三步来精炼harness:

Propose(提议):先跑一次参考执行,目的是暴露当前harness的行为模式(注意,不是判断对错)。然后基于任务、当前harness、参考执行和历史,提出两个候选修改:

  • • 不变式候选(Invariant candidate):针对可能跨领域复现的通用Agent缺陷,比如规划混乱、工具使用不当、上下文管理失控、委派失职;
  • • 领域候选(Domain-specific candidate):针对当前领域的知识、流程和约束。

Probe(探测):把两个候选harness在完全相同的任务、相同的模型和环境配置下执行,与参考执行做对比,得到"行为对比"(behavioral contrast)——这个修改缓解了目标缺陷?没有变化?还是引入了退化?

Compose(组合):综合所有执行证据,生成后继harness。这里的关键词是"选择性组合"——可以合并有证据支持的修改、修订互相冲突的编辑、只采纳某个候选、甚至保留原harness不动。每一个决策都必须绑定具体观察,而不是假设的分数增益。

这套机制的精妙之处在于:它完全不依赖正确性标签。它不问"这次执行对了没有",只问"这次修改让Agent的行为发生了什么可观察的变化"。这就绕开了开放世界没有验证器的死结。

第二级:Harnessing级递归——让经验跨任务复利

任务级递归解决的是"当前这件事",第二级递归解决的是"以后所有事"。

每个任务完成后,一个经验反思器(Experience Reflector)检视完整的改进记录,提炼经验教训——但有一条铁律:只有有执行对比证据支持的经验才会被保留。仅仅"最终选中了某个输出"不足以证明可迁移性,证据不足就不新增条目。

这些经验连同被采纳的harness一起,写入一个持久的 harness改进库(improvement library)。每个条目包含一份可执行的harness加一份EXPERIENCE.md(适用情形、经验、支持证据),并有索引供后续任务按需检索。

下一个任务来了,Agent依然从通用harness起步,但整个改进过程由更新后的库来引导。模型权重、阶段指令、决策规则全部固定,只有这个库在持续演化。

这就是"复利":你今天在法务任务上踩的坑,明天在做表格任务时就能被绕开。

八块可编辑的积木

Harness²把harness分解为八个文件级组件,都是编辑器可以动刀的对象:

  1. 1. 系统提示词(System prompt)
  2. 2. 护栏(Guardrails)
  3. 3. 记忆(Memory)
  4. 4. 技能(Skills)
  5. 5. 工具指引(Tool guidance)
  6. 6. 脚本(Scripts)
  7. 7. 子Agent(Subagents)
  8. 8. 中间件插件(Middleware plugin)

这套分解覆盖了上下文构建、工具接口、委派编排和工具循环内的行为控制,和当下主流Agent框架的架构高度对齐——这也是它敢自称"即插即用"的底气。

数字说话:一周期的提升

实验横跨三个专业基准、四种模型-harness配置:

  • • JobBench(职业工作,来自Job-Bench)
  • • LAB(法务工作,来自Harvey)
  • • WorkBuddy-Bench(办公/网页/代码,来自腾讯)

只做一次Propose–Probe–Compose(k=1),相比各自的初始harness:

基准
最大提升
亮点配置
WorkBuddy-Bench
+11.5
GLM-5/OpenCode:64.2 → 75.7
JobBench
+4.5
Gemini 3.5 Flash/OpenCode:31.5 → 36.0
LAB
+11.8pp
GLM-5/OpenCode部分通过率:59.6 → 71.4

把任务级递归预算加大(k=5并行递归),还能继续涨:WorkBuddy-Bench的编码子集从76.5提到80.8,且提升随k单调上升,没有出现多数自我改进系统的"越改越崩"。

几个值得咀嚼的细节:

弱模型获益更大。 GLM-5(相对较弱的执行模型)的提升幅度显著大于Gemini 3.5 Flash。更惊人的是,改进后的GLM-5+harness可以反超原始配置下的Gemini——一个好harness,能部分补偿模型能力差距。

差距被抹平。 在JobBench上,递归让不同初始harness之间的差距从3.0分缩到0.5分——无论你从哪个harness出发,最终都趋向相似的优良配置。

跨基准迁移成立。 用JobBench上积累的经验库去改进WorkBuddy-Bench的任务,依然能带来正收益;即使排除任务自身的条目,迁移增益依然存在。

每个部件都不可少。 消融实验显示,去掉经验库掉3.1分,去掉领域限定(scoping)掉2.9分,去掉组合步骤掉1.6分。而如果完全去掉参考执行和探测、直接让Agent自我精炼,效果不升反降——对比式证据正是这套方法成立的前提。

冷思考

几个需要留意的地方:

  • • "采纳"不等于"验证最优"。组合器选择的是有证据支持的修改,但行为对比不能验证正确性——执行随机性和模型的共同偏差都会污染证据。
  • • 有额外算力开销。探测候选意味着每个任务要多跑几次完整执行,并行模式的实际延迟取决于并发能力。
  • • 递归不保证收敛。个别配置下,递归反而扩大了不同初始harness间的差距。
  • • 项目README明确标注:这不是Google官方支持的产品。

写在最后

Harness²没有挑战"模型能力决定上限"这条铁律,但它提醒我们:在上限之下,模型实际发挥出几成,取决于我们给它套了什么。而现在,这部分工作也可以交给机器自己了。

当harness工程本身被递归自动化,Agent开发的下一轮竞争,可能不再是"谁家prompt写得好",而是"谁家的改进循环转得更快"。

END

#agent #harness #google #RSI #GLM #CodingAgent

如果这篇文章对你有帮助,欢迎点赞、在看、转发

 

【声明】内容源于网络
0
0
AI大模型应用开发
AI技术爱好者,与你分享大语言模型,agent智能体开发(coze扣子,Dify),RAG,AI产品,AI生图/生视频等技术方向的知识
内容 88
粉丝 0
AI大模型应用开发 AI技术爱好者,与你分享大语言模型,agent智能体开发(coze扣子,Dify),RAG,AI产品,AI生图/生视频等技术方向的知识
总阅读1.5k
粉丝0
内容88