Harness 是什么?
Harness 直译是"马具"——套在马身上的缰绳、马鞍、笼头。马力再大,没这套东西,它就在旷野上瞎跑。
放到 AI 语境里,Harness 就是你给 AI 搭的整套工作环境:规则文件、校验脚本、上下文管理、安全机制。
Martin Fowler 的定义更精准:约束和引导 AI 系统输出的机制。
Harness 不只是提示词
很多人以为 Harness 就是写好 prompt,其实远远不止。
Martin Fowler 在文章里画了一张图,说得很清楚:
看这张图,Harness 包含三大部分:
1. 前馈(Feedforward)
- 在 AI 执行之前,先告诉它规则和约束
- 比如:你是个严谨的工程师,输出必须是 JSON 格式,遇到不确定的地方要标注
- 这就是"先立规矩"
2. Agent 执行
- AI 根据前馈的规则开始干活
3. 反馈(Feedback)
- AI 干完活,要检查结果
- 发现问题 → 改进前馈规则 → 下次不再犯
4. 人 review
- 人在旁边盯着,review AI 的输出
- 就像老司机带新手上路,需要在旁边盯着
所以 Harness 是一个闭环系统:前馈指导执行,反馈改进规则,人在旁边兜底。
pre-commit 就是一个货真价实的 Harness
说到这,可能还有人觉得 harness 太抽象。
那就说个具体的——pre-commit。
如果你用 AI 写代码,还没搞清楚什么是 harness,请先把 pre-commit 配置上。
什么是 pre-commit?就是就是在 git commit 之前,自动跑一堆检查:代码格式对不对、有没有语法错误、敏感信息有没有泄露。
这不就是 harness 吗?
- 前馈:你配置好规则,什么能过什么不能过
- 反馈:AI 每次提交都要过检核,格式不对就打回
- 人兜底:过不了就改,过得了才合入
一个 .pre-commit-config.yaml 就把 harness 的核心思想实现了。
所以别把 harness 想得太高大上——你每天在用的那些工程实践,很多本身就是 harness。
Martin Fowler 怎么说
Martin Fowler(写《重构》那位)在今年 2 月写了篇文章,叫 《Harness Engineering》。
他说:
"Harness 是约束和引导 AI 系统输出的机制。"
还有个妙类比:传统软件里的 Test Harness(测试支架)用来约束测试过程,确保结果可靠。AI Harness 干的是同样的事,只是对象从代码换成了 AI。
国外大佬们怎么说
Mitchell Hashimoto:首提概念
HashiCorp 联合创始人、Terraform 之父 Mitchell Hashimoto 在 2026 年 2 月首次提出 Harness Engineering 这个词。
他的核心观点:
"每次发现 AI Agent 犯错,就花时间设计一个解决方案,确保它不再犯同样的错。"
翻译:AI 犯错不可怕,可怕的是你没有一套机制让它不再犯。
OpenAI:实践验证
"OpenAI 在 2 月 11 日发布了 《Harness Engineering: Leveraging Codex in an Agent-First World》,讲了他们的实践。"
最炸裂的案例:
一个 3 人团队,完全禁止手写代码,用 AI Agent 在 5 个月 内构建了超过 100 万行代码 的完整产品。
这就是 Harness 的威力——让 AI 真正成为可靠的打工马。
Anthropic:Claude 的 Harness 之道
你以为只有 OpenAI 在搞 Harness?Anthropic 才是真正的 Harness 老司机。
Claude Code 泄露的天机
今年 3 月底,Anthropic 照常更新 Claude Code 版本 2.1.88。结果这一更新,把内部代码架构给泄露了出来——原来 Claude 背后藏着这么一套精密的 Harness 系统。
Anthropic 把这套方法论总结为一个公式:
Harness = 工具 + 知识 + 观察 + 操作接口 + 权限
| 组件 | 作用 |
|---|---|
| 工具 | Agent 的双手,支撑其完成具体操作 |
| 知识 | Agent 的大脑,赋予其专业判断力 |
| 观察 | Agent 的眼睛,帮助感知环境与任务状态 |
| 操作接口 | Agent 的行动通道,连接内外执行指令 |
| 权限 | Agent 的边界,划定其操作的安全范围 |
三层记忆架构
Claude Code 暴露了一个三层记忆架构,这正是 Anthropic 控制 AI 的秘密武器:
第一层:MEMORY.md(轻量索引)
- 每次会话启动,加载一个索引文件
- 每行存的是文件地址指针,类似图书馆的索引卡
- 避免 AI 被无关信息淹没
第二层:主题文件(按需加载)
- 项目知识分散在多个主题文件中
- 用到哪个才加载哪个
第三层:执行追踪(全程可审计)
- 每一步操作都有迹可循
- 开发者能看到每一次工具调用和决策节点
双 Agent 批评机制
Anthropic 还用了一个从 GAN(生成对抗网络) 借来的思路:一个 Agent 干活,一个 Agent 负责批评。
两个来回打磨,最后出来的东西比单跑好很多。
关键洞察:
"不需要让模型本身变得更自我批判,只需要把『评估』这个任务单独拎出来,给评估器专门调出一种『挑剔』的人格就够了。"
Claude Managed Agents:让 Harness 开箱即用
今年,Anthropic 发布了 Claude Managed Agents,直接把这套 Harness 做成了服务:沙箱隔离、状态管理、凭证管理、权限控制、执行追踪。
你只需要定义 Agent 的任务、工具和安全护栏,剩下的基础设施,Claude 全帮你搞定。
坊间传言:一个 200 刀的 Claude Max 订阅,第三方 Agent 能跑出 5000 刀 的算力消耗。
Harness vs Slop
你可能还听过 Slop 这个词——AI 生成的低质量、假大空、听着很正式但啥也没说的内容。
Harness 是不是为了减少 Slop?
是,但不全是。
Harness 确实能帮忙减少 Slop——前馈立规矩,执行看结果,反馈来纠错。人 review 更是最后一道防线。
让 AI 从"随机漫步"变成"可控奔跑"。
正如前文说的,pre-commit 就是 harness 的一部分,不如我们先把这个都加上?
话说,今年马年马儿好忙,一会儿 harness 马具,一会儿又是 hermes 爱马仕。
参考资料
作者提示: 个人观点,仅供参考