🔧

Harness Engineering

Anthropic 定义的 Agent 时代新方法论

"Harness 设计的重要性不亚于模型本身" — 旧模型 + 好 Harness > 新模型 + 烂 Harness

概念重新定义:Harness 是什么

Harness ≠ 产品名,Harness = Agent 的基础设施架构

核心定义
Harness 是包裹在 LLM 外层的软件基础设施,决定了模型的输出如何转化为真实行动。它不是某个公司的产品名,而是 Agent Engineering 的核心方法论。

Harness 的 7 大组件

🔄
编排循环
Orchestration Loop,控制 Agent 的执行流程:思考→行动→观察→循环
🔧
工具集成
Tools,Agent 与外部世界交互的接口:API、数据库、文件系统
🧠
内存管理
Memory,短期记忆(会话)+ 长期记忆(持久化存储)
📄
上下文处理
Context,管理 Context Window:compaction、reset、优先级
💾
状态持久化
State Persistence,跨会话保持进度,支持中断恢复
⚠️
错误恢复
Error Recovery,失败重试、降级策略、人工介入触发
🛡️
安全护栏
Guardrails,权限控制、敏感操作审批、行为边界
📊
可观测性
Observability,日志、追踪、监控、调试

常见误解

  • Harness = Harness 公司的产品
  • Harness = Prompt Engineering
  • 好模型不需要 Harness
  • Harness 越复杂越好

正确理解

  • Harness = Agent 的基础设施架构
  • Harness Engineering = 系统工程 + Prompt Engineering
  • 好模型 + 好 Harness = 更强 Agent
  • 最简 Harness 原则:够用就好

Anthropic 三Agent Harness 设计

GAN 启发的对抗反馈循环,解决 AI 自我评估差的核心问题

1
📋
Planner
需求 → 规格说明
2
🔨
Generator
规格 → 实现
3
🔍
Evaluator
实现 → 评估反馈
💡 为什么需要 Evaluator?
核心问题:AI 模型在评估自己产出的质量时,倾向于"自我感觉良好"——即使输出明显平庸,也会自信地给出高分。
解决方案:将生成与评估分离,让独立的 Evaluator Agent 使用 Playwright MCP 实际操作应用,给出具体批评而非泛泛赞美。

三Agent 职责分工

📋

Planner Agent

  • • 输入:1-4 句用户需求
  • • 输出:完整产品规格(16+ features)
  • • 原则:聚焦产品上下文,不过度指定技术细节
  • • 特殊:主动寻找 AI 功能切入点
🔨

Generator Agent

  • • 模式:Sprint-by-Sprint 实现
  • • 技术栈:React + Vite + FastAPI + SQLite/PostgreSQL
  • • 自带 Git 版本控制
  • • 每个 Sprint 结束自评后交棒 QA
🔍

Evaluator Agent

  • • 工具:Playwright MCP(实际操作应用)
  • • 评分:产品深度 / 功能性 / 视觉设计 / 代码质量
  • • 机制:每项有硬阈值,低于阈值 = Sprint 失败
  • • 输出:详细 Bug 列表 + 修复建议

实验数据对比

📊 Retro Game Maker 实验

Harness 类型 时长 成本
Solo(单Agent) 20 min $9
Full Harness(三Agent) 6 hr $200
结果:Solo 运行的游戏核心功能无法工作;Harness 运行可实际玩

📊 DAW(数字音频工作站)实验

Agent & 阶段 时长 成本
Planner 4.7 min $0.46
Build (Round 1) 2 hr 7 min $71.08
QA (Round 1) 8.8 min $3.24
总计 3 hr 50 min $124.70
🎯 Evaluator 捕获的典型问题
Rectangle fill tool:只填充起点/终点,而非整个区域 — 函数存在但触发逻辑错误
Delete entity:条件判断错误,需要 || 而非 &&
API route order:FastAPI 路由顺序问题,'reorder' 被误解析为 frame_id

Anthropic Agent 模式体系

Workflows(预设路径)vs Agents(自主决策),从简单到复杂

核心原则
"找到最简单的解决方案,只在需要时增加复杂度" — 优化单次 LLM 调用 + 检索 + 上下文示例,通常就足够。Agentic 系统是用延迟和成本换取更好的任务性能。

5 种 Workflow 模式

1
Prompt Chaining
任务分解为固定步骤序列
场景:生成营销文案 → 翻译成其他语言
关键:每个步骤可独立验证,中间可加"gate"检查点
2
Routing
分类输入,路由到专门处理流程
场景:客服查询(一般问题/退款/技术支持)→ 不同下游流程
关键:分离关注点,为每类输入优化专门的 prompt
3
Parallelization
并行执行多个子任务
变体:Sectioning(拆分独立子任务)/ Voting(多角度投票)
场景:Guardrails(一个处理查询,一个检测不当内容)
4
Orchestrator-Workers
中央 LLM 动态分解任务,委托给 worker LLM
场景:复杂代码变更(多文件、不确定数量)
关键:子任务由 orchestrator 动态决定,而非预定义
5
Evaluator-Optimizer
一个 LLM 生成,另一个提供评估反馈,循环迭代
场景:文学翻译(需要多轮打磨)、复杂搜索任务
关键:LLM 响应能通过人类反馈改进 + LLM 能提供有效反馈

Autonomous Agent

🤖
自主 Agent(Autonomous Agent)
Agent 与 Workflow 的本质区别:Agent 自己决定流程,而非按预设路径执行。Agent 从用户获取任务后,自主规划并执行,过程中获取"ground truth"(工具结果、代码执行),必要时暂停请求人类反馈。
场景:SWE-bench 任务(根据 PR 描述修改多文件)、Computer Use(操作电脑完成任务)
代价:更高成本、潜在错误累积 → 需要沙盒测试 + 护栏

✅ 何时用 Workflow

  • 任务可清晰分解为固定子任务
  • 需要可预测性和一致性
  • 成本敏感,需要控制延迟

✅ 何时用 Agent

  • 开放性问题,步骤数难以预测
  • 需要灵活性和模型驱动的决策
  • 在可信环境中规模化执行任务

Claude Code 实践:10亿 ARR 背后的 Harness

6 个月达成 $1B 年化收入,Anthropic 亲自示范 Harness Engineering

$1B
年化收入(6个月达成)
100万
Token 上下文窗口
MCP
Model Context Protocol
🔧

Claude Code 的 Harness 设计

  • Terminal 环境运行:直接操作代码库、执行命令
  • Git 集成:自动 commit、branch、PR
  • MCP 扩展:按需加载工具,凭据隔离
  • Memory 功能:自动记住项目上下文、调试模式
  • Compaction:自动压缩历史,保持上下文
🔌

MCP(Model Context Protocol)

  • 开放标准:连接 Agent 与外部系统
  • 按需加载:工具按需激活,减少噪音
  • 数据过滤:数据进入模型前预处理
  • 凭据隔离:通过 Proxy 处理认证,Harness 不直接接触敏感 Token

2026 关键发布

2026.04.08
Claude Managed Agents
托管执行环境,沙盒 + 状态管理 + 凭据处理
2026.04.09
Claude Cowork
桌面 Agent(macOS/Windows),会议摘要、文档草稿
2026.03
Claude Code Memory
自动记住项目上下文、调试模式、偏好设置

概念澄清与对比

Harness 方法论 vs Harness Agent 公司 vs OpenClaw

⚠️ 概念澄清
Harness(方法论)≠ Harness Agent(公司产品)。
Harness 方法论由 Anthropic 定义,强调 Agent 基础设施的重要性;Harness Agent 是一家做 DevOps AI Agent 的公司,其产品名为 Harness Agent。
对比维度 Harness 方法论 Harness Agent 公司 OpenClaw
本质 方法论 / 架构理念 商业产品 / 公司 开源 Agent 平台
来源 Anthropic 定义 Harness Inc. 开源社区
目标场景 通用 Agent 开发 企业 DevOps / CI/CD 个人助手 / 多渠道
核心创新 三Agent架构 / Context Reset Pipeline-Native Skills / MEMORY.md
扩展方式 MCP 协议 Agent 模板 / Marketplace ClawHub 1700+ Skills
开源度 —(方法论本身) Agent 模板开源,平台闭源 完全开源(MIT)
成本 SaaS 订阅 + API 费用 免费(仅需 API 费用)

OpenClaw 的 Harness 设计

🧠
MEMORY.md
长期记忆文件,跨会话知识积累
📦
Skills 系统
模块化能力扩展,SKILL.md 定义
🔄
Agent Runtime
7 阶段循环执行引擎
👥
Subagent 模型
主 Agent + 子 Agent 并行协作

Harness Engineering 八大原则

Anthropic + Google + 社区共识,2026 最佳实践

1

最简 Harness 原则

从最简单的方案开始,只在简单方案不足时增加复杂度。每个组件都是对"模型做不到什么"的假设,这些假设值得持续压力测试。

2

Context Reset > Compaction

解决 "Context Anxiety"(模型接近上下文限制时提前结束)。Context Reset 提供干净状态,比单纯的压缩更有效,但需要精心设计 handoff artifact。

3

Evaluator 必须独立

AI 模型无法可靠评估自己的输出。将生成与评估分离,让独立的 Evaluator 使用工具(如 Playwright)实际操作产物,给出具体批评。

4

LLM 推理,代码执行

LLM 只负责推理、意图提取、决策。确定性任务、计算、数据库写入交给传统代码,用严格 Schema 捕获模型输出。

5

Prompt as Code

Prompt 版本控制、模板化、A/B 测试。变量动态注入上下文,追踪 prompt 性能指标。Prompt 逻辑与应用逻辑分离。

6

Human-in-the-Loop

Agent 必须清晰表明身份。提供即时、不干扰的状态反馈。允许用户检查推理过程、工具调用、决策逻辑。用户可随时接管。

7

可观测性优先

全链路追踪:工具调用、路由、检索、格式化。结构化评估数据集,而非依赖轶事证据。检测 "Model Drift",快速反馈给工程师。

8

Build to Delete

设计 Harness 时预期组件可能被替换——模型能力在快速进化,今天的"必需品"明天可能变冗余。模块化设计,易于替换。

💡 Anthropic 的核心洞察
"随着模型持续改进,有趣 Harness 组合的空间不会缩小——它会移动。AI 工程师的工作是不断寻找下一个新颖组合。"

核心技术细节

Context Reset、Evaluator 循环、ACI 设计、Claude 托管智能体

🔄

Context Reset vs Compaction

特性 Reset Compaction
机制 完全清空上下文 摘要压缩历史
状态传递 需显式 handoff 隐式传递
适用场景 短期独立任务 长期连续对话
理论基础 Compaction = 动量项
📊

Evaluator 评分维度

任务成功率:完成任务的可靠性
输出质量:清晰度、逻辑性、正确性
步骤效率:避免冗余操作
幻觉率:事实错误频率
迭代改进幅度:每轮质量提升

ACI(Agent Computer Interface)设计原则

目的性工具选择
工具应有清晰、独特的用途,避免功能重叠
清晰命名空间
分组相关工具,防止混淆
上下文高效返回
优化响应 token,避免消耗上下文窗口
持续用户反馈
集成反馈增强学习优化能力

Claude 托管智能体对比

特性 Managed Agents Claude Cowork
发布时间 2026.04.08 2026.01
运行环境 云端托管 本地虚拟机
适用场景 长时间云端任务(分钟/小时级) 桌面安全执行
文件访问 沙盒文件系统 仅用户批准文件夹
多智能体 ✓ 研究预览 ✓ 并行子智能体