也来谈谈Harness
最近一段时间,Harness Engineering这个概念很火
说什么AI开发终于进化到了第三阶段,能搞大事情了(前两个阶段是Prompt Engineering \Context Engineering)
👉 那我可不能落后啊,连夜去查了资料
openai说:https://openai.com/zh-Hans-CN/index/harness-engineering/
Anthropic说:https://www.anthropic.com/engineering/harness-design-long-running-apps
B乎人士说:…………
终于有了一点理解,那么
👉 Harness 到底是什么,以及它为什么重要。
一、Harness 是什么?
Harness 原译是马具,马绳
那么通过泛化语义Harness Engineering 可以翻译为约束工程(为了好写,以下Harness Engineering 简作 Harness )
再向软件工程靠拢一点:
👉 Harness = 通过约束让 AI 能稳定干活的一整套工程系统
换句话说:
👉 模型负责“思考”,
👉 Harness 负责“让结果可靠”。
再展开一点:
Harness 主要做四件事:
- 限制 AI 的行为(不乱来)
- 提供 AI 的能力(能做事)
- 判断结果是否正确(不自嗨)
- 出错后自动修正(不重复犯错)
👉 本质就是一句话:
把不稳定的智能,变成可控的执行力
二、为什么需要 Harness?
因为模型本身是“不可靠”的。
它有几个很明显的问题:
- 会犯错,而且还很自信
- 会忘(没有长期记忆)
- 会跑偏(任务一长就乱)
- 不知道自己做得对不对
所以真正的问题不是:
👉 AI 会不会做?
而是:
👉 AI 怎么才能持续做对?
Harness 就是这个问题的答案。
三、Harness 的核心结构
如果把 Harness 拆开,其实可以归纳成四个核心部分:
1️⃣ 约束(Constraint)
👉 限制 AI 能做什么、不能做什么
比如:
- 代码规范
- 项目结构规则
- 哪些文件可以改,哪些不能动
👉 作用:防止 AI “乱改一通”
2️⃣ 能力(Tools)
👉 给 AI 工具,让它真正能“做事”
比如:
- 运行代码
- 调接口
- 操作文件
👉 否则 AI 只能“说”,不能“做”
3️⃣ 验证(Evaluation)
👉 判断结果是不是正确
比如:
- 单元测试
- 类型检查
- 页面是否能正常打开
👉 关键点:
👉 不要让 AI 自己判断对不对
4️⃣ 反馈闭环(Feedback Loop)
👉 出错之后自动修正
典型流程:
改代码 → 跑测试 → 失败 → 修复 → 再跑 → 直到通过
👉 这一步决定了:
👉 AI 是“一次性输出”,还是“持续收敛”
四、Harness 在工程里的真实形态
讲到这里,如果还是停留在概念,其实是没用的。
真正重要的是:
👉 Harness 在项目里长什么样?
一个最小可用的 Harness,通常包括这些东西:
📦 1. 仓库结构
让 AI 知道:
- 项目是怎么组织的
- 哪些文档是“真相”
- 从哪里开始改
🔧 2. 标准命令(工具系统)
比如:
npm run lint
npm run test
npm run dev
👉 关键点:
👉 不要让 AI 自己“猜命令”
✅ 3. 自动验证
至少要有:
- 能跑通的测试
- 基础检查(编译 / 类型)
👉 否则 AI 永远不知道自己做对了没有
👀 4. 可观测性
让 AI 能看到运行结果:
- 日志
- 页面
- 返回结果
👉 否则它只能“盲改代码”
🔁 5. 执行循环(最关键)
一个完整流程通常是:
理解任务
→ 查代码
→ 修改
→ 自测
→ 自审
→ 修复
→ 输出
👉 这就是 Harness 的“运行机制”
五、一个非常重要的认知
👉 Harness 的目标不是让 AI 更聪明
👉 而是让 AI 更“可控”
很多人会下意识觉得:
👉 模型越强,一切都会变好
但实际情况是:
👉 模型越强,乱来也越强
所以真正的突破不是:
👉 更强的模型
而是:
👉 更好的 Harness
六、一个很好理解的比喻
👉 Harness = 马具
- 模型 = 马(很强)
- Harness = 缰绳 + 鞍具(控制它)
👉 重点不是让马更强,而是:
👉 让它按你想要的方向跑
七、为什么这是未来的核心能力
AI 编程已经在发生一个很明显的变化:
Prompt → Agent → Harness
- Prompt:让 AI 开始写代码
- Agent:让 AI 能执行任务
- Harness:让 AI 能稳定交付
👉 未来的差距不会在:
- 谁用哪个模型
- 谁用哪个工具
👉 而在:
👉 谁能设计出更好的 Harness
八、最后的总结
如果让我用一句话收尾:
👉 Harness = 让 AI 在你的工程里,自己干活、自己检查、自己修正的那套系统
👉 模型决定上限
👉 Harness 决定你能不能把它用出来
(完)
