Harness Engineering 入门:Agent = Model + Harness

Harness Engineering 入门:Agent = Model + Harness

有没有过这种经历:

arduino 复制代码
别人用 Claude Code:
  说一句"按这个规范重构整个模块"
  → AI 自动读代码、改文件、跑测试、提交 PR
  → 回来收结果

你用 Claude Code:
  说一句"帮我重构一下"
  → AI 改了三个文件,把别的模块搞坏了
  → 你:停!不是这样改的
  → AI:好的,我改回来
  → 你:......

同一个模型,差距在哪?不在模型,在 Harness。

这篇讲的东西,叫 Harness Engineering ------它回答的问题是:同样的模型,为什么有人能让它稳定可靠地干活,有人却只能逐句补救?


一、一句话定义

LangChain 的 Vivek Trivedy 在 2026 年 3 月给了一个最精炼的公式:

Agent = Model + Harness。如果你不是模型,你就是 Harness。

拆开说:

  • Model:原始智能。负责"生成文本"、"推理"、"决策"。
  • Harness:包裹在模型外面的所有东西------系统 Prompt、工具、文件系统、沙箱、编排逻辑、Hook、可观测性。负责让模型生成的文本变成"真实的行动"。

打个比方:模型是发动机,Harness 是整辆车------油箱、轮子、方向盘、刹车、仪表盘。发动机再强,没有车壳它哪也去不了。

Claude Code 就是一个 Harness ------它是包裹在 Claude 模型外面的执行环境。而你在 Claude Code 里写的 CLAUDE.md、Skills、Hooks、MCP 服务器,是你自己的 Harness,建在 Anthropic 官方 Harness 之上。


二、为什么 Harness 比你想的更重要

大多数 Agent 失败,不是模型太笨,而是 Harness 太薄------缺上下文、缺工具、缺反馈、缺护栏。这是好消息:模型你训不了,但 Harness 你就能重建。

复制代码
错误认知:
  Agent 不行 → 换更大的模型 → 还是不行 → 再换更大的

正确认知:
  Agent 不行 → 检查 Harness 哪层薄了 → 补那一层 → 立刻变好

三、Harness 的七层解剖(概览)

把各家的组件列表汇总,一个 Harness 由七层组成:

objectivec 复制代码
① Instructions(指令)
   系统 Prompt / CLAUDE.md / AGENTS.md / Skill 定义 / 编码规范
   → 告诉 AI "按什么规矩干"

② Knowledge(知识)
   记忆存储 / 上下文压缩 / 检索 / 进度文件
   → 告诉 AI "之前干了什么、该参考什么"

③ Tools(工具)
   文件读写 / Shell / 搜索 / MCP 集成
   → 给 AI "能动手的能力"

④ Infrastructure(基础设施)
   文件系统 / 沙箱 / 浏览器 / 执行环境
   → 给 AI "在哪干活的空间"

⑤ Orchestration(编排)
   子 Agent 生成 / 模型路由 / 交接 / 上下文防火墙 / 权限门
   → 决定 "谁干什么、谁能碰什么"

⑥ Hooks / Middleware(钩子/中间件)
   确定性生命周期脚本,由 Harness 运行而非模型
   → 在关键节点 "强制插入规则"

⑦ Observability(可观测性)
   日志 / 追踪 / 成本计量 / 事件总线
   → 让你 "能看见发生了什么"

这七层,后面会逐个详解。你现在只需要记住一个判断标准:你的 Agent 出了问题,从第一层往下排查,问"哪一层失败了"。


四、和 Loop Engineering 的关系:一层之差

如果你读过之前写的 Loop Engineering 系列,你可能会问:Harness 和 Loop 什么关系?

用一句话区分:

vbnet 复制代码
Harness Engineering:这一次尝试怎么可靠地执行?
  → 工具、沙箱、上下文组装、权限

Loop Engineering:下一步干什么?什么时候停?
  → 重试策略、终止条件、任务队列、步骤预算

一个具体的例子------Agent 修一个失败的测试:

vbnet 复制代码
Loop 层决策:
  "队列里下一个要修的测试是登录失败,去修它"
  → 这是 Loop Engineering(决定干什么)

Harness 层执行:
  给 Agent 读对应文件的权限、沙箱里跑测试、
  工具 schema 允许编辑代码、记录日志
  → 这是 Harness Engineering(怎么执行)

两者不是互斥的,是上下层关系。 一个好的 Loop 配一个薄的 Harness,就是"自信地反复重试不可靠的执行";一个好的 Harness 没有 Loop,就是"一次干净的执行,但没人决定什么时候再跑一次"。


五、一个需要提前知道的坑

刚开始关注 Harness 时犯了一个错------以为写好 CLAUDE.md 就是在做 Harness Engineering。

后来才明白:CLAUDE.md 只是 Harness 七层中的第一层(Instructions),而且它有一个致命局限------

CLAUDE.md 是作为上下文加载的,不是作为配置强制执行的。

CLAUDE.md 里的规则,模型读了、通常会遵守,但永远不保证遵守。上下文窗口塞满时,它就会忽略规则。

这意味着:任何合规、安全、硬性规则,不能只靠 CLAUDE.md。你需要 Hook------确定性执行的 Shell 脚本,模型无法幻觉绕过。

arduino 复制代码
不成熟的 Harness:靠模型"记住"纪律
  → 模型心情好就遵守,心情不好就忘
成熟的 Harness:让纪律成为环境的一部分
  → 不管模型怎么想,环境强制它遵守

六、真正需要记住的

markdown 复制代码
1. Agent = Model + Harness,不是模型的就是 Harness
2. 模型是发动机,Harness 是整辆车(工具/沙箱/规则/反馈/观测)
3. decent model + great harness > great model + bad harness
4. 大多数 Agent 失败是 Harness 太薄,不是模型太笨
5. Harness 七层:Instructions / Knowledge / Tools / Infrastructure /
   Orchestration / Hooks / Observability
6. Loop 坐在 Harness 上一层:Loop 决定干什么,Harness 决定怎么执行
7. CLAUDE.md 是建议不是强制,硬规则需要 Hook
相关推荐
可以想象2 小时前
Agent 基础设施比模型能力更卷了?从本周三大旗舰更新看 API 设计的新范式
aigc·ai编程
Lyra_Infra2 小时前
从一段错误 JSON 说起:Policy、Role 与 IAM
后端·json·aigc
Artdesign_Y2 小时前
京东商品主图制作方法:5 款作图工具实测对比
aigc·资讯·工具分享
VIP_CQCRE2 小时前
在 Visual Studio 里接入 Ace Data Cloud:用 LMLocal 打通 OpenAI 兼容 AI 编程体验
大模型·openai·ai编程·visual studio·ace data cloud
远航计算机2 小时前
网站被 AI 收录要多久?从被抓取到被引用的完整时间表
大数据·人工智能·aigc
咸鱼老弟3 小时前
Speculative Decoding(投机采样):大模型"先猜后验",生成速度翻倍
前端·算法·ai编程
码农飞哥4 小时前
企业级RAG系统架构详解
java·人工智能·ai编程·rag·ai应用
undsky_4 小时前
传统色 × 现代和弦:专为 UI/UX 打造的国风配色 Skill
ui·ai·aigc·ai编程·ux