谷歌开源了一个实用的项目,名字叫 Harness²,最近非常火。可是它一不训练模型,二不修改权重,它是罩在大模型外面的一套"系统"。啥意思呢?
大家知道,从System Prompt、工具列表、记忆模块、Skills、子Agent,到脚本、插件、编排逻辑……咱们让 Agent 来干活的时候,它能否干好未必取决于模型本身有多机智,而是取决于"外围系统"是不是被调好了。
问题是,众所周知调这些东西很麻烦,甚至可以说让人十分痛苦。Harness² 的底层逻辑正着落于此:既然人工调这么烦,那让 Agent 自己调自己的 Harness,行不行???
这个项目就是试图把"人反复试错调 Harness"的这个过程,变成 Agent 自己能反复执行的自动化优化流程。
具体的调整分两层递归,二者是环环相扣的。
第一层:任务级递归。
面对一个新任务,Agent 不急着用原来的 Harness 蛮干,而是先跑一个 Propose–Probe–Compose 循环——
[太阳]Propose(提案):Agent 提出多个 Harness 修改方案——"要不要换个 Prompt 写法?"、"加一个检索工具试试?"、"记忆策略好像该改了?"
[彩虹]Probe(探测):将这些方案实际跑一遍,让不同配置的 Harness 执行同一个任务,同时观察行为差异。
[微风]Compose(合成):对比各个方案的执行轨迹,将就有效的改进组在一起,生成一个更匹配当前任务的 Harness!
注意,它能在没有标注数据的真实场景中跑哦。
第二层:Harness 级递归。
Agent 做完一个任务,不是保存结果就完事了,它还会把这次采用的 Harness 和有执行证据支持的改进经验沉淀至一个"改进记忆库"中。等下回遇到新任务,它就先翻以前的经验,看有无类似案子和类似解法。
两种方式是可以选的:并行递归会同时探索多个候选方案,顺序递归是逐渐迭代 refine。
在执行器层面,其兼容了 OpenCode 和 Codex,能优化的组件囊括八类,我就不一一列举了,反正你手动调 Harness 时能改的东西,几乎它都能自动调!
在三个专业基准测试上,只跑一轮 Harness² 优化,GLM-5 和 Gemini 3.5 Flash 就分别比自己原始的 Harness 提高了最高 11.5 分。该项目的开源仓库在 google-research/harness2,论文在 arXiv 上头可查(arXiv:2610.14224)。
如今,Agent 开发最大的麻烦之一,就是调 Harness。把这个流程自动化,实际就是在降低Agent的落地门槛。所以Harness²这个开源框架还是值得关注的。
项目地址:t点cn/AXl3kD4t