【Harness Engineering】怎么都在说 Harness Engineering,什么是 Harness Engineering

2026-04-11 10:381阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐
问题描述:

最近一段时间 Harness Engineering 这个名词在 Agent 圈子里面绝对是 No.1

一个词的发明从来不是莫名其妙的,而是大量的生产实践,经验总结,得出了一定的现象规律,人类再加以命名。

但是一个术语诞生的时候,大家其实对其研究没有那么深厚,又或者因为竞争激烈,很多人在同一个时间对类似的现象都有研究,词语的界限就没有那么明确。

Agent 大家都已经很熟悉了,但在一年之前,拖拉拽的工作流,n8n 其实也被偶尔称作 Agent,现在大家都统一了以工具调用与环境交互的自主决策系统才叫 Agent,固定节点的都统一为工作流了

我总结了近期头部 AI 公司内部的大量实践,以及若干开源项目,希望能够准确定义一下 Agent 中的 Harness Engineering 到底是个啥?


Harness Engineering – 马具工程

我翻找了一些资料,大多数说法都认为 Mitchell Hashimoto(米切尔·桥本)是第一个提出“Harness Engineering”概念的人。

  • 他是 HashiCorp 的联合创始人、Terraform 的创作者。2026 年 2 月 5 日,他在个人博客中首次明确命名并系统阐述了这个理念(第 5 步:“Engineer the Harness”)

    • 他的核心定义非常简洁:“每当发现 Agent 犯错,就花时间设计一个解决方案,让它永远不再犯同样的错误。”
  • 六天后,OpenAI 发布工程报告《Harness Engineering: Leveraging Codex in an Agent-First World》

  • 3月24日,Anthropic 也发布针对 Harness Engineering 的研究博客

后面,这个词病毒式传播,大家都说 Claude Code 的 Agent 设计是 Harness Engineering 的典范。

总的来说:

Harness Engineering 是围绕 LLM 模型构建,并优化其持续运行过程的工程实践;它负责定义模型如何获取上下文、如何与工具和环境交互。更具体的内容还可以包括,定义模型如何被任务编排与状态管理、如何验证结果,以及如何长时间运行,从而把模型变成可稳定交付结果的 Agent。

可以从下面三层来理解:

  • 通用 harness 层:和具体项目相对弱相关,属于 agent runtime / framework 能复用的部分。比如大多数 agent 都基于终端与环境交互,因此 tool loop 设计考虑了:权限系统、记忆、线程持久化、context compaction、hooks、任务调度、客户端协议。Agent CLI 大多是这一层。(“你在终端环境,你要基于这些工具完成任务”)

  • 项目 harness 层:和具体项目 / 产品强相关,但仍然不是业务功能本身。比如 AGENTS.md、仓库知识布局、架构边界、lint 规则、质量标准、依赖选择原则、文档索引、设计参考、技术债追踪。OpenAI 文章的核心创新其实很大一部分都在这层。OpenAI 推荐把仓库变成整个系统的完整历史记录,并且分门别类,让 agent 能读到所有文档,但按照任务执行需要选择性的读取文档(渐进式披露),并基于这些充分的信息执行计划、遵守结构规则。(“做任务的时候要遵循这些规则,先这样再那样”)

  • 任务/运行 harness 层:和当前这次具体工作强相关。比如 Anthropic 为了逼迫 Claude 生成特别有创意的好的产品,专门搞了两个模型对抗;为了持续执行,不遗漏任务点,设计了 planner 生成 spec、为了让 Claude 不要草率交付,设计了跨 session 文档交接、以及 QA prompt、Playwright 检查脚本。这一层涉及到具体工作部分了,但它仍然是在定义任务如何被执行与验证,不是任务具体内容本身。(说实话有些过于特定的设计意义不大,偏向于一通操作猛如虎,实际战绩 0/5)

三层由通用到最细枝末节,可以看作是不同切入点,但目的都是为了设计一个系统,给模型划定轨迹路线,让 Agent 执行任务的时候被 “稳稳地接住”

个人观点:

  • 通用 Harness 层其实已经在各大模型里面内置了,因为训练的时候已经是这样交互逻辑,大家用的时候已经习以为常了。(难道 Agent 能够不与终端交互,超出计算机范畴,从屏幕出来直接扇你一巴掌?)
  • OpenAI 的 Harness 最具参考价值,因为他的作用范围较广,在不同工程项目你都可以借鉴。并且最值得学习的点是:设计强制执行的检查控制 Agent 交付的产物。说白了就是测试或者代码风格检查器,但是其实效果特别好。
  • 最后就是针对各个任务,细枝末节的板块你可以奇思妙想搞各种 Agent 搭配,组合,Handoff。但是 Harness Engineering 的目标是朝向 Agent 更高的自动化,更长的全自动工作时长,与人类随时随地过多介入是相悖的。

佬友们智慧与汗水的结晶(相关项目):

  • 【通用 harness 层】Coding CLI 的实践(系列):深入浅出 Claude Code(一):从源码理解 CLAUDE.md,重写你的配置
  • 【通用 harness 层】Multi-Agent,Human in the loop 非常新颖的实践: 【开源】强烈推荐管理 Codex/CC 的无限画布工具!
  • 【通用 harness 层】Coding CLI 的实践(系列):【长期贴】 Claude-code-workflow(CCW) --使用技巧分享-自认为最工程化的harness workflow
  • 【项目 harness 层】SPEC文档,依赖、分层代码检查与CI测试,Playwright端到端:【OpenASE】可以关掉你的 IDE 和终端了。聊几句,提几个工单,睡觉的时候也能交付代码
  • 【项目 harness 层】帮助你形成自己的 SPEC: https://linux.do/t/topic/1445627
  • 【任务/运行 harness 层】明确任务拆解,Sub-Agent Spawn,一句话,让 codex / claude code 创建成千上万个子agent

由此:harness 是互联网公司重新发明的新词还是有独特的创新之处?

网友解答:
--【壹】--:

很好的整理,恰好我今天也在问关于 harness 的问题


--【贰】--:

佬的讲解很详细啊,我感觉就是一种框架之类的吧,现在好像很多agent都遵循这个架构。


--【叁】--:

有相似性,但是差一个 OpenAI 提到的点。Harness Engineering 不是你下载一个 skill 或者软件包就可以实现的,而是需要结合项目具体内容,具体框架,具体语言来补充的哦


--【肆】--:

佬,你是我的佬


--【伍】--:

看看这个佬的帖子,讲得非常详细,非常全面 想开一个 harness engineering 实践的长期帖子,大家一起分享实践经验


--【陆】--:

@grok is this true?


--【柒】--:

前排,佬友的想法很有启发


--【捌】--:

我比较喜欢讲起源故事的环节,这样能争一下谁是正统。
用过那家公司(Terraform)的gitness,好像它的上一代产品名称就是harness。所以故事还能往前走。


--【玖】--:

学习一下


--【拾】--:

学习学习!刚好在实践 Harness Engineering 提高效率


--【拾壹】--:

,我看着标题进来,准备好为人师一把呢


--【拾贰】--:

信码由缰 测试驱动

问题描述:

最近一段时间 Harness Engineering 这个名词在 Agent 圈子里面绝对是 No.1

一个词的发明从来不是莫名其妙的,而是大量的生产实践,经验总结,得出了一定的现象规律,人类再加以命名。

但是一个术语诞生的时候,大家其实对其研究没有那么深厚,又或者因为竞争激烈,很多人在同一个时间对类似的现象都有研究,词语的界限就没有那么明确。

Agent 大家都已经很熟悉了,但在一年之前,拖拉拽的工作流,n8n 其实也被偶尔称作 Agent,现在大家都统一了以工具调用与环境交互的自主决策系统才叫 Agent,固定节点的都统一为工作流了

我总结了近期头部 AI 公司内部的大量实践,以及若干开源项目,希望能够准确定义一下 Agent 中的 Harness Engineering 到底是个啥?


Harness Engineering – 马具工程

我翻找了一些资料,大多数说法都认为 Mitchell Hashimoto(米切尔·桥本)是第一个提出“Harness Engineering”概念的人。

  • 他是 HashiCorp 的联合创始人、Terraform 的创作者。2026 年 2 月 5 日,他在个人博客中首次明确命名并系统阐述了这个理念(第 5 步:“Engineer the Harness”)

    • 他的核心定义非常简洁:“每当发现 Agent 犯错,就花时间设计一个解决方案,让它永远不再犯同样的错误。”
  • 六天后,OpenAI 发布工程报告《Harness Engineering: Leveraging Codex in an Agent-First World》

  • 3月24日,Anthropic 也发布针对 Harness Engineering 的研究博客

后面,这个词病毒式传播,大家都说 Claude Code 的 Agent 设计是 Harness Engineering 的典范。

总的来说:

Harness Engineering 是围绕 LLM 模型构建,并优化其持续运行过程的工程实践;它负责定义模型如何获取上下文、如何与工具和环境交互。更具体的内容还可以包括,定义模型如何被任务编排与状态管理、如何验证结果,以及如何长时间运行,从而把模型变成可稳定交付结果的 Agent。

可以从下面三层来理解:

  • 通用 harness 层:和具体项目相对弱相关,属于 agent runtime / framework 能复用的部分。比如大多数 agent 都基于终端与环境交互,因此 tool loop 设计考虑了:权限系统、记忆、线程持久化、context compaction、hooks、任务调度、客户端协议。Agent CLI 大多是这一层。(“你在终端环境,你要基于这些工具完成任务”)

  • 项目 harness 层:和具体项目 / 产品强相关,但仍然不是业务功能本身。比如 AGENTS.md、仓库知识布局、架构边界、lint 规则、质量标准、依赖选择原则、文档索引、设计参考、技术债追踪。OpenAI 文章的核心创新其实很大一部分都在这层。OpenAI 推荐把仓库变成整个系统的完整历史记录,并且分门别类,让 agent 能读到所有文档,但按照任务执行需要选择性的读取文档(渐进式披露),并基于这些充分的信息执行计划、遵守结构规则。(“做任务的时候要遵循这些规则,先这样再那样”)

  • 任务/运行 harness 层:和当前这次具体工作强相关。比如 Anthropic 为了逼迫 Claude 生成特别有创意的好的产品,专门搞了两个模型对抗;为了持续执行,不遗漏任务点,设计了 planner 生成 spec、为了让 Claude 不要草率交付,设计了跨 session 文档交接、以及 QA prompt、Playwright 检查脚本。这一层涉及到具体工作部分了,但它仍然是在定义任务如何被执行与验证,不是任务具体内容本身。(说实话有些过于特定的设计意义不大,偏向于一通操作猛如虎,实际战绩 0/5)

三层由通用到最细枝末节,可以看作是不同切入点,但目的都是为了设计一个系统,给模型划定轨迹路线,让 Agent 执行任务的时候被 “稳稳地接住”

个人观点:

  • 通用 Harness 层其实已经在各大模型里面内置了,因为训练的时候已经是这样交互逻辑,大家用的时候已经习以为常了。(难道 Agent 能够不与终端交互,超出计算机范畴,从屏幕出来直接扇你一巴掌?)
  • OpenAI 的 Harness 最具参考价值,因为他的作用范围较广,在不同工程项目你都可以借鉴。并且最值得学习的点是:设计强制执行的检查控制 Agent 交付的产物。说白了就是测试或者代码风格检查器,但是其实效果特别好。
  • 最后就是针对各个任务,细枝末节的板块你可以奇思妙想搞各种 Agent 搭配,组合,Handoff。但是 Harness Engineering 的目标是朝向 Agent 更高的自动化,更长的全自动工作时长,与人类随时随地过多介入是相悖的。

佬友们智慧与汗水的结晶(相关项目):

  • 【通用 harness 层】Coding CLI 的实践(系列):深入浅出 Claude Code(一):从源码理解 CLAUDE.md,重写你的配置
  • 【通用 harness 层】Multi-Agent,Human in the loop 非常新颖的实践: 【开源】强烈推荐管理 Codex/CC 的无限画布工具!
  • 【通用 harness 层】Coding CLI 的实践(系列):【长期贴】 Claude-code-workflow(CCW) --使用技巧分享-自认为最工程化的harness workflow
  • 【项目 harness 层】SPEC文档,依赖、分层代码检查与CI测试,Playwright端到端:【OpenASE】可以关掉你的 IDE 和终端了。聊几句,提几个工单,睡觉的时候也能交付代码
  • 【项目 harness 层】帮助你形成自己的 SPEC: https://linux.do/t/topic/1445627
  • 【任务/运行 harness 层】明确任务拆解,Sub-Agent Spawn,一句话,让 codex / claude code 创建成千上万个子agent

由此:harness 是互联网公司重新发明的新词还是有独特的创新之处?

网友解答:
--【壹】--:

很好的整理,恰好我今天也在问关于 harness 的问题


--【贰】--:

佬的讲解很详细啊,我感觉就是一种框架之类的吧,现在好像很多agent都遵循这个架构。


--【叁】--:

有相似性,但是差一个 OpenAI 提到的点。Harness Engineering 不是你下载一个 skill 或者软件包就可以实现的,而是需要结合项目具体内容,具体框架,具体语言来补充的哦


--【肆】--:

佬,你是我的佬


--【伍】--:

看看这个佬的帖子,讲得非常详细,非常全面 想开一个 harness engineering 实践的长期帖子,大家一起分享实践经验


--【陆】--:

@grok is this true?


--【柒】--:

前排,佬友的想法很有启发


--【捌】--:

我比较喜欢讲起源故事的环节,这样能争一下谁是正统。
用过那家公司(Terraform)的gitness,好像它的上一代产品名称就是harness。所以故事还能往前走。


--【玖】--:

学习一下


--【拾】--:

学习学习!刚好在实践 Harness Engineering 提高效率


--【拾壹】--:

,我看着标题进来,准备好为人师一把呢


--【拾贰】--:

信码由缰 测试驱动