你的 Agent 不够强?也许不是模型的错,是 harness 的错。
2026 年 10 月 18 日,Google Research 开源了 Harness²——一个递归 Agent Harnessing 框架。核心理念一句话:不改模型权重,只改模型周围的一切。
Prompt、工具、记忆、guardrails、skills、scripts、plugins——这些包裹在模型外面的"harness"才是 Agent 性能的关键。Harness² 让 Agent 自己优化自己的 harness,递归改进,越用越好。
TL;DR
- Harness² 是 Google 开源的递归 Agent Harnessing 框架,Apache 2.0,不改模型权重
- 8 个可编辑组件:system prompt、guardrails、memory、tool guidance、subagents、skills、scripts、plugins
- 双层递归:Task-level 改进当前任务,Harnessing-level 把经验沉淀到未来
- WorkBuddy-Bench 提升 11.5 分(GLM-5 under OpenCode: 64.2→75.7)
- 弱模型 + 好 harness 击败强模型 + 差 harness——harness 比模型更重要
Harness 是什么?
Harness² 的论文定义:
“A harness is the system around a model that enables it to act as an agent: prompts, tools, memory, skills, orchestration, and more.”
翻译成大白话:模型是发动机,harness 是整车。同一个发动机,装进不同的车架、变速箱、悬挂、轮胎,跑出的成绩天差地别。
大多数 Agent 框架把 harness 当静态配置——你写好 prompt、配好工具、定义好 skill,然后祈祷 Agent 表现好。Harness² 把 harness 变成可学习的系统。
8 个可编辑组件
Harness² 暴露 8 个可编辑组件,覆盖 Agent 行为的每个维度:
| 组件 | 控制什么 | 改进方向 |
|---|---|---|
| System prompt | Agent 的角色定义和行为边界 | 更精准的任务理解 |
| Guardrails | 安全约束和行为红线 | 减少过度约束或不足 |
| Memory | 上下文管理和经验存储 | 更高效的记忆检索 |
| Tool guidance | 工具选择和使用策略 | 更准确的工具调用 |
| Subagents | 子 agent 委托策略 | 更好的任务分解 |
| Skills | 可复用的行为模式 | 更丰富的技能库 |
| Scripts | 自动化脚本 | 更高效的重复任务 |
| Plugins | 外部能力扩展 | 更灵活的集成 |
关键设计:这些组件不是硬编码的,而是可编辑的文本文件。Agent 可以修改自己的 prompt、更新自己的 skill 库、重写自己的 memory 策略。
双层递归:Agent 如何自我改进?
Harness² 的核心创新是双层递归:
第一层:Task-level 递归
针对当前任务,Agent 执行 Propose-Probe-Compose 流程:
- Propose:提出 harness 改进方案(改 prompt?加工具?调 skill?)
- Probe:用小规模实验验证改进效果
- Compose:把验证通过的改进合并到当前 harness
第二层:Harnessing-level 递归
从 Task-level 的经验中学习,更新"改进 harness 的 harness":
- 哪些改进策略在什么场景下有效?
- 哪些 prompt 模式在什么任务类型下表现好?
- 工具使用策略如何随任务复杂度变化?
两层递归耦合:Task-level 改进当前任务的 harness,Harnessing-level 把经验沉淀到未来任务的 harness。
实测数据:harness 比模型更重要
论文在三个 benchmark 上测试了四种配置:
| 模型 | 执行器 | WorkBuddy-Bench 基础分 | + Harness² | 提升 |
|---|---|---|---|---|
| GLM-5 | OpenCode | 64.2 | 75.7 | +11.5 |
| GLM-5 | Codex | 23.6 | 24.8 | +1.2 |
| Gemini 3.5 Flash | OpenCode | — | — | +8.3 |
| Gemini 3.5 Flash | Codex | — | — | +6.7 |
最震撼的发现:弱模型(GLM-5)+ 改进后的 harness 击败了强模型(Gemini 3.5 Flash)+ 基础 harness。
这意味着:harness 的质量比模型的能力更重要。一个 $5 的模型配上优秀的 harness,可以打赢 $50 的模型配上平庸的 harness。
与 OpenClaw/ECC 的架构对比
| 维度 | Harness² | OpenClaw | ECC |
|---|---|---|---|
| 定位 | 研究框架 | 生产级 Agent 平台 | 性能优化系统 |
| 改进对象 | 模型周围的 harness | Skills + MCP + 记忆 | Agent 行为模式 |
| 改进方式 | 递归自动改进 | 人工编写 skill | 人工优化配置 |
| 模型绑定 | 无(模型无关) | 无(支持多模型) | 无(支持多 agent) |
| 执行器 | OpenCode / Codex | 内置 | Claude Code / Codex 等 |
| 成熟度 | v0.1.0(研究阶段) | 生产可用 | 生产可用 |
Harness² 的独特价值:它是自动改进,不需要人工写 skill。你给一个基础 harness,它自己试、自己学、自己改。
实际集成方法
安装
# 克隆仓库
git clone https://github.com/google-research/harness2.git
cd harness2
# 安装依赖(Python 3.12/3.13 + uv)
uv sync
配置
# 配置模型(通过 Vertex AI)
export GOOGLE_API_KEY=your_key
# 选择执行器
export HARNESS2_EXECUTOR=opencode # 或 codex
运行
# 运行 benchmark
uv run python -m harness2.benchmark --benchmark workbuddy
# 运行单个任务
uv run python -m harness2.run --task "修复登录 bug"
自定义 harness 组件
# 编辑 system prompt
harness2 edit system-prompt --file my-prompt.txt
# 添加 skill
harness2 add skill --name "code-review" --file review-skill.md
# 查看改进历史
harness2 history --task "修复登录 bug"
成本账本
Harness² 本身免费(开源),但运行需要模型 API 调用:
| 阶段 | API 调用 | 预估成本 |
|---|---|---|
| 基础 harness 运行 | 1x 任务 token | $0.01-0.05 |
| Task-level 改进 | 3-5x 任务 token | $0.03-0.25 |
| Harnessing-level 改进 | 2-3x 任务 token | $0.02-0.15 |
| 总计 | 6-9x 任务 token | $0.06-0.45 |
结论:改进成本约为单次运行的 6-9 倍,但改进后的 harness 可以复用,边际成本递减。
常见问题
Q1: Harness² 能用于生产环境吗?
A: 目前 v0.1.0 是研究阶段,适合实验和 benchmark。生产环境建议等 1.0 版本或先用 OpenClaw 等成熟框架。
Q2: 与 OpenClaw 的 Skill 系统有什么区别?
A: OpenClaw 的 Skill 是人工编写的可复用行为模式;Harness² 的 skill 是 Agent 自动学习和改进的。两者可以互补。
Q3: 递归改进会不会越改越差?
A: Propose-Probe-Compose 流程有验证步骤,只有通过 Probe 验证的改进才会被 Compose 合并。但论文也提到"自我改进意味着一致性和控制的损失"。
Q4: 支持哪些模型?
A: 论文测试了 Gemini 3.5 Flash 和 GLM-5。理论上任何通过 Vertex AI 可调用的模型都支持。
Q5: 需要 GPU 吗?
A: 不需要。Harness² 是框架层,模型调用通过 Vertex API,本地只需要运行 Python。
Q6: 与 Google 的 DeepSeek harness 有什么关系?
A: 无关。DeepSeek harness 是 DeepSeek 公司的推理引擎;Harness² 是 Google Research 的 agent 改进框架。
Q7: 开源协议是什么?
A: Apache 2.0,可商用。