2026 初 Harness Engineering:CLAUDE.md + Hooks + MCP 的工程外壳

本条目是「认知升级:四层模型」的第 3 部分,对应学习清单条目 1.1.3。

前置依赖:Prompt Engineering、Context Engineering 为以下铺垫:Loop Engineering


一、核心观点

Harness Engineering = 给 Agent 搭的「工作台 + 护栏」coding agent = AI model(s) + harness。 它解决「Agent 在什么环境里跑、能用什么工具、错了怎么拦」,让 Agent 在生产环境可靠运行。


二、定义与出处(可验证)

  • 术语提出:由 HumanLayer 团队在 2026 年提出并定义——Agent 不只是模型,而是「模型 + 围绕它的 harness」。
  • 定位:Harness 是 Context Engineering 的结构化子集(structural subset)。CLAUDE.md / Skills 优化的是单次推理的输入(Context 层);Commands / Hooks / Permissions 约束的是系统的长期行为(Harness 层)。
  • 核心判断:「如果你的问题在 Harness 层,再大的 CLAUDE.md 也不够。」

三、为什么需要 Harness

没有 harness,Agent 呈现四类可预测的失败模式:

失败模式表现Harness 解法
Context Rot长会话中 stale 信息填满窗口,性能下降压缩 / 子 Agent 隔离
决策不一致相同情境跨会话给出不同选择Rules 文件固化约定
工具混淆工具过多、功能重叠导致误用MCP 只接必要项
知识缺口不知团队规范、禁用操作Skills / CLAUDE.md 注入

四、核心组件

组件角色配置位置
CLAUDE.md / .claude/rules每次会话自动加载的全局约定仓库根
Skills按需加载的专项流程(部署、审查).claude/skills/
MCP Servers连接外部工具/数据(搜索、Jira、DB)settings.json
Hooks生命周期事件点的确定性自动化settings.json
Sub-agents隔离上下文的专业化助手Claude Code
Plugins / Permissions可分发扩展、自动批准范围settings.json

4.1 Hooks:确定性执行,不靠模型记忆

{
  "hooks": {
    "PostToolUse": [{ "matcher": "Edit|Write",
      "hooks": [{ "type": "command", "command": "npx prettier --write" }] }],
    "PreToolUse": [{ "matcher": "Bash",
      "hooks": [{ "type": "command", "command": ".claude/hooks/pre-bash-firewall.sh" }] }]
  }
}

铁律:需要每次都执行的事用 Hooks,不要用 Prompt 提醒。Hook 退出码 0 = 允许,2 = 阻断。Hooks 是确定性的,Skills 是概率性的。


五、核心原则

Mitchell Hashimoto(HashiCorp 创始人):「Every time the agent makes a mistake, engineer it so that mistake can never happen again.」 不是修复错误,而是建造一个让错误不可能再发生的结构。

实践要点:

  • Progressive Disclosure:不要把所有指令塞进 System Prompt,用 Skills 按需加载,节省上下文
  • CLAUDE.md < 200 行:超过此长度人与 Agent 都会 skim-read,其余移入 Skills
  • MCP 只接必要项:连接器越多,token 浪费与判断错误概率越高;用不上的就断开

六、最新研究与企业数据(2024–2026)

  • OpenAI Codex 实验(representative case):5 个月、100 万行代码、0 行由人直接写、合并 1,500 个 PR,单工程师日均完成约 3.5 个任务——靠的是 harness 而非人写代码。
  • Terminal Bench 2.0 反差:同一模型(Opus 4.6)用默认 harness 排名第 40,用优化 harness 排名第 1。“The harness, not the model, determined the ranking.”(GoCodeLab, 2026)
  • Hooks 实测收益:Back-Pressure 模式(Hooks 静音成功、只显失败)让 4,000 行测试输出不再淹没上下文。

七、优势与局限

  • ✅ 把「会犯的错误」变成「结构上不可能的错误」;跨会话一致性;可累积为团队知识
  • ❌ 初始搭建有一次性成本;配置过多反而增加认知负担;需要持续迭代

八、学习资源

  • 权威指南
    • Paradime《Claude Code Skills & Harness Engineering: Complete Guide》(2026-02-26)
    • cuiliang.ai《Harness Engineering:Agent 工程的第三次范式跃迁》
    • Anthropic《Effective context engineering for AI agents》(2025-09)
  • 进阶阅读

下一篇2026 中 Loop Engineering 爆发——有了工作台,下一步让系统自己跑。


参考来源(一手链接 · 可溯源深挖)

速记卡(面试闪卡)

Q1:一句话讲清「2026 初 Harness Engineering:CLAUDE.md + Hooks + MCP 的工程外壳」到底是什么? A:Harness Engineering 是给 Agent 搭的工作台加护栏:用 CLAUDE.md、Hooks、MCP 让它在生产可靠跑。

Q2:一、核心观点 —— 怎么理解? A:coding agent = model(s) + harness。Harness 是 Context Engineering 的结构化子集,解决“在哪跑、用什么工具、错了怎么拦”。铁律:问题在 Harness 层,再大的 CLAUDE.md 也不够(engineering shell)。

Q3:二、四类失败模式 —— 怎么理解? A:无 harness 会 Context Rot(窗口腐烂)、决策不一致、工具混淆、知识缺口。对应解:压缩/子 Agent、Rules 固化、MCP 只接必要、Skills 注入。像没规章的工厂,四种乱子轮流发作(failure modes)。

Q4:三、核心组件 —— 怎么理解? A:CLAUDE.md 全局约定、Skills 按需加载、MCP 连外部、Hooks 生命周期确定性自动化、Sub-agents 隔离、Permissions 批准范围。Hooks 退出码 0 允许、2 阻断——确定性不靠模型记忆(deterministic guardrails)。

Q5:四、原则与数据 —— 怎么理解? A:Mitchell 铁律:每犯一次错就建个让它永不发生的结构。CLAUDE.md<200 行、Progressive Disclosure、MCP 只接必要。Codex 实验 100 万行 0 人手写、Terminal Bench 排名靠 harness 不靠模型(evidence-based)。

Q6:核心速记主线有哪些?

  • 公式:coding agent = model + harness
  • 组件:CLAUDE.md / Skills / MCP / Hooks / Sub-agents / Permissions
  • Hooks 铁律:确定性执行,不用 Prompt 提醒
  • 原则:CLAUDE.md<200 行、渐进披露、MCP 从简
  • 证据:Codex 0 人手写、Terminal Bench harness 定排名

口诀 A:模型加壳才成军 CLAUDE 规矩定准绳 Hooks 把关铁律狠 MCP 只接必要门

相关链接