Harness² icon

Harness²

Harness² 是一个开源框架,用于优化固定 AI 模型周围的提示词、工具、记忆等组件,支持研究人员和开发者在 JobBench、LAB 与 WorkBuddy-Bench 中开展递归改进工作流。

Harness²

递归代理 harness 改进

Harness² 是一个来自 google-research 代码仓库、采用 Apache-2.0 许可证的框架,用于开放世界任务中的递归代理 harness。它专注于改进固定模型周围的系统,包括提示词、工具、记忆、技能、编排和其他可编辑行为,而不是修改模型权重。

其任务级工作流使用 Propose-Probe-Compose:它会在当前任务上测试候选 harness 修改,并利用这些执行过程中的行为证据构建改进方案。另一个持久化层级会记录已采用的 harness 和有证据支持的经验,使后续任务能够借鉴之前的改进工作。

主要能力

可编辑的代理 harness 组件

该框架将周围的代理系统视为可编辑组件,包括系统提示词、防护措施、记忆、工具指南、子代理、技能、脚本和插件。这些组件负责控制上下文构建、工具、委派和工具循环中的行为。

任务级 Propose-Probe-Compose 改进

对于当前任务,Harness² 会提出 harness 修改方案,探测这些修改对同一任务的影响,并根据执行行为的差异组合出改进后的 harness。文档所述的工作流在此步骤中不要求真实标签反馈。

持久化 harness 层学习

任务完成后,系统会将已采用的 harness 和有证据支持的经验保存在持久化改进 harness 中,用于指导后续改进。

并行与顺序递归模式

并行递归会探索多个通用候选方案和领域特定候选方案,而顺序递归会在连续步骤中传递改进后的 harness 和累积的证据。`--k` 设置控制任务级递归预算。

执行器与基准测试支持

该版本默认支持 OpenCode,也可以通过 `--substrate cx` 使用 Codex。其中包含适用于 JobBench、LAB 和 WorkBuddy-Bench 的工作流。

运行管理与报告

命令行工作流涵盖设置、环境检查、改进、评判和报告。结果会保留任务摘要、交付物、已采用的 harness、反思笔记和评估输出。

实际使用场景

  • 评估代理处理专业工作任务的能力

    使用 JobBench 的基准测试设置、运行器、评判和报告命令,对专业工作任务运行受控的改进实验,以比较不同配置下 harness 的行为。

  • 测试法律工作代理工作流

    使用 LAB 集成运行法律工作基准测试任务;文档所述的设置流程包括该基准测试所需的 Pandoc 和 Poppler 依赖。

  • 评估办公、网页和编码代理

    运行 WorkBuddy-Bench 中办公、网页或代码任务的子集。文档所述的工作流需要 Docker,并会在设置完成后通过后续命令继续使用所选子集。

  • 比较改进策略

    使用并行递归广泛探索候选 harness 修改,或使用顺序递归逐步深入单一路径的改进。当实验需要在探索广度和累积改进之间进行选择时,这种方式很适用。

  • 验证本地安装

    先从本地演示开始,在配置基于模型的基准测试运行之前,使用确定性编辑器和真实的 Python 执行来体验两种递归模式。

Pros and Cons

Pros

  • 它公开了八个具体的 harness 组件,使用户能够改进的不只是单个提示词。
  • 它同时支持并行探索和顺序改进,并提供明确的递归预算控制。
  • 它提供了涵盖设置、检查、运行、评判、报告和恢复结果的命令行工作流文档。
  • 它支持三个覆盖不同工作领域的专业基准测试:JobBench、LAB 和 WorkBuddy-Bench。
  • 本地确定性演示会执行真实的 Python 代码,且不需要模型凭据。

Cons

  • 基准测试运行文档指定使用 Linux 和 Python 3.12,并且不同基准测试所需的其他依赖也有所不同;LAB 需要 Pandoc 和 Poppler,而 WorkBuddy-Bench 需要 Docker。
  • 基于模型的运行需要配置模型和凭据,代码仓库指出这会产生 API 费用。
  • 默认情况下,执行器的网络访问不受限制;Codex 运行时也禁用了沙箱。文档要求用户在评估前配置网络限制,以避免访问基准测试答案或评分标准。

FAQ

运行 Harness² 需要什么环境?

对于基准测试运行,项目指定使用 Linux 和 Python 3.12。其 Python 软件包也支持 Python 3.13。文档中的设置流程还要求 uv、Node.js 20 或更高版本以及 Google Cloud CLI;部分基准测试还会增加各自的依赖项。

Harness² 支持哪些基准测试?

代码仓库文档介绍了 JobBench、LAB 和 WorkBuddy-Bench。使用 `harness2-setup` 安装基准测试,然后在运行改进流程前使用 `harness2-check` 进行检查。

如何评估和报告基准测试运行结果?

使用 `harness2` 运行改进流程,随后使用 `harness2-judge` 和 `harness2-report` 进行评估和报告。`--dry-run` 可在不调用模型的情况下预览任务选择。评估和报告所使用的基准测试、执行器、任务子集、递归预算、模式和种子,需要与改进运行保持一致。

可以恢复运行吗?

结果会保存在 `runs/` 下,并按基准测试以及(如适用)子集进行组织。其中包括任务摘要、交付物、已采用的 harness、反思笔记和评估结果。重复执行相同命令即可恢复运行;如果更换模型或任务选择,则需要使用新的 `HARNESS2_RUNS_DIR`。

Quick Facts

类别
开发者工具
许可证
Apache License 2.0
支持的基准测试
JobBench、LAB 和 WorkBuddy-Bench
主要环境
Linux;基准测试运行使用 Python 3.12
执行器
OpenCode 和可选的 Codex
来源
github.com/google-research/harness2