一文讲透:Harness Engineering的来龙去脉

原文作者:卡码大模型

原文链接: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写。人干三件事:

  1. 把产品目标拆成Agent能干的子任务
  2. Agent反复失败时,补环境缺的能力
  3. 建立反馈链路,让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稳定交付"这件事,从玄学变成了工程学。

五条原则,我打算贴在自己的工位上:

  1. 重启胜过修补,状态沉到文件里
  2. 生产验收分家
  3. Agent反复失败?改环境,别求模型
  4. 规则宁缺毋滥
  5. 技术债天天还

如果你最近在做Agent,别把所有精力花在调模型、调提示词上了。回过头看看你的Harness长啥样------有没有规则文件、有没有校验闭环、有没有任务编排、有没有评估机制、有没有失败恢复、有没有学习闭环。

这些东西,每一项都能让你的Agent上一个台阶。

相关推荐
三水不滴1 小时前
读懂 Harness,掌握智能体工程化的核心骨架
ai编程
Ajie'Blog1 小时前
Claude Opus 4.8 发布:Claude Code 能不能接住复杂项目
服务器·前端·javascript·人工智能·ai编程
DogDaoDao1 小时前
【GitHub】 Open Design 深度技术解析:把 Claude Design 搬回本地的 Agent 设计工作台
深度学习·程序员·github·ai编程·claude·ai agent·open design
艺杯羹2 小时前
Claude Code 实现 Computer Use:让 AI 操控你的 Windows 电脑(MCP 平替方案)
vscode·ai·ai编程·模型·claude code
linge_sun2 小时前
SpringAI 五步提示词大法:构建高效 AI 提示词
java·人工智能·ai编程
Python私教2 小时前
2026 AI 编程工具选型横评:Cursor / Claude Code / Trae / Copilot 到底选谁(建议收藏·避坑版)
ai编程
程序员佳佳2 小时前
向量引擎:AI 时代的“记忆中枢“,从原理到落地的完整认知框架
人工智能·gpt·架构·aigc·ai编程
财经资讯数据_灵砚智能2 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年6月7日
人工智能·python·ai·信息可视化·自然语言处理·ai编程·灵砚智能
坚果派·白晓明3 小时前
[鸿蒙PC三方库移植适配] 使用 AtomCode + Skills 自动完成libhv鸿蒙化适配
c++·华为·ai编程·harmonyos·atomcode