文章目录
P.S. 目前国内还是很缺AI人才的,希望更多人能真正加入到AI行业,共同促进行业进步,增强我国的AI竞争力。想要系统学习AI知识的朋友可以看看我精心打磨的教程 传送门http://blog.csdn.net/jiangjunshow,教程通俗易懂,高中生都能看懂,还有各种段子风趣幽默,从深度学习基础原理到各领域实战应用都有讲解,我22年的AI积累全在里面了。注意,教程仅限真正想入门AI的朋友,否则看看零散的博文就够了。
前言
先讲一个每天都在发生的惨案。
别人用 Claude Code:说一句"按这个规范重构整个模块",AI 自己读代码、改文件、跑测试、提交 PR。人家泡杯咖啡回来收个结果,下班了。
你用 Claude Code:说一句"帮我重构一下",AI 改了三个文件,顺手把另一个模块干瘫痪了。你说"停!不是这样改的",它说"好的,我改回来"——然后改回来的时候,又把另外两个文件干瘫痪了。
那一刻你终于悟了:你哪是在用 AI,你是在给 AI 当监护人。
同一个模型、同一个工具,差距咋就这么大?
答案很简单:差距不在模型,在 Harness。
我知道你现在满脑子问号:哈什么?奈什么?别急,往下看,五分钟后就懂了,还能拿去跟同事装个大的。
1. 一句话定义
LangChain 那边的人在 2026 年 3 月给过一个特别精炼的公式:
Agent = Model + Harness
翻译成人话就是:你不是模型,那你就是 Harness。
1.1 Model:原始智能
负责生成文本、推理、做决策。简单说,就是那个"会想"的部分。
1.2 Harness:模型外面那堆东西
系统 Prompt、工具、文件系统、沙箱、编排逻辑、Hook、可观测性……全算。它的活儿,是把模型吐出来的文字变成"真实的动作"。
打个比方:模型是发动机,Harness 是整辆车——油箱、轮子、方向盘、刹车、仪表盘。
发动机再猛,没有车壳它也哪儿都去不了。总不能指望发动机自己滚着去上班吧?
Claude Code 本身就是一个 Harness,是包在 Claude 模型外面的执行环境。你在里面写的 CLAUDE.md、Skills、Hooks、MCP 服务器,是你自己的 Harness,盖在官方 Harness 之上。
就跟你买房一样:开发商给你毛坯房,你往里装修。别人家拎包入住,你家连水管都还没接。
2. 为什么 Harness 比你想的重要
大多数 Agent 翻车,不是模型太笨,而是 Harness 太薄——缺上下文、缺工具、缺反馈、缺护栏。
这是天大的好消息:模型你训不了,但 Harness 你可以自己重建。
2.1 两种认知,你细品
错误认知:
Agent 不行 → 换更大的模型 → 还是不行 → 再换更大的 → 公司预算没了
正确认知:
Agent 不行 → 检查 Harness 哪层薄了 → 补上那一层 → 立刻能用了 → 省下的钱买奶茶
换更大的模型,就像给一个不会做饭的人换一口更贵的锅。锅是好锅,菜照样糊。
3. Harness 的七层解剖
把各家组件列表汇总一下,一个 Harness 大致由七层组成:
① Instructions(指令)
系统 Prompt / CLAUDE.md / AGENTS.md / Skill 定义 / 编码规范
→ 告诉 AI "按什么规矩干活"
② Knowledge(知识)
记忆存储 / 上下文压缩 / 检索 / 进度文件
→ 告诉 AI "之前干了啥、该参考啥"
③ Tools(工具)
文件读写 / Shell / 搜索 / MCP 集成
→ 给 AI "能动手的能力"
④ Infrastructure(基础设施)
文件系统 / 沙箱 / 浏览器 / 执行环境
→ 给 AI "在哪干活的空间"
⑤ Orchestration(编排)
子 Agent 生成 / 模型路由 / 交接 / 上下文防火墙 / 权限门
→ 决定 "谁干什么、谁能碰什么"
⑥ Hooks / Middleware(钩子/中间件)
确定性生命周期脚本,由 Harness 运行而非模型
→ 在关键节点 "强制插入规则"
⑦ Observability(可观测性)
日志 / 追踪 / 成本计量 / 事件总线
→ 让你 "能看见发生了什么"
3.1 排查口诀
这七层以后会一个一个细讲。今天先记一个排查标准:你的 Agent 出了问题,从第一层往下排查,问一句"哪一层失败了"。
就像家里灯不亮了,先看是不是没交电费,再看是不是灯泡烧了。别一上来就怀疑整个电网要重建。
4. 和 Loop Engineering 的关系
你要是看过我之前的 Loop Engineering 那篇,可能会问:这俩到底啥关系?
4.1 一句话区分
Harness Engineering:这一次尝试怎么可靠地执行?
→ 工具、沙箱、上下文组装、权限
Loop Engineering:下一步干什么?什么时候停?
→ 重试策略、终止条件、任务队列、步骤预算
4.2 举个例子
Agent 修一个挂掉的测试:
Loop 层决策:"队列里下一个要修的测试是登录失败,去修它"
→ 这是 Loop Engineering(决定干什么)
Harness 层执行:给 Agent 读文件的权限、
在沙箱里跑测试、允许工具 schema 编辑代码、记录日志
→ 这是 Harness Engineering(决定怎么执行)
4.3 不是二选一
两者不互斥,是上下层关系。
一个好的 Loop 配一个薄的 Harness,就是"自信地反复重试不可靠的执行"——翻译过来:脑子一热,冲了再说。
一个好的 Harness 没有 Loop,就是"一次干净的执行,但没人决定什么时候再跑一次"——翻译过来:活儿干得漂亮,可惜只干一次。
5. 一个必须提前知道的坑
我刚开始碰 Harness 的时候犯过一个大错:以为把 CLAUDE.md 写得漂漂亮亮,就是在做 Harness Engineering 了。
后来才明白,CLAUDE.md 只是七层里的第一层(Instructions),而且它有一个致命缺陷——
5.1 它是建议,不是命令
CLAUDE.md 是作为上下文加载的,不是作为配置强制执行的。
里面的规则,模型读了、通常会遵守,但永远不保证遵守。上下文窗口一塞满,它就开始选择性失忆。
就像你在冰箱上贴了张纸条:"吃完饭记得洗碗。“你贴的时候很感动,觉得从此家里井井有条。结果 AI 看了一眼,觉得这是个不错的建议,然后继续忙别的去了。你还不能怪它——纸条上又没写"必须”,写了它也不一定听。
5.2 解法:靠环境,不靠自觉
任何合规、安全、硬性规则,不能只靠 CLAUDE.md。你需要 Hook——确定性执行的 Shell 脚本,模型没法靠幻觉绕过去。
不成熟的 Harness:靠模型"记住"纪律
→ 模型心情好就遵守,心情不好就忘
成熟的 Harness:让纪律成为环境的一部分
→ 不管模型怎么想,环境强制它遵守
不成熟是让 AI 自觉,成熟是给 AI 系安全带。自觉可能会忘,安全带不会。
6. 真正需要记住的
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
下次再有人跟你抱怨"这 AI 不行",你可以先问一句:是模型不行,还是你那层 Harness 太薄了?
大概率,对方沉默三秒,然后开始反思自己的人生。
P.S. 目前国内还是很缺AI人才的,希望更多人能真正加入到AI行业,共同促进行业进步,增强我国的AI竞争力。想要系统学习AI知识的朋友可以看看我精心打磨的教程 传送门http://blog.csdn.net/jiangjunshow,教程通俗易懂,高中生都能看懂,还有各种段子风趣幽默,从深度学习基础原理到各领域实战应用都有讲解,我22年的AI积累全在里面了。注意,教程仅限真正想入门AI的朋友,否则看看零散的博文就够了。
转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/jiangjunshow/article/details/166235496




