目录
Harness² 是一个按任务改进智能体运行环境,并将改进经验用于后续任务的框架。它在固定模型权重的同时,调整提示词和工具配置等,并通过基准测试验证效果。
要点#
- 分“单个任务”和“持续学习”两个层面改进运行环境。
- 试用候选方案并比较行为差异,无需标准答案数据即可重新组合配置。
- 支持 OpenCode 和 Codex 运行环境,以及 JobBench、LAB、WorkBuddy-Bench。
- 小型演示无需模型凭据即可运行,但使用模型的基准测试会产生 API 费用。
- 在没有网络限制的运行环境中,评估前需要阻止访问基准测试的答案和评分标准。
Harness² 改进什么#
智能体的“harness”指运行模型所需的配置和工具体系。Harness² 可以编辑系统提示词、安全护栏、记忆、工具说明、子智能体、技能、脚本和插件这 8 项内容。
这些配置决定了传给模型的信息、可用工具以及工作方式。该项目的目标是根据任务调整外围机制,而无需重新训练模型本身。
分两个层面改进#
单个任务的改进采用“Propose–Probe–Compose”流程。先提出 harness 修改方案,在同一任务上运行以查看影响。然后比较运行结果中的行为差异,重新组合配置。它依据的是各次运行之间的差异,而非标准答案数据提供的反馈。
另一个层面是将改进经验传递给后续任务。系统会保存采用的 harness,以及有运行结果支持的经验教训,用于后续改进。这种设计让经验能够跨任务积累,无需每次从零开始设计配置。
选择并行或顺序模式#
递归次数通过 --k 指定。--k 1 表示执行一次 Propose–Probe–Compose。--k K --mode parallel 会试用通用候选方案和特定领域候选方案,生成多套配置。--k K --mode sequential 则将上一步改进后的 harness 和证据传给下一步,逐步打磨。
想广泛探索候选方案时适合并行模式,想逐步完善一套配置时适合顺序模式。实验结果显示,在 GLM-5 和 Gemini 3.5 Flash 上,其表现优于基础 harness:WorkBuddy-Bench 最高提升 11.5 个百分点,JobBench 最高提升 4.5 个百分点,LAB 的部分通过率最高提升 11.8 个百分点。这些数字来自已公布的实验条件,其他模型或任务未必能获得同样的提升。
先运行演示#
验证运行情况需要 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 任务,流程如下。
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使用模型运行会产生 API 费用。先用 --max-tasks 1 等参数缩小范围,再用 --dry-run 在不调用模型的情况下确认任务选择,然后正式运行,有助于控制费用。
评估前需要确认的事项#
改进运行、评分和报告的条件应保持一致。如果基准测试、运行环境、任务范围、--k、模式或 seed 不同,就会破坏比较的前提。更改条件后重新运行时,也应使用不同的结果保存位置。结果通常保存在 runs/ 下,重新执行相同命令即可从中断处继续。
此外,运行环境的网络访问不受限制,Codex 会在禁用沙箱的情况下运行。由于可能访问到公开基准测试的答案和评分标准,评估前需要设置网络限制。
下一步#
先打开 google-research/harness2 ↗,在 Linux 环境中运行 harness2-demo --output runs/demo --k 2,查看并行和顺序模式的结果。
来源: https://github.com/google-research/harness2
目录
