今年爆火的AI新概念:Harness Engineering到底是什么?一文看懂
今年爆火的AI新概念:Harness Engineering到底是什么?一文看懂
你有没有遇到过这种情况——
花半小时纠正AI的一个错误,在Prompt里写清楚“不要这样做”,第二天开了新会话,AI毫不犹豫地……又犯了同样的错。
换了个更贵的模型,效果并没有你期望的那么好。同一套代码,别人的AI跑得很顺,你接进来却各种翻车。
问题可能不在模型,在模型外面那层“壳”。这就是今年AI圈最火的概念:Harness Engineering。
一个公式:Agent = Model + Harness
LangChain给了一个极简的公式:
Agent = 模型 + Harness
模型决定了AI的上限(能多聪明),Harness决定了AI的下限(能多靠谱)。
Harness是什么?直译是“挽具”——套在马身上的那套装备,让骑手能驾驭马匹。
用在AI领域:模型是大脑,Harness是身体。没有身体,大脑再聪明也只能“想”,不能“做”。
它包括模型之外的一切:系统提示词、工具调用、文件系统、沙箱环境、编排逻辑、钩子中间件、反馈回路、约束机制。
为什么Harness突然火了?
LangChain做过一个实验:同一个模型,只改了Harness部分(没换模型),编码基准测试Terminal Bench 2.0的得分从52.8%提升到66.5%,排名直接从30名开外冲进前5。
更震撼的是OpenAI的实践:一个3人团队,靠Harness工程体系,5个月构建了100万行代码,0行人工手写,全程AI生成。
OpenAI的Ryan Lopopolo在《Harness engineering》那篇爆文中直言:“如果你现在每天还不用超过十亿tokens,那几乎都快算得上‘失职’了。”
Prompt → Context → Harness:三层递进
这三个概念不是替代关系,是递进关系:
| 层级 | 核心问题 | 作用对象 |
|---|---|---|
| Prompt Engineering | 怎么写好一条提示? | 单次模型调用 |
| Context Engineering | 给模型看什么信息? | 多次调用的信息流 |
| Harness Engineering | 系统怎么防崩、怎么持续运转? | Agent运行环境 |
简单说:Prompt是“怎么说”,Context是“给什么看”,Harness是“怎么让它稳定干活”。
如果Agent在一个明确的任务里输出模糊,问题出在Prompt层面。指令没问题但模型持续选错工具,问题出在Context层面。当Agent在长周期任务里反复犯错、无法恢复、系统失控时,那就是Harness该解决的问题了。
三个能立刻用上的Harness技巧
1. AGENTS.md是入口,不是百科全书
AGENTS.md应该是约100行的“目录页”,指向更深层的文档,而不是把所有规则塞进去。巨型指令文件只会挤占上下文,让模型“降智”。
2. Hooks是自动纠错机制
在Agent生命周期的特定事件触发Hook——文件写入后、Agent停止前。比如每次Agent停止后自动运行类型检查和linter,只有失败时才把错误信息返回给Agent,成功时保持安静,不污染上下文。
3. 外置验证比自证可靠
不能让主Agent既当运动员又当裁判。引入外部Evaluator,用自动化测试、监控指标来验证结果,而不是相信Agent的口头声明。
一句话总结
Harness Engineering的本质是:工程师从“写代码的人”变成“设计系统的人”。
模型决定AI能飞多高,Harness决定AI能飞多稳。
评论区聊聊:你现在用AI写代码时,遇到过它反复犯同样的错误吗?
微信关注《Java进步》带你免费体验AI工具!