用途
Harness² 用于在模型权重固定的前提下,改进模型外围的 harness(即提示词、护栏、记忆、工具指引等)。它强调证据必须来自实际执行:运行上游流水线、进行预算控制、评判结果,或将 Propose–Probe–Compose 方法应用到项目自身的智能体指令、技能、子智能体或钩子上。设计智能体团队也属于此范畴(方法模式):团队由子智能体组件加上触发它的路由文本组成,每个角色都必须通过一次探测(probe)验证。
主要能力
- 提供四种模式:demo(无需凭据的工作流验证)、benchmark(setup → check → run → judge → report)、bridge(通过 Vertex 使用 Codex 执行器)、method(手动应用 Propose–Probe–Compose 方法)。
- 离线预检脚本
preflight.py,支持--json、--bench method、--bench lab|jb|wb配合--substrate oc|cx,以及--repo PATH --expect-commit 1cfe254e8d25b15f37048c3730134686abe60335。该脚本不会运行 harness2、setup、模型、Docker 或网络,仅报告 .env 是否存在而不读取内容。 - 基准测试流程:
harness2-setup、harness2-check、harness2、harness2-judge、harness2-report。 - 支持通过
--only-domains和--max-tasks(按域而非全局)限制范围。 - 提供
--dry-run预览。
使用方式
首先运行离线门禁。从仓库根目录:
python3 .agent-skills/harness2/scripts/preflight.py --json
从已安装的技能根目录:
python3 "$SKILLS_ROOT/harness2/scripts/preflight.py" --json
手动方法模式使用 --bench method(仅主机事实,无需工具),或使用 --bench lab|jb|wb 配合 --substrate oc|cx;对于提供的检出,添加 --repo PATH --expect-commit 1cfe254e8d25b15f37048c3730134686abe60335。
选择一种模式并加载 references/upstream.md 获取其命令。仅在模式需要上游代码时使用 demo。对于 demo 或首次基准测试参与前,需获得安装批准(git clone、uv venv --python 3.12 .venv(可能下载 CPython)、以及从 PyPI 执行 uv pip install -e '.[render]'),然后运行:
harness2-demo --output runs/demo --k 2
它不进行模型调用,仅写入 --output。方法模式和适配检查无需检出、安装或 demo。
对每个基准测试副作用进行门禁。在 harness2-setup(固定克隆、npm/Bun、uv sync、数据集和 Docker 镜像下载)之前、在任何 refinement 或 judge 运行之前(付费 Vertex 调用;每个任务约 4k 执行器 rollout 和 3k 改进器会话)、以及在 harness2-bridge 之前(启动服务器;--host 0.0.0.0 绑定所有接口),需获得明确批准。使用 harness2-setup <bench> --dry-run 和 harness2 ... --dry-run 预览;使用 --only-domains 和 --max-tasks(按域而非全局)限制范围。下载 WorkBuddy 前请阅读其地域许可证。
隔离执行器。Codex 在禁用沙箱的情况下运行,执行器具有开放网络访问;公共评分标准已被 rollout 获取。在评分运行前,在网络层屏蔽 huggingface.co、hf.co、*.hf.co、github.com 和 raw.githubusercontent.com,并报告该限制。
保持运行标识固定。使用与运行相同的 --bench、--subset、--substrate、--k、--mode 和 --seed 进行评判和报告;当模型或任务选择变化时,使用新的 HARNESS2_RUNS_DIR。自行根据文档化的键写入 .env——固定提交不跟踪其文档提到的 .env.example——且绝不回显凭据值。
报告证据,而非论文数字。返回确切的命令、pin、模式、k、任务上限、执行器/改进器/评判器 ID、网络限制、退出状态(0 正常,2 部分任务失败,1 配置/死域/零任务)以及采用的 harness 路径。harness2-check 通过并不证明模型访问;失败的评判是未评分,而非零分。
示例
python3 .agent-skills/harness2/scripts/preflight.py --json # 离线门禁
harness2-demo --output runs/demo --k 2 # 安装批准后;无凭据或模型
python3 .agent-skills/harness2/scripts/preflight.py --bench lab --json
harness2-setup lab --dry-run # 仅预览
# 在批准 setup、成本和执行器网络限制后:
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
最佳实践
- 在首次基准测试参与前,优先使用已批准的本地 demo;它无需模型成本即可演练真实的递归和库代码。方法模式从不需要它。
- 在扩大范围前,将预算花在一个域和一个任务上;仅在任务选择、模型、评判器和网络限制保持固定的情况下比较并行和顺序。
- 将常开文本(系统提示、护栏、记忆、工具指引)保持在基板上限内;将细节移入具有显式触发行的技能中。
- 在方法模式中,每个新的子智能体、技能或钩子都必须赢得一次执行探测;将采用的 diff 和证据记录在按域划分的库条目中。
适用场景
- 改进固定模型外围的 harness,而非模型权重。
- 运行上游流水线、预算控制、评判结果。
- 将 Propose–Probe–Compose 方法应用于项目自身的智能体指令、技能、子智能体或钩子。
- 设计智能体团队(方法模式)。
限制
- 执行器运行在沙箱禁用且网络开放的环境中,需要在网络层屏蔽特定域名。
- 基准测试涉及付费 Vertex 调用,每个任务约 4k 执行器 rollout 和 3k 改进器会话。
- 所有基准测试副作用需要显式批准。
- 固定提交不跟踪其文档提到的 .env.example。
harness2-check通过并不证明模型访问;失败的评判是未评分,而非零分。- 下载 WorkBuddy 前需阅读其地域许可证。
参考
- 固定命令、配置、成本、基准和输出参考
- 方法模式:手动 Propose–Probe–Compose 和智能体团队设计
- 固定提交处的上游 README
- 论文:arXiv:2610.14224
- Apache-2.0 许可证