Harness²:Google Research 让 Agent 在没有标准答案时自己调配置
01它改的是哪一层
同一个模型,换一套提示词、给不同的工具说明、开不开记忆,做出来的效果可能差很多。项目把模型外面这整套东西叫 harness(可以理解为 Agent 的“工作环境配置”)。平时这一层靠人手工试:改一句提示词、跑一遍、看结果、再改。
Harness² 把这个过程交给 Agent 自己做,可改的有 8 类:系统提示词、护栏(限制 Agent 不做什么)、记忆、工具说明、子 Agent、技能、脚本和插件。模型权重始终不动。
02没有标准答案,怎么判断改得好不好
真实任务通常没有现成的标准答案,Agent 无法靠“对答案”知道改动有没有用。Harness² 的做法是对比:
- 提出:针对当前任务,提出几种配置修改;
- 试跑:让这些配置分别去做同一个任务;
- 合成:比较几次执行的过程差异,把看起来有效的改动合成一份新配置。
这一步在 README 中称为 Propose–Probe–Compose,不需要标准答案。轮数由 --k 控制,可以并行(同时试更多候选)或顺序(在上一轮结果上继续改)。
任务结束后还有第二层:把最终采用的配置,以及有执行记录支撑的经验,写进一份持续更新的“改进配置”,供后面遇到的新任务参考。论文把这两层称为“递归”,要解决的是自我改进往往只对单个任务有效、换个场景就失灵的问题。
03效果
以下为项目方在论文 和 README 中报告的结果,比较对象是各模型自己的初始配置,只做一轮优化:
| 基准 | 任务类型 | 最高提升 |
|---|---|---|
| WorkBuddy-Bench | 办公、网页、代码 | 11.5 分 |
| JobBench | 职业工作任务 | 4.5 分 |
| LAB | 法律工作 | 部分通过率 11.8 个百分点 |
测试覆盖四种模型与执行框架组合,模型为 GLM-5 和 Gemini 3.5 Flash。官方称增加任务级轮数还能继续提升。“最高提升”是各组合中的最好结果,不代表每个组合都有这个幅度。本站未复现。
04想试的话
本地演示只需要 Linux、Python 3.12 和 uv,不调用模型,也不需要凭证:
uv venv --python 3.12 .venv source .venv/bin/activate uv pip install -e '.[render]' harness2-demo --output runs/demo --k 2
跑真实基准门槛高一些:需要 Node.js 20+、Google Cloud CLI,默认通过 Vertex AI 调模型(其他认证方式见安装说明 );LAB 另需 Pandoc 和 Poppler,WorkBuddy-Bench 需要 Docker。执行器默认用 OpenCode,也可换成 Codex。模型调用会产生 API 费用,官方建议先跑很小的任务子集,或加 --dry-run 只预览任务。以上命令摘自 README,本站未实际运行。
从机制看,每轮优化要让多个候选配置各跑一遍同一任务,调用次数和费用会明显高于直接执行一次(本站推断,官方未给出具体倍数)。
05限制
- 目前的接入方式围绕上述三个基准组织,要用在自己的 Agent 上,需要自行适配任务和评测流程。
- 执行器联网不受限,Codex 运行时关闭沙箱;公开基准的评分标准可能在网上查到,评测前应按官方说明 限制网络。
- 代码为 Apache 2.0 许可,第三方代码、基准和数据集沿用各自许可。README 注明这不是 Google 官方支持的产品。


DeepSeek
Claude Code
Timestral