也来谈谈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 决定你能不能把它用出来


(完)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注