原文作者:卡码大模型
原文链接:mp.weixin.qq.com/s/yP3Clk7Ed... 发布时间:2026年4月27日 这篇文章太硬核了,我反复读了三遍,把核心知识点和自己的理解整理出来,分享给大家。
收获一:Harness Engineering到底是什么?
原文金句: 「Agent = Model + Harness」
这句话太精辟了。在一个AI Agent系统里,除了模型本身之外,几乎所有决定它能不能稳定交付的东西,都属于Harness。
Harness这个词直译叫"马具"或"缰绳"。想象骑马------马本身力量强大,但如果没有缰绳,可能往悬崖跑、把你甩下来。马具的作用,就是让这股力量为你所用。
我的理解:Harness Engineering就是给AI系统装缰绳的工程学科。
作者还提到了这个概念是怎么火起来的,这条时间线很关键:
2026年2月5日,Mitchell Hashimoto(HashiCorp联合创始人,Terraform作者)发博客《My AI Adoption Journey》,第5步叫"Engineer the Harness"。
他的定义:「每次当你发现Agent犯了一个错误,就花点时间去工程化一个解决方案,让它永远不会再犯同样的错误。」
一周后,OpenAI发官方博客《Harness engineering: leveraging Codex in an agent-first world》,讲他们用5个月靠Agent写出100万行代码、合并1500个PR,全程没人手动写过一行代码。
面试核心点: 别把Harness Engineering理解成某个具体工具或产品。面试官问的是方法论------你怎么设计一整套运行环境,让模型持续做对。
收获二:AI工程的三次重心转移
| 阶段 | 核心目标 | 一句话 |
|---|---|---|
| Prompt Engineering(听懂) | 把任务讲清楚 | 让模型听懂你想干啥 |
| Context Engineering(知道) | 把信息送到位 | 让模型知道该用什么 |
| Harness Engineering(做对) | 把事情持续做对 | 让模型不跑偏、跑得稳、出错能爬起来 |
这三者不是替代关系,而是包含关系。Prompt是Context的一部分,Context是Harness的一部分。
作者画了一张图,非常直观:
三阶段核心对比
Prompt Engineering解决的是"表达"的问题------模型不是不会,而是你没把话说明白。Context Engineering解决的是"信息"的问题------模型不知道,所以系统要在合适时机把正确信息送进去。Harness Engineering解决的是"执行"的问题------前两代关注"输入侧",Harness关注执行侧:谁来监督?谁来约束?谁在它跑偏时拉回来?
我的理解:这三步是AI工程被逼着进化的结果。Agent从问答→干活→长期干活→越干越强,每一步都暴露了前一代方法的短板。
收获三:Harness六层核心组件(最干货的部分)
作者把Harness拆成了六层,按"它在干啥"分成三组:
Harness六层核心组件

输入侧(让模型看到正确的东西)
① 上下文精细化管理------管"这一轮看到什么"
- 把角色和目标钉死
- 动态筛选,不一次塞满(Anthropic叫"just-in-time retrieval")
- 结构化组织,防止模型自我污染
② 记忆与状态管理------管"跨轮该记住什么"
- 任务状态(progress文件)
- 会话中间结果(用完就丢)
- 长期记忆(CLAUDE.md、.cursorrules)
动作侧(让模型做出正确的事)
③ 工具系统------管"模型用什么动手"
- 只给真正需要的工具
- 该查时查,不该查别瞎查
- 工具结果先提炼再喂回
④ 执行编排------管"模型下一步该干啥"
- Agent本质是一个for循环:思考→行动→观察→再思考
- 给模型一条明确的工作轨道
校验侧(知道做没做对 + 出错能爬起来)
⑤ 评估与观测------管"有没有尺子"
- Eval集:手写典型任务,标注正确答案
- Trace系统:看到每一步真实足迹
⑥ 约束与恢复------管"出错了怎么办"
- 约束:什么不能做(硬编码,别靠提示词)
- 校验:每步输出前后自动检查
- 恢复:失败有预案,不停摆
我的理解:这六层不是"必须一次搭完"的任务清单,而是一张路标------告诉你下次Agent犯错时,修复该落到哪里。
作者还解释了Mitchell Hashimoto的"复利效应"怎么落到这六层:
- Agent总漏信息 → 改第一层
- 总用错工具 → 改第二层
- 步骤乱 → 改第三层
- 跨日记不住 → 改第四层
- 没法判断好坏 → 搭第五层
- 一失败就崩 → 强化第六层
收获四:五个真实难题(看得我直冒冷汗)
这部分最接地气,全是真金白银踩过的坑。
难题一:Agent跑久了会"累"
Cognition在用Claude Sonnet 4.5重做Devin时,发现一个现象叫上下文焦虑(Context Anxiety) ------模型自己感觉到"快撑不住了",开始着急收尾、跳过验证、急匆匆宣布完成。
光做上下文压缩不够,关键动作是Context Reset------直接把旧的上下文窗口整个丢掉,换一个干净接手。状态全部外化到文件系统。
原则:重启胜过修补,状态沉到文件里。
难题二:让Agent自己打分,永远满分
很多人让Agent干完活自评,结果Agent永远觉得自己干得不错。Anthropic的解法:生产验收分离。
他们搞了一个三角分工:
- Planner(规划者)------拆需求
- Generator(生产者)------写实现
- Evaluator(验收者)------真实测试
原则:生产和验收必须分离,验收方必须能摸到真实世界。
难题三:Agent反复失败怎么办?
很多人第一反应是调提示词或换模型。OpenAI做Codex时的做法完全不同:
人不写代码,全部让Agent写。人干三件事:
- 把产品目标拆成Agent能干的子任务
- Agent反复失败时,补环境缺的能力
- 建立反馈链路,让Agent看到工作结果
原则:Agent反复失败时,别问模型能不能更努力,要问环境还缺什么。
难题四:规则文件越写越长,Agent越糊涂
OpenAI早期搞了一个巨大的AGENTS.md,把所有规范全塞进去。结果Agent更糊涂了。
解法:把百科全书改成目录页。主文件只保留约100行核心索引,详细内容拆到子文档。
原则:规则文件宁缺毋滥,给模型看的东西少即是多。
难题五:Agent代码越堆越烂,技术债怎么还?
Agent会疯狂模仿仓库里已有的模式------好的复制,坏的也复制。OpenAI叫它"AI代码泔水"。
解法:把工程师经验写成"黄金原则"沉进仓库,让后台Agent每天自动扫描、自动开修复PR。 技术债从"一周一次人工清扫"变成"每天持续自动偿还"。
原则:技术债不是攒一堆集中还,而是每天自动偿还一点。
五条原则总结:
重启胜过修补,生产验收分家,与其催模型不如改环境,规则宁缺毋滥,技术债天天还。
收获五:Hermes Agent vs OpenClaw
先定性:Harness是方法论,Hermes和OpenClaw是实现。
Harness与Hermes/Claude Code/OpenClaw的关系

OpenClaw(小龙虾)
开源个人AI助手,打通25+消息平台。核心定位:消息优先、本地优先。
它的Harness本质是工具执行系统 :你给prompt、给tools,它调工具、返回结果。每次都是"新手" ,不会从经验里学习。
Hermes Agent(爱马仕)
Nous Research出品的自进化Agent。关键升级:从"工具执行系统"→"自进化系统" 。
核心差异:内置学习闭环(Learning Loop) ------执行任务→总结经验→生成skill→存入记忆→下次复用。越用越强。
Hermes学习闭环 vs OpenClaw线性执行
我的理解:OpenClaw让模型能干活,Hermes让模型越干越强。
收获六:和Prompt/Context Engineering的关系
这是面试高频题。作者给了一个非常好的回答框架:
三者不是替代关系,是包含关系:
- Prompt是对"指令"的工程化
- Context是对"输入环境"的工程化
- Harness是对"整个运行系统"的工程化
边界一层比一层大。Prompt是Context的一部分,Context是Harness的一部分。
如果加上Hermes Agent的学习闭环,可以看成四层递进:
| 层次 | 解决什么 | 一句话 |
|---|---|---|
| Prompt Engineering | 怎么说 | 让模型听懂你想干啥 |
| Context Engineering | 给什么信息 | 让模型知道该用什么 |
| Harness Engineering | 能干什么 | 让模型持续做对 |
| Learning Loop | 会不会变强 | 让模型越干越强 |
面试核心点: 别说"我三个都会",要说出理解层次------先说是包含关系,再强调Harness站在更大系统视角把前两个包进去了,最后点出真正的分水岭:进入"长链路、可执行、低容错"的真实场景,Harness几乎是不可避免的。
收获七:面试追问汇总
概念理解类
Q:Harness Engineering和MLOps有什么区别?
MLOps侧重模型训练、部署、版本管理;Harness侧重模型上线后的运行环境设计。MLOps是"怎么把模型搞上线",Harness是"上线后怎么让它跑得稳"。
Q:Context Engineering和RAG是什么关系?
RAG是Context Engineering的一种具体实现技术------解决"召回"这一步。Context Engineering还包括压缩和组装,RAG只管了第一步。
技术深挖类
Q:Agent跑久了上下文腐化怎么办?
三步:先做上下文压缩,还不够就做Context Reset(整个上下文窗口丢掉,从文件系统恢复)。关键是状态必须外化到文件。
Q:Hermes Agent的学习闭环具体怎么工作?
Agent执行完复杂任务后,自动从经验中提取模式生成skill文件(存在~/.hermes/skills/),下次遇到类似任务时搜索已有skill直接复用。
生产实战类
Q:怎么给非技术人员解释Harness Engineering的价值?
"LLM就像高速公路上的自动驾驶------能跑很快,但如果不装刹车、不装安全气囊、不装仪表盘,你敢坐吗?Harness Engineering就是给AI装刹车和安全气囊。没有它,AI越强大越危险。"
写在最后
Agent = Model + Harness。换模型提升天花板,搭Harness提升落地能力。
这篇文章最打动我的不是那些炫酷的概念,而是它把"让AI稳定交付"这件事,从玄学变成了工程学。
五条原则,我打算贴在自己的工位上:
- 重启胜过修补,状态沉到文件里
- 生产验收分家
- Agent反复失败?改环境,别求模型
- 规则宁缺毋滥
- 技术债天天还
如果你最近在做Agent,别把所有精力花在调模型、调提示词上了。回过头看看你的Harness长啥样------有没有规则文件、有没有校验闭环、有没有任务编排、有没有评估机制、有没有失败恢复、有没有学习闭环。
这些东西,每一项都能让你的Agent上一个台阶。