Google Research Open-Sources Harness² for Recursive Agent Optimization

Original title: Harness2 by Google Research – Recursive Agent Harnessing
85AI Score

Google Research has open-sourced Harness², a framework for recursive agent harnessing in open-world environments. By employing dual-level recursion at both the task and system levels, it dynamically optimizes prompts, tools, and memory without altering model weights. Experiments demonstrate that Harness² significantly boosts the performance of GLM-5 and Gemini 3.5 Flash across professional benchmarks, achieving gains of up to 11.8 percentage points.

Full Report

Contents11 sections

面向开放世界的递归 Agent Harnessing

Harness(执行框架) 是围绕模型构建的系统,使其能够作为 Agent 运行:包括提示词、工具、记忆、技能、编排等。Harnessing(框架优化) 则是优化该系统的过程。

Harness² 是一个即插即用框架,用于在开放世界中进行 递归 agent harnessing,其中 Agent 会遇到在框架设计阶段未见过的任务。它在保持模型权重固定的前提下,连接了两个层级的递归:

  • 任务级递归 通过对比式的 Propose–Probe–Compose(提议–探测–组合) 步骤,针对当前任务优化执行框架:提出修改建议,在同一任务上探测其效果,并基于不同执行结果之间的行为差异组合出优化后的框架,无需依赖真实标签反馈。
  • 框架优化级递归 利用每个任务中采纳的框架及有证据支持的经验教训,更新一个持久化的 改进框架(improvement harness),以指导未来的优化工作。

在三个专业基准测试和四种模型–框架配置下,单次 Harness² 步骤即可提升 GLM-5 和 Gemini 3.5 Flash 相对于其基础框架的表现,在 WorkBuddy-Bench 上最高提升 11.5 分,在 JobBench 上提升 4.5 分,在 LAB 的部分通过率上提升 11.8 个百分点。增加任务级递归预算可带来进一步的性能增益。

本次发布支持 并行与串行递归、OpenCode 和 Codex 执行器,以及 JobBench、LAB 和 WorkBuddy-Bench。

视频概览

https://github.com/user-attachments/assets/76b10548-b14b-4c8f-9aa5-a93662df4d56

框架组件

Harness² 暴露了围绕模型的八个可编辑组件:系统提示词、护栏、记忆、工具指南、子 Agent、技能、脚本和插件。它们控制着上下文构建、工具接口、任务委派以及工具循环内的行为。

安装

请使用 Linux、Python 3.12 和 uv。 从仓库根目录执行:

BASH
uv venv --python 3.12 .venv
source .venv/bin/activate
uv pip install -e '.[render]'
harness2-demo --output runs/demo --k 2

本地演示使用确定性编辑器和真实的 Python 执行环境运行两种递归模式。它不需要模型凭证。

对于基于模型的基准测试,请安装 Node.js 20+、Google Cloud CLI 以及 基准测试依赖项。LAB 需要 Pandoc 和 Poppler;WorkBuddy-Bench 需要 Docker。然后配置你的模型:

BASH
cp .env.example .env
# 编辑 .env 文件,填入你的 Vertex AI 项目和模型 ID。
gcloud auth application-default login

有关模型设置、身份验证替代方案以及 Codex 执行器 的详细信息,请参阅设置指南。

运行基准测试

以下示例安装 LAB 并运行一个任务,然后评估并报告其结果。由模型支持的运行会产生 API 费用;建议从较小的任务选择开始。

BASH
harness2-setup lab
harness2-check --bench lab
harness2 --bench lab --k 1 --mode parallel \
  --only-domains antitrust-competition --max-tasks 1
harness2-judge --bench lab --k 1 --mode parallel
harness2-report --bench lab --k 1 --mode parallel

顺序递归模式使用相同的命令,但需加上 --mode sequential。--k 是任务级递归预算;详见实验。评判和报告必须使用与优化运行相同的基准测试、执行器、子集、--k、--mode 和种子。在 harness2 中添加 --dry-run 可预览任务选择而不调用模型。

基准测试任务类型安装命令指南
JobBench专业工作harness2-setup jbJobBench
LAB法律工作harness2-setup labLAB
WorkBuddy-Bench办公、Web 和代码harness2-setup wbWorkBuddy

每条命令只能选择一个基准测试。对于 WorkBuddy,在设置完成后的每条命令中还需指定 --subset office、--subset web 或 --subset code。基准测试指南涵盖了每个基准测试的数据、领域和评分标准。

实验

通过两种方式扩展任务级递归:并行递归探索多个候选 harness,并根据其执行证据组合优化结果;顺序递归则通过连续的 Propose–Probe–Compose(提议–探测–组合)步骤,携带优化后的 harness 和累积的证据逐步深入。

并行递归探索范围更广;顺序递归优化程度更深。

选项行为
--k 1执行一次 Propose–Probe–Compose 步骤
--k K --mode parallel探测 K 个通用候选项和 K 个特定领域候选项,然后生成 K 个组合结果
--k K --mode sequential通过 K 个连续步骤优化 harness
--substrate cx使用 Codex 代替默认的 OpenCode 执行器

每次任务结束后,harness 层级的递归机制会保留已采用的 harness 及有证据支撑的经验教训,以指导后续的优化迭代。有关任务选择、并发控制、可复现性及基线对比的详细信息,请参阅实验指南。

Web 访问

Executor 的网络访问不受限制,且 Codex 在禁用沙箱的情况下运行。公开的基准测试评分标准可能可在网上获取。在评估之前,请配置网络限制,以防止访问基准测试的答案和评分标准。

结果与恢复

结果保存在 runs/ 目录下,按基准测试及子集(如适用)进行组织。其中包括任务摘要、交付成果、采用的 harness、反思笔记以及评估结果。

重复执行相同的命令即可恢复运行。当更改模型或任务选择时,请使用新的 HARNESS2_RUNS_DIR。有关详细信息,请参阅结果与恢复;每个命令也支持 --help 参数。

引用

BIBTEX
@article{xu2026harness2,
  title   = {Harness$^2$: Recursive Agent Harnessing for an Open World},
  author  = {Xu, Ruiyao and Chen, Yanfei and CuiZhu, Zhongying and Dalvi Mishra, Bhavana and Ming, Yifei and Yu, Han and Han, Rujun and Lee, Chen-Yu and Pfister, Tomas},
  journal = {arXiv preprint arXiv:2610.14224},
  year    = {2026},
  url     = {https://arxiv.org/abs/2610.14224}
}

贡献

请参阅 CONTRIBUTING.md。

许可证

Harness² 采用 Apache 2.0 许可证授权。third_party/ 目录下的第三方代码、基准测试和数据集保留其上游许可证;详情请参阅第三方声明。

(注:更多技术实现细节与完整 API 文档请查阅原项目 README)