Agent Harness 与 Skill 工程调研报告

从 Prompt Engineering 到 Harness Engineering — 第三大工程范式的全面解读

📅 2026 年 4 月 26 日|📖 Anthropic · LangChain · Browser-use · HumanLayer 等

🔬 系统性调研 · 13 篇核心资料

一、调研背景与目标

1.1 为什么要调研 Harness 和 Skill

随着 AI Agent 从"单轮对话"迈入"长时间自主运行"阶段,模型本身的智能已不再是瓶颈。业界观察到:

这意味着 Agent 的核心竞争力正在从"选择更好的模型"转向"设计更好的 Harness"。Harness Engineering 正在成为与 Prompt Engineering、Context Engineering 并列的第三大工程范式。

与此同时,Skill 作为 Harness 中的渐进式披露机制,为 Agent 提供了按需加载领域知识和工作流的能力,解决了传统工具定义导致的 Token 膨胀和认知过载问题。

本次调研旨在系统梳理 Harness 与 Skill 的核心概念、设计原则、实践案例与演进方向,为团队后续的 Agent 开发和培训体系建设提供理论基础。

1.2 调研范围与资料来源

#来源文章/资料作者/团队年份
1Anthropic Engineering BlogScaling Managed Agents: Decoupling the brain from the handsAnthropic2026
2Anthropic Engineering BlogHarness design for long-running application developmentAnthropic2026
3Browser-use BlogThe Bitter Lesson of Agent HarnessesBrowser-use2026
4LangChain BlogImproving Deep Agents with Harness EngineeringVivek Trivedy2026
5LangChain BlogThe Anatomy of an Agent HarnessVivek Trivedy2026
6LangChain BlogUsing Skills with Deep AgentsLance Martin2025
7Martin FowlerHarness engineering for coding agent usersBirgitta Böckeler2026
8HumanLayer BlogSkill Issue: Harness Engineering for Coding AgentsHumanLayer2026
9HumanLayer BlogWriting a good CLAUDE.mdHumanLayer2026
10Addy OsmaniAgent Harness EngineeringAddy Osmani2026
11OpenAI/OpenDevBuilding AI Coding Agents for the Terminal (arxiv)OpenAI2026
12morphllm.comCLAUDE.md Examples and Best Practices社区2026
13groff.devImplementing CLAUDE.md and Agent Skills社区2026

1.3 产品经理视角:如何阅读本报告

本章价值:如果你是产品经理,本章将帮助你建立评估 Agent 需求的三个核心认知框架,直接指导后续的 Skill 设计与 Hardness 分级。

本报告的核心读者是产品经理。你不需要理解 CDP 协议或上下文窗口的技术细节,但需要建立以下三个认知层次:

认知层次核心问题阅读重点
能力边界什么任务适合交给 Agent?什么必须保留给人类?第二章(Harness 定义)、第四章(设计原则)—— 理解 Agent 的"能力半径"
质量门槛如何确保 Agent 输出的可靠性?第四章(棘轮原则、评估分离)、第九章(最佳实践)—— 掌握质量保障方法论
投入产出评估Agent 系统的 ROI 如何计算?第五章(Skill 设计 + Hardness 分级)、第七章(实战案例)—— 建立可量化的评估体系

快速判断法则:一个任务是否适合 Agent 化,可用以下公式初步判断:

Agent 适合度 = 规则明确性 × 反馈可视化程度 × 错误可逆性

高适合度:代码审查、数据整理、文档生成、测试执行
低适合度:创意策划、情感沟通、战略决策、伦理判断

阅读路线建议

1.4 前置概念速览

本节为非技术背景读者准备,快速建立阅读后续章节所需的基础认知。已有相关背景的读者可跳过。

A. 基础概念

AI Agent(AI 智能体)

不只是聊天机器人,而是能自主规划、执行任务、使用工具的 AI 系统。传统 ChatGPT 是"你问我答"模式,Agent 是"你下达目标,我自己拆解步骤、调用工具、执行验证"模式。本报告的核心主题 Harness 就是为 Agent 构建的"操作系统"。

LLM(大语言模型,Large Language Model)

Agent 的"大脑",如 ChatGPT、Claude、GPT-4 等。LLM 擅长理解和生成文本,但自身不能执行代码、不能记住上次对话、不能访问实时信息。Harness 存在的核心目的,就是弥补 LLM 的这些缺陷。

Token(令牌)

LLM 处理文本的最小单位——大约 4 个英文字符 = 1 个 token,1 个中文字 ≈ 1-2 个 token。Token 既是计费单位也是性能瓶颈:输入越多 token,成本越高、速度越慢。报告中 Harness 的渐进式披露和 Skill 设计,本质上都是在做 Token 效率优化

Context Window(上下文窗口)

LLM 一次对话能"看到"的最大信息量,类似你工作台的面积。例如 Claude 3.5 Sonnet 的窗口约 200K tokens。窗口满了,模型就会"忘记"早期内容。报告中 Harness 的上下文管理(压缩、重置、卸载)都在解决窗口有限的问题。

Context Rot(上下文腐化)

长时间对话中,上下文窗口被过期信息、冗余内容和错误尝试逐渐填满的现象。类比:就像办公桌堆满了纸,东西越多、找东西效率越低,最终严重拖慢 Agent 的工作质量。

B. 三大工程范式

三大工程范式递进关系 Prompt Engineering 提示词工程 🎯 关注点 单次对话优化 📝 核心内容 输入表述 指令清晰度 输出格式 ⏱️ 时间维度 一次性 基础层 Context Engineering 上下文工程 🎯 关注点 系统性上下文管理 📝 核心内容 指令 + 用户输入 状态(记忆 + RAG) 工具 + 结构化输出 ⏱️ 时间维度 多轮对话 升级层 Harness Engineering 线束工程 🎯 关注点 完整Agent操作系统 📝 核心内容 架构 + 流程 工具路由 + 沙箱 编排 + 权限 + 钩子 ⏱️ 时间维度 持续演进 系统层 范式演进方向:单次优化 → 系统管理 → 完整操作系统 ➜
图 1:三大工程范式递进关系 — Prompt → Context → Harness
Harness Engineering 的组成 — 工程学科与系统层 Harness Engineering 编排层 Orchestration 任务拆解 流程编排 Agent 调度 记忆层 Memory 提示词工程 Prompt Engineering System Prompt Few-shot 示例 指令模板 上下文工程 Context Engineering RAG / 知识检索 动态上下文组装 长期记忆管理 执行层 Execution 工具调用 代码生成/执行 MCP 集成 反馈层 Feedback — 质量评估 · 自动纠错 · 人机协同 · 持续迭代
图 1-1:Harness Engineering 的组成 — 工程学科与系统层

两种互补视角理解范式关系:

演进视角(学科发展路径):从单次优化(Prompt Engineering)升级到系统管理(Context Engineering)再到完整操作系统(Harness Engineering),三者是能力建设的递进阶段。

体系视角(Harness 内部结构):Harness 作为系统层包含四个并列层级(编排层、记忆层、执行层、反馈层),其中记忆层内部包含提示词工程和上下文工程两个子学科。

两种视角不冲突:前者帮助理解学科的演进方向,后者帮助理解系统的内部组成。

Prompt Engineering(提示词工程)

通过精心设计输入指令来引导 AI 产生更好输出的技术。例如"请你扮演一个高级开发者"、"请一步步思考"等技巧。它是 Harness Engineering 的基础层,但只能优化单次对话的效果。

Context Engineering(上下文工程)

系统性地管理"给 AI 看什么信息"——在正确的时间提供正确的上下文。核心要素包括:指令(Instructions)、用户输入(User Input)、状态信息(短期记忆 + 长期记忆 + RAG 检索)、工具(Tools)和结构化输出(Structured Output)。它是 Prompt Engineering 的升级版,而 Harness Engineering 又是它的进一步升级。

Harness Engineering(线束工程)

本报告的核心主题。简言之,是围绕 AI 模型构建完整运行系统的工程实践。详见第二章的完整定义。

C. 技术概念

Sandbox(沙箱)

一个隔离的"安全屋",Agent 在里面执行代码不会影响你的真实系统。类比:就像银行的防弹玻璃隔间——员工可以在里面操作现金,即使出错也不会影响外面的客户。

MCP(Model Context Protocol,模型上下文协议)

让 AI Agent 连接外部工具和服务的标准协议,相当于 Agent 世界的"USB 接口"。有了 MCP,Agent 就可以读写数据库、调用 API、访问文件系统等。它是报告中 Tool Definitions 的重要实现方式。

Trace(执行痕迹)

Agent 完成任务过程中每一步操作的详细记录,相当于飞机的"黑匣子"。包含每次模型调用、工具使用、结果反馈的完整日志。Trace 分析是改进 Harness 的核心数据来源。

Benchmark(基准测试)

标准化的测试套件,用来量化评估 Agent 的能力水平。例如报告中多次提到的 Terminal Bench 就是专门测试编码 Agent 的"统一考试"。

D. AI 技术概念

RAG(检索增强生成,Retrieval-Augmented Generation)

让 AI 在回答前先"查资料"——从知识库中检索相关信息再生成回答,避免"凭空编造"。是 Context Engineering 的核心技术之一,Harness 中的记忆与搜索组件就用到 RAG。

准确地说,RAG 是记忆层中上下文工程子学科的核心技术实现之一,负责在对话过程中动态检索相关知识补充 Agent 的上下文。而记忆层的另一个子学科——提示词工程——负责设计静态的系统提示和指令框架。两者共同构成了 Harness 的记忆能力。

Few-shot Learning(少样本学习)

给 AI 看几个"参考答案",让它学会如何回答类似问题的技术。报告中 Harness 用它来校准评估器——给几个"好设计"和"差设计"的例子,让 AI 学会判断质量。

GAN(生成对抗网络,Generative Adversarial Network)

一种 AI 架构:一个网络负责生成内容,另一个网络负责判别质量,两者对抗式训练。报告中"评估分离"原则(第 4.3 节)借鉴了这一思路——生成 Agent 和评估 Agent 分工协作。


二、核心概念定义

PM 阅读指南:本章建立 Agent 系统的核心词汇和概念框架。阅读后你将理解"Harness 是什么"、"Skill 如何工作"以及"Agent 与模型的本质区别"—— 这些是后续所有决策的认知基础。

2.1 Harness 的定义

核心公式

Agent 组成公式 Agent Model(大脑) 核心能力 🧠 推理 📖 理解 ✍️ 生成 + Harness(操作系统) 六大组件 系统提示 工具定义 沙箱环境 权限模型 钩子与护栏 编排循环 Agent = Model + Harness
图 2:Agent 组成公式 — Agent = Model + Harness
Harness 四层架构 — 编排 · 记忆 · 执行 · 反馈 AI Agent Harness 编排层 Orchestration Layer 记忆层 Memory Layer 提示词 + 上下文管理 大模型 / LLM ✨ 核心智能引擎 执行层 Execution Layer 工具 + 沙箱 + 权限 反馈层 Feedback Layer Harness = 编排层 + 记忆层 + 执行层 + 反馈层
图 2-1:Harness 四层架构 — 编排 · 记忆 · 执行 · 反馈
Agent = Model + Harness

Harness 是 Agent 中除了模型以外的所有部分,是围绕模型构建的系统层,负责流程编排、上下文管理、工具路由和资源配置。

更完整的视角:Agent 三要素模型

Agent 系统实际包含三个关键要素:模型(推理能力)、Harness(执行系统)、目标定义(成功标准)。仅有强大的模型和完善的 Harness 还不够——如果目标定义模糊,Agent 会陷入"不知道何时停止"的困境。因此 PM 的核心工作之一,就是确保 Agent 有清晰的成功标准失败处理方案

Agent 三要素中的 PM 决策点

要素PM 核心责任关键决策点常见错误
模型选择合适的模型版本和能力等级成本、延迟、能力需求的平衡;是否需要最新版本盲目追求最新最大模型;忽视延迟对用户体验的影响
Harness定义操作约束、反馈机制和安全边界权限范围、验证流程、错误恢复策略过于宽松(安全风险)或过于严格(限制 Agent 能力)
目标定义确保 Agent 有明确的、可验证的成功标准何时任务"完成"?如何验证?失败时怎么办?使用模糊目标(如"生成更好的代码"而非"通过所有测试 + 覆盖率 ≥ 80%")

PM 的核心价值:工程师负责实现 Harness,但 PM 负责定义"Agent 应该做什么"和"做到什么程度算成功"。模糊的成功标准是 Agent 项目失败的首要原因。

运作维度来看,Harness 可以理解为一个四层架构系统

Harness 的组成

组成部分说明
系统提示System Prompts、CLAUDE.md、AGENTS.md、Skill 文件
工具与能力Tools、Skills、MCP 服务器及其描述
基础设施文件系统、沙箱环境、浏览器等
编排逻辑子 Agent 生成、任务交接、模型路由
中间件与钩子上下文压缩、续延、代码检查等
可观测性日志、追踪、成本和延迟度量

各方对 Harness 的理解

来源定义侧重关注层面
Anthropic (Managed Agents)调用 Claude 并路由工具调用到相关基础设施的循环系统;编码对 Claude 能力的假设基础设施层:容错、可扩展性、多会话管理
Anthropic (Design)通过分解、上下文重置和结构化工件交接实现长期任务连贯编码的框架业务逻辑层:质量评估、迭代改进
Browser-use将 Agent 与底层工具之间的"驾驭"最小化;不是围绕 LLM 构建抽象,而是给予最大化操作空间工具接口层:最小化抽象、自修复
LangChain围绕模型构建的工具系统,将模型固有的"峰值智能"塑造为特定任务的高效表现优化层:性能指标、Token 效率、延迟

Harness 的作用

期望的 Agent 行为 Harness 提供的能力 持久地处理真实数据 文件系统 + Git 编写与执行代码 Bash + 代码执行 安全执行与默认工具 沙盒环境 + 工具集 记忆并获取新知识 记忆文件 + 网络搜索 + MCP 长上下文下保持性能 上下文压缩 + 工具卸载 + Skills 完成长周期任务 编排循环 + 规划 + 验证 每一项 Harness 能力,都来自模型自身无法独立达成的一种行为
图 3:期望的 Agent 行为与 Harness 能力映射

2.2 Skill 的定义

Skill 是什么

Skill 是由 SKILL.md 文件及其关联资源组成的可复用 Agent 能力模块,包含专门的工作流程和领域知识,采用 YAML frontmatter + Markdown 指令的标准格式。

Skill 的核心特征

特性说明
发现机制前向元数据(name、description),Agent 先查看元数据决定是否需要加载
渐进式披露初始只加载 frontmatter,匹配时才加载完整指令
组织单位按任务划分(如 build-test-verify、git-commit、create-pull-request)
代码与指令包含 SKILL.md、可选脚本、参考文档、资源模板
加载策略按需加载,避免 context window 膨胀
大小限制建议 < 500 行,优先 < 150 行

SKILL.md 格式规范

---
name: build-test-verify
description: "When the user asks to build, test, or verify code changes"
allowed-tools:
  - bash
  - read_file
  - write_file
---

# Build-Test-Verify Workflow

## Steps
1. Run the build command: `bun run build`
2. Execute tests: `bun test`
3. Verify no regressions...

## Error Handling
- If build fails, check...

三层结构

  1. 前向元数据(frontmatter) — 始终加载(5-10 行)
  2. 完整指令(SKILL.md 正文) — 按需加载(匹配 description 时)
  3. 辅助资源(脚本、文档、模板) — 被指令引用时加载

2.3 Harness 与 Prompt Engineering 的区别与联系

区别

维度Prompt EngineeringHarness Engineering
作用域单次对话/请求长期、多轮、系统级
优化对象输入表述、指令清晰度架构、流程、资源配置
改进方式迭代提示词修改系统设计(解耦/分离/工作流)
处理问题理解力、输出格式可靠性、可扩展性、质量收敛
作用时间跨度单次请求整个 Agent 生命周期
团队角色提示词工程师系统架构师/产品工程师

联系

2.4 Harness 设计的安全边界

本节价值:帮助 PM 在需求评审阶段快速判断任务的安全等级,避免将不适合自动化的场景交给 Agent。

Part A:任务适合度 × 安全等级矩阵

任务类型示例安全等级推荐 Harness 配置审批要求
数据整理、文档格式化、信息摘要低风险极简 Harness(L1)无需审批
代码审查、测试生成、内容创作中风险标准 Harness + 自验证(L2-L3)首次审核,后续抽检
系统部署、数据库操作、API 发布高风险完整 Harness + 沙箱 + 人工审批(L3)100% 人工审批
财务决策、医疗建议、法律合同极高风险不建议完全自动化N/A

Part B:红线场景清单

🚫 红线场景(绝不完全自动化):

  1. 金融交易与资金转账
  2. 医疗诊断和用药建议
  3. 法律合同的最终签署
  4. 未加密的个人隐私数据处理
  5. 生产数据库的删除/修改操作
  6. 涉及不可逆物理操作的控制指令

红线场景中 Agent 可以辅助(如起草合同、预分析数据),但最终决策和执行必须由人工完成。PM 在需求评审时应首先排除红线场景。


三、Harness 核心组件

3.1 六大组件详解与四层架构映射

Harness 的六大组件与四层架构的映射关系如下:

注:编排循环不单独归属某一层,而是作为中枢驱动编排层、记忆层、执行层、反馈层的协同运作。

四层架构 ↓ / 六大组件 → System Prompt Tool Definitions Sandbox Permission Model Hooks & Guardrails Orchestration Loop
编排层●(中枢驱动)
记忆层↺ 贯穿
执行层↺ 贯穿
反馈层↺ 贯穿

● = 主要归属层;↺ 贯穿 = 编排循环作为中枢驱动所有层的协同运作

1. System Prompt(系统提示)

分层、动态、可继承的指令体系,是 Harness 最基础的组件。

PM 视角:系统提示是你能直接影响 Agent 行为的最主要杠杆。当 Agent 表现不符合预期时,首先检查系统提示是否清晰定义了任务目标、约束条件和输出格式。

2. Tool Definitions(工具定义)

为 Agent 提供与外部世界交互的能力接口。

PM 视角:工具定义决定了 Agent “能做什么”。当你发现 Agent 无法完成某类任务时,可能不是模型能力不足,而是缺少对应的工具定义。PM 需要规划 Agent 应具备的工具清单。

3. Sandbox Environment(沙箱环境)

安全隔离的代码执行环境。

PM 视角:沙箱确保 Agent 的试错不会影响真实数据和生产环境。有了沙箱保障,你可以放心给 Agent 更大的操作权限,这是提升 Agent 可靠性和自主性的基础设施。

4. Permission Model(权限模型)

控制 Agent 的操作边界和安全约束。

PM 视角:权限模型回答“Agent 被允许做什么”。过于宽松的权限带来安全风险,过于严格则限制 Agent 能力。PM 需要根据业务场景定义合理的权限边界。

5. Hooks & Guardrails(钩子与护栏)

在模型调用或工具执行前后的拦截点,实现质量保障和安全防护。

PM 视角:钩子与护栏是 Agent 的“质量检查员”。当你担心 Agent 在某些场景下犯错(如删除重要文件、发送敏感信息),可以通过钩子实现自动拦截和人工审批。

6. Orchestration Loop(编排循环)

协调模型推理、工具调用、上下文管理的主循环。

PM 视角:编排循环是 Agent 的“工作节奏”。它决定了 Agent 是一次性回答问题,还是能够自主规划、执行、验证、迭代。理解编排循环有助于你判断 Agent 是否具备完成复杂任务的能力。

概念区分:编排层 vs 编排循环

  • 编排层(Orchestration Layer)— 层级概念:Harness四层架构之一,负责协调各层的整体运作
  • 编排循环(Orchestration Loop)— 流程概念:Agent执行任务时“推理→决策→执行→反馈→推理”的循环过程

两者是包含关系:编排循环发生在编排层中,但其驱动力贯穿记忆层、执行层和反馈层。类比理解:编排层是“指挥中心”,编排循环是“指挥中心发出的工作流程”。

3.2 组件间的关系与协作

Harness 六大组件关系图 ⟳ Orchestration Loop(编排循环) ① System Prompt + Skills CLAUDE.md · AGENTS.md SKILL.md · 分层指令体系 始终加载 + 按需加载 🧠 Model(大脑) Claude / GPT 推理 · 理解 · 生成 ⑤ Hooks & Guardrails PreCompletionChecklist LoopDetection · 时间预算 LocalContext 注入 拦截 · 验证 · 防护 ② Tool Definitions Bash · 代码执行 MCP 服务器集成 Skill 扩展工作流 极简 · 原始API优先 拦截 ④ Permission Model 命令白名单 · 网络隔离 凭证管理 · 渐进式授权 控制操作边界 ③ Sandbox Environment 预装运行时 · 安全隔离 容器即牲畜 · 按需扩展 隔离执行环境 鉴权 数据流 指令注入 模型推理 工具调用 安全执行 结果回传 ⟳
图 4:Harness 六大组件关系图

协作流程

  1. Orchestration Loop 是中枢,驱动整个 Agent 生命周期
  2. System Prompt 为模型提供初始指令和上下文,Skills 按需扩展
  3. 模型输出经 Hooks & Guardrails 拦截验证
  4. 工具调用通过 Permission Model 鉴权后在 Sandbox 中执行
  5. 执行结果回传至 Orchestration Loop,注入模型下一轮上下文

推荐实施顺序:System Prompt → Tool Definitions → Sandbox → Permission Model → Hooks & Guardrails → Orchestration Loop


四、Harness 设计原则

PM 阅读指南:本章提供设计 Agent 系统的五大核心原则。你将学会如何"让 Agent 永不再犯同样的错误"(棘轮原则)、如何分离生成与评估(GAN 启发),以及如何合理控制 Agent 的操作权限 —— 这些原则直接影响产品的可靠性和安全性。

4.1 棘轮原则(Ratchet Principle)

每当发现 Agent 犯一个错误,就要花时间工程化一个解决方案,使 Agent 永远不再犯同样的错误

实践循环

  1. 观察 Agent 失败(通过 trace 分析)
  2. 识别根本原因(指令缺失、约束不足、反馈循环不足)
  3. 工程化解决方案(修改 CLAUDE.md、添加钩子、创建 Skill)
  4. 验证改进(重新运行 benchmark 或项目)
  5. 永久编码到 Harness 中

关键原则:好的 CLAUDE.md 中的每一行都应该追溯到一个具体发生过的失败事件。

4.2 解耦设计:Brain / Hands / Session

Anthropic 在 Managed Agents 中提出了三层解耦架构:

组件职责特性
Brain(大脑)Claude 推理 + Harness 编排无状态,可独立重启
Hands(手)沙箱和工具执行容器化,失败即丢弃重建
Session(会话)Append-only 事件日志不可变记录,支持灵活查询

设计灵感:参考操作系统的抽象设计 —— OS 通过进程、文件等通用抽象让程序独立于硬件。read() 命令对 1970 年代磁盘和现代 SSD 都有效。

关键优势

Session (append-only event log)
  ↓
Harness (coordinates Claude + tool routing)
  ├→ Brain (Claude inference)
  ├→ Hands (Sandboxes & Tools)
  └→ Context Management (event querying & transformation)

4.3 评估分离(GAN 启发)

Anthropic 在长时间运行应用设计中提出:生成者与评估者必须分离

问题根源:LLM 对自己的工作过于乐观(Self-Evaluation Bias)。

实现方式

4.4 极简工具哲学(Bitter Lesson)

Browser-use 提出的核心理念:

"我们试图隐藏的 CDP 复杂性不是应该隐藏的东西。它们是应该让模型看到的东西。"

原理:源自 Richard Sutton 的 "The Bitter Lesson" —— AI 系统成功的关键是计算和数据,不是人类对系统的具体假设。模型已见过千万级别的 CDP token,比工程师更懂处理复杂性。

适用边界:这是一种"让模型处理复杂性"的工程哲学,而非普适用于所有场景的绝对真理。在安全敏感场景(金融交易、医疗诊断、隐私数据处理)中,适度封装仍然是必要的 —— 完全暴露原始 API 可能带来不可控风险。产品经理需要根据业务场景的安全等级,在"暴露复杂性"和"安全封装"之间找到平衡点。

实践对比

传统框架Harness 方式
数千行框架代码仅 ~600 行代码
为每个场景创建 helper 函数暴露原始 API(CDP、shell)
十种标签崩溃场景 → 十个 watchdogAgent 读错误 → 自动修复重试
限制 Agent 操作空间给予最大化操作空间再限制

为什么暴露原始 API 反而更有效?传统工程思维假设"我们比模型更擅长简化复杂性",于是层层抽象封装。但现代 LLM 已经学习了百万级别的复杂系统讨论(Chrome 错误日志、API 文档、Stack Overflow 等),它们处理原始复杂信息的能力往往超过工程师的预期。过度简化反而限制了模型的能力,使其无法应对现实中的异常情况。这就是 Bitter Lesson 的启示:让模型直接面对复杂性,而非替模型做决定

4.5 渐进式披露(Progressive Disclosure)

渐进式披露(Progressive Disclosure)是一种信息呈现架构模式,通过分层加载机制优化Agent的上下文管理:

核心价值:降低初始认知负荷,优化 Token 使用效率,同时确保 Agent 在需要时能获取完整知识。

三层设计

渐进式披露机制(Progressive Disclosure) 第一层 Frontmatter name · description · allowed-tools 5-10 行 第二层 完整指令(SKILL.md) 详细工作流 · 步骤 · 错误处理 100-500 行 第三层 辅助资源 脚本 · 文档 · 模板 · 参考代码 无限制 Token 消耗 极少 ▪ 适中 ▪▪ 较多 ▪▪▪ 加载时机 始终加载 每次会话 匹配时加载 description 匹配 引用时加载 被指令引用时 节省 context 使用 20-30%,避免认知过载
图 5:渐进式披露机制(Progressive Disclosure)
1. 前向元数据(frontmatter)— 始终加载
   ├─ name: Skill 名称
   ├─ description: 何时使用(Agent 据此判断是否加载)
   └─ allowed-tools: 使用权限

2. 完整指令(SKILL.md 正文)— 按需加载
   └─ 仅当 Agent 匹配 description 时读取

3. 辅助资源(脚本、文档、模板)— 被指令引用时加载
   └─ 在 Harness 中声明调用方式

Token 效率对比

5.5 Skill 设计的五步法

本章价值:为产品经理提供从 0 到 1 设计第一个 Skill 的实操框架,可与 5.6 节的 Hardness 分级配合使用。

基于 Anthropic 官方 Skill Building Patterns 及实践社区经验,Skill 设计遵循以下五个步骤:

步骤名称关键动作产品经理关注点
Step 1场景拟定从 2-3 个具体 Use Case 开始,而非先写架构任务是否重复出现?失败成本是否可接受?
Step 2触发设计用 "What + When + Key Capabilities" 三段式写 description描述是否准确覆盖触发条件?边界是否清晰?
Step 3分层加载精简 SKILL.md body,将详细内容放入 references/ 目录核心指令是否在 150 行以内?辅助资源是否可独立更新?
Step 4验证循环设定量化指标(90% 触发率、最大迭代次数)Success criteria 是否可量化?是否需要人工审批节点?
Step 5持续迭代基于真实失败事件修改,而非凭感觉优化是否有 trace 记录机制?改进是否可回滚?

关键原则:好的 Skill 中的每一行指令都应该追溯到一个具体发生过的失败事件(棘轮原则在 Skill 层面的应用)。

Skill 质量门禁检查表

在发布 Skill 前,对照以下清单进行质量验收:

【结构质量】

【功能质量】

【可维护性】

质量门禁不是一次性检查,而是持续迭代的过程。建议每月审视一次 Skill 库,淘汰触发率低于 50% 的 Skill,优化准确率低于 90% 的 Skill。

从 Hardness 分级到 Skill 设计

产品经理在评估需求时,应先判断任务的 Hardness 等级(见 5.6 节),再决定技术方案:

5.6 Hardness 分级方法论:从"复杂度"到"管理难度"

本章价值:建立可操作的四级分类体系,帮助产品经理在评估需求时快速判断实现复杂度和资源投入。

原报告提供了"从固定到动态、从集中到分布"等演进方向,但未将其构建为可操作的分类体系。以下四级 Hardness 框架填补了这一空白:

等级名称特征产品经理判断依据
L1标准化规则明确、输入输出可预测任务是否可用清单(Checklist)完整表达?执行步骤是否固定?
L2协议化需要上下文理解但流程固定是否存在标准操作流程(SOP)可遵循?异常情况是否有预案?
L3推理化需要多步迭代和自我修正任务是否需要多次尝试和验证?中间状态是否需要人工确认?
L4创造化目标模糊、需要多并行探索任务是否涉及创意和多方案对比?成功标准是否主观?

Hardness 分级与资源投入的对应关系

等级Skill 规模验证要求典型迭代周期团队投入
L1不需要端到端测试1-2 天1 人(PM 定义规则)
L2< 150 行触发率 ≥ 90%1 周2 人(PM + 工程师)
L3150-500 行准确率 ≥ 95% + 错误处理覆盖2-4 周3-4 人(含 QA)
L4多 Agent + 框架人工评审 + A/B 测试1-3 月5+ 人(专项团队)

5.7 Skill 与 Hardness 的映射关系

本章价值:提供从需求评估到技术方案的决策路径,降低产品经理与工程师之间的沟通成本。

Skill-Hardness 映射决策图 L1 标准化 自然语言描述 → 不需要 Skill 直接描述即可 L2 协议化 简单 Skill (<150行) → 定义触发条件 + 核心流程 L3 推理化 完整 Skill + 验证 → 验证脚本 + 错误处理机制 L4 创造化 多 Agent 协作 → 企业级框架 + 安全合规 示例:数据格式化、日志解析、文件整理 checklist 可完整表达 → 自然语言即可 示例:代码提交规范、PR 创建、构建验证 SOP 存在 → Skill + 触发条件 示例:代码审查、Bug 分析、测试用例生成 需多步推理 → 完整 Skill + QA 示例:架构设计、创意生成、多方案对比 主观评价 → 多 Agent + 人工评审
图 6-1:Skill-Hardness 映射决策图

决策路径:产品经理在评估新需求时,先问"这个任务的 Hardness 等级是什么?",再问"需要什么样的 Skill 来支撑?"—— 两个问题的答案共同决定了技术方案和投入资源。

ROI 估算公式

Agent ROI = (节省人工时长 - 后续审核成本 - 系统维护成本) / 总投入成本

其中:
- 节省人工时长 = 单次任务人工耗时 × 月频率 × 自动化比例
- 后续审核成本 = L1-L2 可忽略;L3 需 10-20% 人工抽检;L4 需人工终审
- 系统维护成本 = Skill 更新频率 × 单次更新成本
- 总投入成本 = 初始开发人天 + 基础设施成本

从设计到评测的完整链路:第5.5-5.7节提供了Skill的设计方法论(五步法)、复杂度分级(Hardness L1-L4)和投资决策框架(ROI估算)。但一个关键问题仍未回答:如何系统性地验证Skill的设计质量并持续改进? 下节引入Anthropic的Evals评测框架,完成从"设计→评测→迭代"的闭环。

5.8 Evals 框架与 Skill 质量评测体系

5.8.1 为什么需要系统性评测

第5.5节的质量门禁检查表为单个 Skill 的交付设定了质量关卡——从触发条件覆盖到错误处理完整性,逐项核查。然而,当企业的 Skill 库规模增长到 10+ 甚至数十个 Skill 时,单次的门禁检查已不足以保障整体质量。Skill 之间可能存在触发语义重叠、版本迭代可能引入回归、模型升级可能改变既有行为——这些系统性问题需要系统性方案。

这一挑战并非 AI 编程领域的独有问题。在机器学习领域,模型的质量保障早已从"人工抽检"进化到"标准化 Benchmark 评测"——没有 benchmark 的模型,无从谈起可靠性。Skill 作为一种结构化的 AI 工作流定义,同样需要建立可量化、可重复、可对比的评测体系。

Anthropic 的 Skill-Creator 项目正是这一理念的实践产物。该项目提供了一套完整的、经过大规模内部验证的评测框架,涵盖评测维度定义、基准对比方法、盲对比评估机制和防过拟合策略。其核心理念可以概括为:Skill 不是写完就结束的静态文档,而是通过结构化评测持续改进的可迭代资产。这一理念从根本上改变了 Skill 的生命周期管理方式——从"一次编写、长期使用"转变为"持续评测、数据驱动迭代"。

5.8.2 五维评测体系

评测维度核心指标评测方法与 Harness 的关系
触发精准度Precision(精确率)、Recall(召回率)With/Without-Skill 双路对比运行,统计触发率对应 Skill 的 description 质量(渐进式披露第一层)
功能性能期望通过率(Pass Rate)结构化期望列表 + 逐条证据判定(PASS/FAIL)对应 SKILL.md body 的指令质量
输出质量内容评分 + 结构评分(1-10)盲对比评估:隐藏 Skill 来源,纯基于质量判断综合反映 Harness 整体设计水平
性能开销Token 消耗、执行时间、工具调用次数基准数据汇总(mean / stddev / min / max)对应 Token 效率优化(解耦设计 4.2)
可靠性结果方差、异常值分布同一用例多次运行的统计分析反映 Harness 的鲁棒性

这五个维度形成了一个完整的评估视角:触发精准度回答"Skill 在正确的时机被使用了吗?";功能性能回答"Skill 按预期完成了任务吗?";输出质量回答"最终交付物达到标准了吗?";性能开销回答"成本可接受吗?";可靠性回答"结果稳定可重复吗?"。五个维度从不同角度审视同一个 Skill,任何单一维度的优秀都不足以代表整体质量——一个触发精准但输出低质的 Skill,或一个输出优质但 Token 消耗过高的 Skill,都需要进一步优化。

5.8.3 盲对比评估:消除偏见的质量判断

传统的 A/B 测试中,评估者知道哪个版本是"改进版",容易产生确认偏见(Confirmation Bias)——倾向于认为改进版"理应更好"。这种偏见在 Skill 评测中尤为突出:开发者花费数小时优化 Skill 后,很难客观承认改进版可能并不优于原版。

Anthropic 在 Skill-Creator 项目中引入了盲对比评估(Blind Comparison)机制,借鉴学术界"双盲同行评审"的方法论,从根本上消除评估偏见。其工作流程如下:两个 Skill 版本分别执行相同的测试用例;输出结果被标记为"A"和"B",完全隐藏版本来源;独立的评估 Agent(即 Comparator Agent)从内容正确性、完整性、组织结构三个维度评分;最终仅基于质量判断胜负,期望通过率作为辅助证据而非决定因素。

这种机制的价值不仅在于消除偏见,更在于提供了一个可信的"谁更好"的判断标准。当迭代到第 5、第 10 轮时,改进的边际效益递减,开发者凭直觉已难以判断哪个版本更优——盲对比评估提供了客观的决策依据。

5.8.4 评测驱动的迭代循环

阶段动作关键产物方法论依据
定义期望evals(测试集)"好的期望检查真实工作完成,而非表面符合"——期望应验证最终结果而非中间步骤
基准测试对比数据With-Skill vs Without-Skill 双路运行,量化 Skill 的增量价值(而非绝对值)
盲对比评分报告隐藏来源的质量评估,消除确认偏见(见 5.8.3)
失败分析失败模式报告分类:误触发 / 漏触发 / 执行偏差 / 质量不足——棘轮原则(4.1)的评测层面应用
针对性改进更新后的 SKILL.md"每条指令追溯到一个评测失败"——避免无依据的主观优化
回归验证版本演进记录新版本 vs 旧版本对比,确保改进不引入新回归

防过拟合机制:将测试用例分为训练集和测试集。改进时仅针对训练集的失败进行优化,用测试集验证泛化能力。最终选择测试集得分最高的版本——这是 ML 领域的标准实践,在 Skill 开发中同样适用。Anthropic 的实践表明:不采用这种分割的迭代,容易导致 Skill 对特定测试用例"过拟合",而在真实使用中表现下降。

5.8.5 按 Hardness 定制评测策略

不同 Hardness 等级的 Skill 在评测重点、合格门槛和迭代方式上存在显著差异。以下框架与第 5.6 节的 Hardness 分级形成对照,为每个等级提供量身定制的评测方案:

维度L1 标准化L2 协议化L3 推理化L4 创造化
评测重点端到端正确性触发精准度 + 期望通过率多维度全面评测盲对比 + 人工评审
合格门槛100% 通过触发率 ≥ 90%,通过率 ≥ 95%通过率 ≥ 90%,质量分 ≥ 7/10盲对比胜率 ≥ 60%
测试用例3-5 个(覆盖输入变体)5-10 个(含边界用例)10-15 个(含异常路径)5-8 个(典型 + 创意场景)
迭代方式通常无需迭代Description Tuning 3-5 轮全面迭代 5-10 轮探索性迭代,无固定轮数
评估方式自动化自动化为主自动化 + 盲对比盲对比 + 人工终审

5.8.6 Description Tuning:触发精准度的精细优化

Skill 的 description 是 Agent 决定是否触发该 Skill 的唯一依据——它对应渐进式披露的第一层(见 4.5 节)。当 Agent 面对用户请求时,它会扫描所有可用 Skill 的 description,选择最匹配的一个(或不选择)。因此,description 的质量直接决定了触发精准度:过于宽泛导致误触发,过于狭窄导致漏触发。Anthropic 基于大量实践提出了一套系统化的 Description Tuning 方法,核心是通过失败分析驱动针对性优化。

失败分析四分类:

类别失败模式典型原因优化方向
A 类:误触发不该触发时触发了(False Positive)description 过于宽泛,关键词与其他 Skill 重叠收窄触发条件,添加排除语义
B 类:漏触发该触发时未触发(False Negative)description 缺少用户常用表述扩展触发词,增加同义表述
C 类:执行偏差触发了但结果不符合期望SKILL.md 指令不够具体或有歧义优化执行指令,补充约束条件
D 类:质量不足执行了但输出质量低缺少示例、错误处理不完善补充示例和自检步骤

Description Tuning 的核心原则:

5.8.7 版本追踪与基线管理

每个 Skill 的迭代历史应被完整记录,形成可追溯的版本链。Anthropic 的实践中采用 history.json 记录每一轮迭代的关键数据:

v0 (基线)        → 期望通过率: 65%  → 状态: baseline
  ↓
v1 (优化 description) → 期望通过率: 75%  → 状态: won → 替代 v0
  ↓
v2 (补充错误处理)    → 期望通过率: 85%  → 状态: won → 当前最佳

何时触发新一轮迭代?Anthropic 建议关注以下触发条件:触发精准度下降超过 10%(可能因模型更新导致行为变化)、新增业务场景未被现有测试用例覆盖、用户负面反馈累计达到阈值、以及模型大版本更新后的例行重评估。

其中最后一点尤为关键:模型升级不等于"自动变好"。每次模型更新后都应重跑评测基线,用数据验证而非假设。Anthropic 的实践表明:即使模型能力整体提升,不合适的 description 仍会导致触发率下降——因为新模型对语义的理解方式可能发生了微妙变化。将"模型更新后重评估"纳入标准流程,是避免"升级即退化"的最有效手段。

5.8.8 与衡量体系的集成

宏观 + 微观的完整闭环:第 9.4 节定义了 Harness 层面的宏观衡量指标(任务完成率、Token 效率、失败分类等)和反馈循环频率(日/周/月/季度)。Evals 框架则提供了每个 Skill 层面的微观评测规则。两者共同构成从"单个 Skill 质量"到"整体 Harness 性能"的完整评测体系。PM 应同时关注两个层面:微观评测确保每个 Skill 持续改进,宏观衡量确保整体 Agent 性能持续提升。


五、Skill 体系设计

PM 阅读指南:本章是报告的核心实操章节。你将掌握 Skill 与 Tool/MCP 的选择决策框架(5.1)、从 0 到 1 设计 Skill 的五步法(5.5)、以及评估任务复杂度的 Hardness 四级分级体系(5.6)—— 这些内容直接支撑后续的 Skill 设计与 Hardness 分级工作。

5.0 需求评估决策树:从需求到 Hardness 定级

本节价值:提供一个快速筛选工具,帮助 PM 在 5 个问题内初步判断需求的 Hardness 等级,为后续的 Skill 设计和资源评估提供起点。

步骤判断问题是 →否 →
Q1这个任务是否重复出现(每周 ≥ 3 次)?继续 Q2 ↓暂不投资 Agent 化,用人工处理
Q2任务失败时,能否在 30 分钟内人工修复?继续 Q3 ↓高风险 需要完整反馈层 + 人工审批
Q3任务的输出是否有明确的验收标准?继续 Q4 ↓L4 创造化 需要人工评审循环
Q4任务流程是否固定(每次步骤相同)?L1 标准化L2 协议化继续 Q5 ↓
Q5任务是否需要多步推理和自我修正?L3 推理化L2 协议化

使用说明:决策树仅为初步筛选工具。实际定级时还需考虑:数据敏感性、系统集成复杂度、团队技术储备。建议 PM 与工程团队共同完成最终定级。

5.1 Skill vs Tool vs MCP 对比

维度SkillToolMCP
本质分层加载的工作流指令(元数据 + 完整指令 + 辅助资源)原子操作接口外部服务协议
Token 成本低(渐进式披露)高(全量加载)中等
认知负荷低(专用模块)高(众多选择)中等
学习曲线中(指令 + 脚本)高(API 掌握)
灵活性中等
可共享性中等
适用场景重复出现的工作流和知识模块原子操作(API 调用、文件读写)与外部服务集成

使用建议

Skill vs Tool vs MCP 决策流程

面对新需求时,按以下流程快速判断应该使用哪种方案:

步骤判断问题是 →否 →
Step 1这个操作是否涉及外部服务(数据库、第三方API、云服务)?✅ 优先用 MCP 标准协议接入继续 Step 2 ↓
Step 2这是单次原子操作(如:读文件、发请求、查询)还是多步骤工作流?单次原子操作 → 用 Tool多步骤工作流 → 继续 Step 3 ↓
Step 3这个工作流是否会在不同场景中重复使用继续 Step 4 ↓写在 CLAUDE.md 的任务说明中即可
Step 4工作流是否包含条件分支或需要自我修正完整 Skill(L3-L4,含错误恢复和验证循环)简单 Skill(L1-L2,仅 frontmatter + 基础指令)

决策流程应用示例

需求示例判断路径结论
Agent 需要查询数据库外部服务 → 是MCP
Agent 需要读取本地文件外部服务 → 否,单次操作 → 是Tool
Agent 需要做代码审查外部服务 → 否,多步骤 → 是,重复 → 是,有分支 → 是完整 Skill
Agent 需要格式化 JSON外部服务 → 否,单次操作 → 是Tool

5.2 三层架构:CLAUDE.md → Skills → Agent Guides

三层架构:CLAUDE.md → Skills → Agent Guides Tier 1:Root CLAUDE.md 项目 WHY / WHAT / HOW · 通用命令 · 指向 Tier 2-3 的索引 通用规则 · 所有任务适用 Tier 2:Skills(.claude/skills/) build-test-verify git-commit create-pull-request core-conventions self-review-checklist Tier 3:Agent Guides(docs/agent-guides/) 完整命令清单 · 架构详解 · 约定俗成文档 深层参考 · 无行数限制 信息量 < 100行 100-500行 无限制 加载策略 始终加载 按需加载 引用加载 Less is More — 优先 < 150 行
图 6:三层架构 — CLAUDE.md → Skills → Agent Guides

Tier 1:Root CLAUDE.md(< 100 行,通用规则)

Tier 2:Skills(.claude/skills/(按任务划分,100-500 行)

Tier 3:Agent Guides(docs/agent-guides/(深层参考,无限制)

5.3 CLAUDE.md / AGENTS.md 最佳实践

核心原则

Less is More

通用性约束

内容框架(Why / What / How)

Why: 项目为什么存在,什么是重要的
What: 项目结构、依赖关系、主要组件地图
How: 通用的开发原则、构建命令、测试流程

常见错误

错误原因解决方案
过度详细代码样式、所有命令都写进去用 linter + Progressive Disclosure
条件规则"如果修改后端则..."用目录级 CLAUDE.md 或 Skill
自动生成AI 生成的规则效果差手工编写,基于真实失败事件
忽视缓存每次会话重复加载冗余内容利用 Prompt Caching 优化

5.3.1 在 Harness 中设计人工审批节点

本节价值:当任务涉及中高风险操作时,需要在 Harness 中嵌入人工审批检查点。以下是三种常见的审批模式。

模式一:执行前审批

场景:Agent 准备执行不可逆操作(如:提交 PR、发送邮件、修改配置)

实现方式:在 CLAUDE.md 或 Hooks 中声明:

在执行以下操作前,必须暂停并请求人工确认:
- 创建或合并 Pull Request
- 发送外部通知/邮件
- 修改生产环境配置

模式二:阶段性审批

场景:复杂任务的关键里程碑

实现方式:在 Skill 中定义检查点:

Step 1: 分析需求 → Step 2: 设计方案 → [人工审批]
→ Step 3: 实现 → Step 4: 测试 → [人工审批]
→ Step 5: 部署

模式三:异常触发审批

场景:Agent 遇到预设之外的情况

实现方式:在 Hooks 中定义触发条件:

当以下情况发生时,自动暂停并通知 PM:
- 连续 3 次相同操作失败
- 操作范围超出预期(如:修改了 10+ 文件)
- 检测到敏感数据模式

审批节点的设计原则:宁多勿少(初期),逐步放开。新上线的 Agent 建议在所有关键操作上设置审批,运行稳定后再选择性取消。这与棘轮原则一致——每次取消审批都应基于足够的成功证据。

5.4 渐进式披露的 Token 效率分析

场景假设:一个项目有 20 个工具/Skill

模式启动加载量按需加载量总 Token 消耗(典型任务用 3 个工具)
传统全量加载20 × 150 行 = 3000 行0~3000 行(全部预付)
Skill 渐进式20 × 8 行 = 160 行3 × 150 行 = 450 行~610 行(按需付费)

节省比例:约 80%(在工具数量多但单次任务使用少量工具的场景下效果更显著)。:80% 是极端场景下的理论上限(20 个 Skill 仅使用 3 个),Anthropic 官方实测数据为 20-30%(典型业务场景),实际效果取决于 Skill 数量和任务类型的匹配度。

Anthropic 数据显示,渐进式披露可节省 context 使用 20-30%,同时降低 Agent 的认知过载。


六、各方文章核心观点对比

6.1 Anthropic:Managed Agents 与解耦架构

核心主题:系统性地解决长期运行代理的架构问题

关键贡献

关键洞察:Harness 编码的是对模型能力的假设,这些假设需要随模型改进不断更新。例如 Context Anxiety 在 Sonnet 4.5 中存在,但在 Opus 4.5 中消失,原有的重置代码变成无用"死代码"。

6.2 Anthropic:长时间运行应用的 Harness 设计

核心主题:长期运行任务中的自评估问题与多代理架构解决方案

关键贡献

核心洞察

传统单 Agent 自评估 → 模型过于乐观。分离评估后 → 对生成工作更严苛 → 迭代质量更高。这类似 GAN 的生成器-判别器架构。

6.3 Browser-use:Bitter Lesson 与极简主义

核心主题:最小化抽象,让 Agent 直接访问原始工具 API

关键贡献

四文件架构

文件行数职责
run.py13 行执行纯 Python,预加载 helpers
helpers.py192 行CDP 的薄包装,Agent 可编辑
daemon.py220 行保活 CDP websocket
SKILL.md告诉 Agent 如何使用上述工具

核心洞察

"我们试图隐藏的 CDP 复杂性不是应该隐藏的东西。它们是应该让模型看到的东西。"

6.4 LangChain:Trace 分析与自验证改进

核心主题:通过系统性的 Harness 优化,利用痕迹分析和自验证改进 Agent 性能

关键贡献

Harness 工程师的目标

"准备并交付上下文,使 Agent 能够自主完成工作。"

6.5 跨文章共识与分歧

共识

共识观点支持来源
Harness 编码的假设需要随模型演进更新所有文章
分离原则至关重要(Brain/Hands、Generator/Evaluator、关注点分离)所有文章
上下文管理是 Harness 的核心所有文章
LLM 自评估存在乐观偏差Anthropic (Design)、LangChain
大多数 Agent 失败是配置问题而非模型问题LangChain、HumanLayer

分歧

维度观点 A观点 B
抽象层次Anthropic 倾向提供结构化抽象(三层架构、评分标准)Browser-use 主张极简,让模型直接面对原始 API
工具设计LangChain 重视中间件和钩子的系统化设计Browser-use 认为过度中间件是反模式
错误处理Anthropic 通过架构设计预防错误Browser-use 通过自修复循环事后恢复
规模假设Anthropic 面向大规模生产系统设计Browser-use 面向快速迭代的小型系统

七、实战案例

PM 阅读指南:本章通过三个真实案例展示 Harness 改进的量化效果(52.8% → 66.5% 的提升)。重点关注"推理三明治"策略和 4 维度评分标准 —— 这两个工具可直接复用到你的 Agent 场景。

7.1 LangChain Terminal Bench 实验(52.8% → 66.5%)

背景:Terminal Bench 2.0 基准测试,使用 GPT-5.2-Codex 模型

基线表现:52.8%(排名 Top 30)

改进措施

改进维度具体实施效果
自验证循环强制 Agent 执行:计划 → 构建 → 测试 → 修复最关键改进
前置检查清单PreCompletionChecklistMiddleware 拦截 Agent 输出防止不完整提交
环境感知注入LocalContextMiddleware 在启动时发现工具和目录结构减少探索时间
时间预算提醒注入时间剩余警告防止 Agent 超时
循环检测LoopDetectionMiddleware 跟踪文件编辑次数打破"死循环"
推理预算策略规划阶段 xhigh → 实现阶段 high → 验证阶段 xhigh优化推理成本

Trace 分析方法

步骤 1: 从 LangSmith 获取实验痕迹
步骤 2: 生成并行错误分析 Agent → 检测错误模式
步骤 3: 主 Agent 综合发现 → 聚合反馈
步骤 4: 人工验证 → 修改 Harness
步骤 5: 重新运行基准测试 → 验证改进

最终结果:66.5%(+13.7%),排名 Top 5

关键发现

7.2 Browser-use 自修复循环案例

场景处理过程结果
文件上传缺失遗漏 upload_file() → Agent grep helpers.py → 自动添加函数 → 文件上传成功工程师通过 git diff 才发现该功能
大文件上传遇到 10MB CDP 限制 → Agent 读取错误信息 → 切换分块上传模式12MB 文件成功上传
复杂 UI 导航Iframe + Shadow DOM 问题 → Agent 直接用 CDP 遍历绕过框架抽象的复杂性

与传统框架的对比

7.3 Anthropic 前端设计迭代案例

问题:Claude 倾向于生成技术正确但视觉平凡的设计("安全模板"风格)

解决方案 — 4 维度评分标准

维度评估内容
设计质量整体一致性 vs 零散部分
原创性自定义决策 vs 模板/库默认
工艺排版层级、间距一致性、色调协和
功能性可用性独立于美学评估

实施过程

  1. 建立结构化评分标准
  2. 通过少量示例校准评估器(Few-shot)
  3. 分离生成 Agent 和评估 Agent
  4. 多轮迭代

效果:设计从"安全模板"进化到创意突破(如将博物馆网站转为 3D 空间体验)

4维度评分规则示例(1-5分制):

  • 设计质量:1分 = 完全不一致,5分 = 所有组件视觉协调统一
  • 原创性:1分 = 完全套用模板,5分 = 大量自定义设计决策
  • 工艺:1分 = 排版混乱间距不等,5分 = 完美的视觉层级和细节
  • 功能性:1分 = 严重可用性问题,5分 = 所有交互符合预期

对 4 个维度分别评分,取平均值作为总分。每轮迭代对比分数变化,量化 Harness 改进带来的提升效果。PM 可以将此评分框架复用到其他 Agent 场景。

7.4 Anthropic 全栈应用三代理架构

架构设计

Agent角色职责
Planner(规划器)初始化分析需求、制定实施计划、定义特性列表
Generator(生成器)逐特性实现React + Vite + FastAPI + SQLite 全栈开发
QA(评估器)代码审查和验证独立评估代码质量、运行测试

通信机制


八、Harness 演进方向

Harness 演进方向 过去 未来 固定 动态(自适应) Agent 根据模型能力和任务需求自动调整 Harness 集中 分布(解耦) Brain/Hands/Session 解耦,TTFT 下降 60-90%+ 黑盒 透明(暴露API) 暴露原始接口,让模型学会应对现实复杂性 单Agent 多Agent(协作) 规划/执行/评估分离,各 Agent 独立 context
图 7:Harness 演进方向

8.1 从固定到动态

8.2 从集中到分布

8.3 从黑盒到透明

8.4 从单 Agent 到多 Agent

新兴趋势

Harness 演进优先级指南(PM 路线图)

基于当前行业发展趋势,建议按以下节奏规划 Harness 投资:

时间阶段优先级投资方向预期收益适用团队
立即启动(本季度)P0实现自验证循环(构建→测试→修复);引入评估分离(评估 Agent 独立于执行 Agent)质量提升 30-50%,减少人工审查所有团队
有条件投资(下季度)P1Brain/Hands/Session 三层解耦;上下文压缩与重置机制;Skill 库标准化延迟降低 40-60%,可维护性提升有 L3+ 需求的团队
战略性投资(半年内)P2多 Agent 协作框架;Harness 自适应(根据模型版本自动调整);跨项目 Skill 共享长期竞争力,团队效率倍增技术领先团队

路线图建议:先确保 P0 项(自验证 + 评估分离)在所有项目中落地,再根据具体项目复杂度选择 P1 投资。P2 项属于前瞻性布局,建议指定专人跟踪行业动态。每季度回顾一次路线图,根据实际进展调整优先级。


九、可操作的最佳实践

PM 阅读指南:本章提供从"第 1 周该做什么"到"长期迭代节奏"的全周期行动清单,以及 9 个常见反模式(Anti-Patterns)的规避指南。建议将 9.1 节的快速启动清单作为团队启动 Agent 项目的标准流程。

9.1 快速启动清单

□ 第 1 周:编写或审核根 CLAUDE.md (< 100 行)
  - 项目 WHY / WHAT / HOW
  - 所有任务都需要的命令(bun vs npm 等)
  - 指向 Skill 和 Agent Guide 的索引

□ 第 2-3 周:创建 5 个核心 Skill
  - build-test-verify(验证命令集)
  - git-commit(提交规范)
  - create-pull-request(PR 标准)
  - core-conventions(代码风格)
  - self-review-checklist(质量门禁)

□ 第 4 周:建立 trace 分析反馈循环
  - 记录失败的 trace
  - 识别模式 → 改进 Harness
  - 重新验证 → 迭代优化

9.2 改进优先级矩阵

优先级改进项实现难度预期收益
P0编写清晰的 CLAUDE.md
P0实现自验证循环(构建 → 测试 → 修复)
P1创建 task-specific Skills
P1环境感知注入(目录结构、可用工具)
P1分离评估逻辑(独立验证 Agent)
P2Trace 分析自动化
P2推理预算优化(推理三明治策略)
P2解耦业务逻辑和执行容器
P3多 Agent 协作框架
P3Harness 自适应调整

9.3 常见 Anti-Patterns

Anti-Pattern问题正确做法
自动生成 CLAUDE.mdAI 生成的规则效果差,模型倾向忽视手工编写,基于真实失败事件
CLAUDE.md 过长超过 200 行后指令跟随率下降控制在 < 150 行,用 Skill 分流
所有代码风格写入 CLAUDE.md浪费 Token,有更好工具用 linter + formatter 自动执行
堆砌条件规则"如果修改后端则…" 模型常忽视用目录级 override 或 Skill
超大 Skill> 500 行的 Skill 降低加载效率拆分为多个小 Skill
假设模型会变好"下个版本会解决"是危险思维针对当前模型工程化解决方案
隐藏复杂性过度抽象反而限制模型能力暴露原始 API,让模型自行处理
忽视 trace 分析无法量化改进效果建立基准 → 分析 → 改进循环
单 Agent 自评估LLM 对自己工作过于乐观分离评估 Agent 或添加验证中间件

9.4 衡量与迭代方法

关键度量

度量指标说明
任务完成率Terminal Bench 或自定义 benchmark 得分
Token 效率每任务消耗的 complete tokens
失败分类分布从 trace 中提取各类失败的占比
验证时间比例用于自我纠正的时间占比
TTFTTime To First Token,衡量响应延迟

反馈循环频率

日常:  每 10-20 次运行分析一次 trace,发现通用失败模式
每周:  Review CLAUDE.md 和 Skill 有效性
每月:  Audit Harness 中是否有过时补丁或"死代码"
每季度:评估是否需要架构级调整(单 Agent → 多 Agent 等)

自动改进循环(LangChain 方法)

Harness 改进循环 Harness Engineering Cycle ① 建立基准 定义评估指标 记录所有执行 Trace Terminal Bench · LangSmith ② 痕迹分析 分析 Agent 研究失败案例 识别通用失败模式 错误分类 · 模式提取 ③ 目标改进 修改 System Prompt / Tools 添加 Middleware / Hooks 验证不引入回归 ④ 验证迭代 重新运行基准测试 对比前后表现 52.8% → 66.5% ✓
图 8:Harness 改进循环(LangChain 方法)
步骤 1: 建立基准
  → 定义评估指标(如 Terminal Bench 得分)
  → 记录所有执行痕迹(LangSmith)

步骤 2: 痕迹分析
  → 生成分析 Agent,研究失败案例
  → 识别通用的失败模式

步骤 3: 目标性改进
  → 修改系统提示 / 工具 / 中间件
  → 验证改进不会引入回归

步骤 4: 迭代
  → 重新运行基准测试
 → 继续优化

初期失败模式分析

在达到 52.8% 基线之前,团队经历了多个典型的 Harness 设计失败。这些失败模式对 PM 具有重要的参考价值:

失败模式症状表现根因分析解决方案
Agent不验证自己的工作 写完代码就提交,不运行测试 System Prompt 中没有明确要求"必须运行测试并确认通过" 添加 PreCompletionChecklist 中间件,强制自验证
环境信息不足 Agent 重复尝试50次都找不到目标文件 启动时不知道项目结构,缺少初始上下文 LocalContext 中间件在启动时自动注入目录树和关键文件位置
错误循环不收敛 遇到错误后反复尝试相同方法 缺少"失败次数限制"和"策略切换"机制 在 Hooks 中添加重试计数器,3次失败后强制切换方法

PM启示:这些失败模式是如何被发现的?答案是Trace分析。建议PM要求工程团队保留Agent的完整执行日志(Trace),定期回顾失败案例,每个修复都应转化为Harness规则(棘轮原则)。


十、关键术语表

术语英文定义
Agent HarnessAgent Harness围绕模型构建的系统层,处理流程、上下文、工具路由和资源配置。Agent = Model + Harness
SkillSkill由 SKILL.md 及其关联资源组成的可复用 Agent 能力模块,支持渐进式披露
棘轮原则Ratchet Principle每次发现 Agent 错误就工程化解决方案,永久消除该类错误
渐进式披露Progressive Disclosure按需加载指令和知识,而非一次性全量加载
上下文焦虑Context Anxiety模型在接近上下文限制时提前结束任务的行为
苦涩教训Bitter LessonAI 系统成功的关键是计算和数据,不是人类的具体假设(Richard Sutton)
自评估偏差Self-Evaluation BiasLLM 对自己的工作过于乐观的倾向
上下文腐化Context Rot长时间运行中 context window 被噪声和冗余信息填满的现象
事件流Event Stream记录所有 Agent 活动的持久化、只追加日志
中间件/钩子Middleware / Hooks在模型调用或工具执行前后的拦截点
推理三明治Reasoning Sandwich在规划和验证阶段增加推理预算、实现阶段降低的策略
上下文重置Context Reset清空 Agent 上下文窗口后通过结构化交接启动新会话
痕迹分析Trace Analysis自动分析失败执行痕迹以识别改进机会
Terminal BenchTerminal Bench用于评估编码 Agent 性能的基准测试套件
TTFTTime To First Token到首个输出 token 的时间,衡量响应延迟
MCPModel Context Protocol模型上下文协议,用于连接外部服务
CDPChrome DevTools ProtocolChrome 开发者工具协议,Browser-use 直接暴露给 Agent
AI AgentAI Agent能自主规划、执行任务、使用工具的 AI 系统,区别于简单的聊天机器人
大语言模型LLM (Large Language Model)Agent 的"大脑",擅长理解和生成文本,如 ChatGPT、Claude、GPT-4 等
令牌TokenLLM 处理文本的最小单位,约 4 个英文字符 = 1 token,也是计费和性能的基本单位
上下文窗口Context WindowLLM 一次对话能处理的最大信息量,超出则"遗忘"早期内容
提示词工程Prompt Engineering通过精心设计输入指令引导 AI 产生更好输出的技术
上下文工程Context Engineering系统性管理提供给 AI 的信息——在正确时间提供正确上下文
沙箱Sandbox隔离的安全执行环境,Agent 在其中运行代码不影响真实系统
检索增强生成RAG (Retrieval-Augmented Generation)让 AI 在回答前先从知识库检索相关信息再生成回答
少样本学习Few-shot Learning给 AI 少量示例让其学会如何处理类似问题的技术
生成对抗网络GAN (Generative Adversarial Network)一种 AI 架构,生成网络与判别网络对抗训练以提升生成质量
基准测试Benchmark标准化测试套件,用于量化评估 Agent 能力水平

十一十一、参考资料

Anthropic

  1. Scaling Managed Agents: Decoupling the brain from the hands — Anthropic Engineering Blog, 2026
  2. Harness design for long-running application development — Anthropic Engineering Blog, 2026

LangChain

  1. The Anatomy of an Agent Harness — Vivek Trivedy, LangChain Blog, 2026
  2. Improving Deep Agents with Harness Engineering — Vivek Trivedy, LangChain Blog, 2026
  3. Using Skills with Deep Agents — Lance Martin, LangChain Blog, 2025

Browser-use

  1. The Bitter Lesson of Agent Harnesses — Browser-use Blog, 2026

Martin Fowler

  1. Harness engineering for coding agent users — Birgitta Böckeler, martinfowler.com, 2026

HumanLayer

  1. Skill Issue: Harness Engineering for Coding Agents — HumanLayer Blog, 2026
  2. Writing a good CLAUDE.md — HumanLayer Blog, 2026

其他

  1. Agent Harness Engineering — Addy Osmani, 2026
  2. Building AI Coding Agents for the Terminal: Scaffolding, Harness, Context Engineering — OpenAI/OpenDev, arxiv, 2026
  3. CLAUDE.md Examples and Best Practices — morphllm.com, 2026
  4. Implementing CLAUDE.md and Agent Skills — groff.dev, 2026

报告生成时间:2026 年 4 月 26 日

调研范围:Anthropic、LangChain、Browser-use、HumanLayer、Martin Fowler、OpenAI 等业界领先团队的 2025-2026 年发布内容