首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Harness 工程简史

Harness 工程简史

原创
作者头像
卢旺
发布2026-06-21 20:53:32
发布2026-06-21 20:53:32
2550
举报

Harness Engineering 不是在造更强的 AI——是在造一个让 AI 无论如何也做不坏事的系统。四年间,每一次 Agent 搞砸的方式,都变成了 Harness 的一个组件。 一句话:模型正在变成通用商品——拼的不是谁的模型更强,而是谁的环境更扎实、验证链路更完整。


2023年,你让 AutoGPT 写一个登录页面。

它开始写代码了。然后它决定需要先研究一下最佳实践,于是调用了浏览器搜索。搜到一半,它又觉得应该先把路由配置好。配置路由时,它"灵光一现"想重构整个项目结构。30轮循环后——登录页面没写完,它把已有的代码也改坏了。你盯着终端,心情复杂。

2024年,你用 LangChain + Claude 写同样的功能。这回好多了:框架帮你串好了 prompts、tools、memory。Agent 能跑了。但每次它用错 API、写出时灵时不灵的代码,你还是得手工介入。像给一个聪明但毛手毛脚的实习生擦屁股。

2026年,你在 Claude Code 里说"加个登录页面"。系统自动拉取项目规范,并行调度子 Agent——一个写前端组件、一个写后端接口、一个写测试。沙盒里跑测试,通过了才提交。不通过?自动回退修改,提取错误规则写入 Harness,重新来。你喝着咖啡看着。

这不是科幻。这篇文章讲的是这条路上发生了什么。


一、2023:蛮荒时代——第一次让 AI "自己干活"

2023年3月,GitHub 上一个叫 Toran Bruce Richards 的开发者发布了一个项目。它的默认 prompt 是这样写的:

"一个旨在自主发展和经营业务、唯一目标是增加你净资产的 AI。"

这就是 AutoGPT。它让 GPT-4 自己设定子目标、执行、调用工具、存储记忆。同月,Yohei Nakajima 发布了 BabyAGI,用 LangChain + Pinecone 向量数据库做长期记忆——让 Agent 能记住之前执行过的任务。

当时的社区反应是爆发式的。AgentGPT 很快出现,让不会写代码的人也能在浏览器里部署 Agent。Andrej Karpathy 也在讨论自主 Agent 的潜力——把多个 LLM 调用串成链条,让模型能"思考"多步。

但跑起来和跑得通之间,隔着一片雷区。

综合那年社区大量实践报告和学术文献,失败模式可以归纳为七类——你大概率撞上过其中几种:

七大失败模式:

失败模式

编程场景实例

后果

任务漂移

Agent 在"改登录按钮颜色"和"重构整个路由系统"之间反复横跳

什么都没做完

错误累积

Step 1 写错一个变量名,Step 2-10 基于这个错误继续写

代码全废

幻觉级联

Agent 引用了一个不存在的 API,然后写了一大段调用它的代码

全是死代码

窗口耗尽

20轮对话后上下文爆了,Agent "忘记"了最初的任务

从头再来

成本爆炸

一次任务烧掉几十刀 API 费用

成功率 < 10%

无限递归

Agent 修 bug 引入新 bug,循环修复永无止境

进程卡死

安全失控

Agent 未经确认删了文件、改了全局配置

系统损伤

Ars Technica 在 2023 年 4 月的报道中泼了一盆精准的冷水:AutoGPT 的"有限实用性可能是大语言模型当前局限性的最有力证据"。

翻译:想法对了,时机错了。

但回头看,这七个失败模式像是一张需求清单。每一个后来都对应了一个 Harness 组件:

代码语言:javascript
复制
任务漂移  →  编排约束
错误累积  →  验证门禁
幻觉级联  →  工具输出校验
窗口耗尽  →  上下文压缩
成本爆炸  →  预算控制
无限递归  →  循环检测
安全失控  →  权限系统

回到那个写登录页面的场景。2023年的 AutoGPT 可能在第3步就开始修改 node_modules,而你完全不知道。不是它不够聪明——是它没有边界。


二、2024:重建之年——框架成熟与"包装器"价值

2024年发生了两件事,改变了 Agent 的轨迹。

第一件:模型终于能可靠执行多步指令了。 AI 实验室大量算力从 pre-training 转向 post-training——RLHF(基于人类反馈的强化学习)、Constitutional AI 等方法让模型在"理解并完成一个多步骤任务"这件事上有了质的提升。Eric Simons(StackBlitz CEO)在回顾 Bolt.new 的发展时也印证了这一点——2024年初模型能力还不足以支撑产品,年中新一代模型发布后才有了质变。

第二件:Agent 框架集中井喷。 LangGraph、CrewAI、AutoGen、DSPy……底层逻辑惊人一致:ReAct 循环变体 + 工具调用 + 状态管理。Claude Code、Cursor、Devin 这些编程 Agent 也在这一年崛起——Agent 第一次脱离玩具场景,进入真实开发流程。

但最具启发性的不是框架本身,而是 Can Boluk 的 hashline 编辑格式实验(2024 年,oh-my-pi 项目)。

同一个模型。同一个任务集。只改变一个变量——文件编辑界面的调用格式。准确率从 6.7% 跳到 68.3%。不是模型变强了。是"包装器"变聪明了。这是 Harness 价值的第一次量化证明——虽然 Harness Engineering 这个名字还要再等两年才会出现。

从这一年的实践中,几条设计原则开始浮现:

原则

含义

反例

工具需要统一接口

每接入一个新工具不该写一套胶水代码

2023年每个工具单独封装

执行需要边界

沙盒不是可选项,是必选项

AutoGPT 裸奔操作文件系统

人需要介入点

"完全自主"失败,证明要的不是无人,是人在正确时机介入

2023年全自动或全手动二选一

评估基础设施也在同步爆发。LangSmith、Braintrust、Ragas 在 2024-2025 年集中出现。"怎么知道 Agent 做对了"不再是一句模糊的追问——它成了一个独立的工程问题。

回到那个登录页面。2024年它能跑通了。但每次出问题,你得手工定位、手工修复。没有自动验证,没有自动回退。Agent 像一个没有刹车的赛车——快起来很爽,出事了停不住。


三、2025:标准化之年——基础设施就位

如果说 2023 是发现"能跑",2024 是让它"跑稳",那 2025 就是让 Harness 的各个零件有了标准接口。

MCP(Model Context Protocol)协议是这一年最重要的标准化事件。2024年11月 Anthropic 发布,2025年成熟。它的灵感来自 LSP(Language Server Protocol)——那个让任何编辑器都能接入任何编程语言智能提示的协议。MCP 做了同样的事,但对象是工具:M 个应用 × N 个工具的连接复杂度,从 M × N 变成了 M + N。工具接入第一次有了标准。

2025年3月,MCP 升级引入 OAuth 2.1 认证和 Streamable HTTP 传输。Agent 调用第三方工具,不再需要手工配 token、写中间层。

Anthropic Agent SDK 也在这一年发布,被明确定义为 "a general-purpose agent harness"——Harness 这个词第一次作为产品概念出现。

Claude Code 的关键 Harness 设计,到 2025 年已经形成了清晰的架构:

组件

设计

解决什么问题

权限分级

Tier 1 安全工具自动批准 / Tier 2 项目内文件编辑快速通道 / Tier 3 独立分类器评估危险操作

推理和权限是两套独立系统——模型不能"说服"安全检查

自动压缩

上下文利用率 98% 时触发

保护 Agent 不"失忆"

子 Agent 隔离

worktree isolation,每个子任务独立上下文

避免相互污染

CLAUDE.md

根目录始终在上下文,子目录按需载入;每轮重新读取,不受压缩影响

项目规范持续生效

MCP 工具发现

按需加载 schema,不预先加载所有工具

避免上下文膨胀

这里有三个设计哲学回头会反复出现:

  1. 推理与权限分离:模型决定做什么,独立系统决定允不允许。Tier 3 分类器是独立的 Sonnet 4.6 模型,它看不到主模型的推理文本——防止 prompt injection 绕过检查。
  2. 上下文需要显式管理:该压缩的压缩,该隔离的隔离。没有"让模型自己看着办"这一说。
  3. 推荐活跃 MCP 服务器约 5-6 个:不是越多越好。精准的工具集比全面的工具集更可靠。

Prompt Caching(Anthropic 2024年8月推出,2025年广泛使用)也在这一年改变了游戏规则。上下文从"一次性消耗品"变成了"可复用资产"。同一个系统提示、同一份项目规范,不必每轮都重新传一遍。

"Agent = Model + Harness"这个公式开始在社区浮现——虽然当时还没有人系统论证过后一项到底有多重要。

回到登录页面。2025年,框架帮你管理了上下文、标准化了工具接入。但 Agent 还是会犯错。区别是——现在错得更隐蔽了:代码能跑但不合项目规范,测试覆盖了 happy path 但边缘情况全漏了。你开始意识到:让 Agent 写代码不难。难的是让它写的代码。


四、2026:正名之年——从个体经验到工程学科

4.1 命名与验证(1-3月)

2026年2月5日。Mitchell Hashimoto——HashiCorp 创始人,Terraform、Vagrant、Ghostty 的作者——在个人博客上写了一篇文章。他给这套实践起了一个名字:

Harness Engineering。

他的操作型定义只有一句话:

"每次 Agent 犯了错,你就花时间设计一个方案,让它永远不会再犯同样的错误。"

不是提醒它下次注意。不是写个更长的 prompt。是改变系统本身。

他的个人实践清单像一份 Harness 工程的手工指南:始终有一个 Agent 在后台排队处理慢任务、分离规划与执行、每次犯错改进 Harness 而不是只修 bug、关掉 Agent 通知("我选择什么时候打断 Agent,它不能打断我")、扩大测试覆盖(因为 AI 是"目标导向的",会破坏当前任务范围之外的东西)。

一周后,OpenAI 甩出了一份震撼弹。

2月11日,OpenAI 发表了《Harness Engineering: Leveraging Codex in an Agent-First World》。Ryan Lopopolo(OpenAI Member of Technical Staff)详细记录了他们的内部实验:

指标

数据

团队

3 人起步 → 7 人

时间跨度

5 个月

生成代码量

~100 万行

PR 数量

~1500 个

人均日处理 PR

3.5 个

开发效率

约 10 倍于手动开发

硬规则

完全禁止手写代码

这组数字背后的核心不是 Codex 有多强。是团队把 Harness 工程化了。三个核心设计:

  1. 知识即系统记录。AGENTS.md 只有约100行,作用是目录。真实知识在结构化的 docs/ 目录中,Agent 按需检索。不是把整个 wiki 塞进上下文。
  2. 架构约束可执行。分层架构不是写在文档里的建议——由自定义 linter 和结构测试强制。违反即阻止提交。
  3. 持续"垃圾回收"。后台 Agent 定期扫描文档漂移和代码腐化,自动修复。项目不会随着 Agent 数量增加而熵增。

Birgitta Bockeler 在 Martin Fowler 的博客上发表专题分析时,提了两个开放问题:完全 Agent 生成的系统能否多年保持架构一致性?人类判断力在哪里杠杆最高?这两个问题到现在没有答案。

又过了一周。LangChain 发表了基于 Terminal Bench 2.0 的实验结果。 这是 Harness 价值的第一个严格因果证据。

89个跨领域编码任务——ML、调试、生物信息学、密码分析、系统编程——Docker 化二值通过/失败评分。每任务 5 次独立试验。同一模型(gpt-5.2-codex)、同一任务集、只替换 Agent 框架层

指标

原始

Harness 优化后

通过率

52.8%

66.5% (+13.7 pp)

排名

第 30

第 5

三个改动方向:系统提示(强调自验证循环)、工具增强(更好帮助 Agent 理解环境)、中间件(检测 "doom loop"——Agent 无限循环重复错误操作——等有害模式)。简单,但有效。

这不只是"更好的 prompt 工程"。这是 Harness 的价值被严格量化——同一模型,不同 Harness,差距 13.7 个百分点。


4.2 架构化与工业化(3月至今)

2026年3月24日,Anthropic 发表了《Harness Design for Long-Running Application Development》,提出了一个关键架构:

Planner → Generator → Evaluator

灵感来自 GAN(生成对抗网络)。核心思想:把规划、执行、评估拆成三个独立 Agent。

为什么必须拆?因为让写代码的 Agent 评估自己的代码 = 让学生批自己的卷子。

关键设计:

设计元素

具体做法

为什么

Evaluator 无写权限

独立 Agent,无 Write/Edit

评估和修改不能是同一个人

新鲜上下文

Evaluator 从干净上下文窗口启动

不被 Generator 的推理过程影响

Sprint 合同

Generator 和 Evaluator 写代码前协商"done"标准

对齐预期

Default-FAIL

每条标准初始为 false,Agent 必须打开证据才能声称成功

防止自欺

评分 rubric

Design Quality / Originality / Craft / Functionality

把主观判断变成可打分维度

Agent 自维护交接

自己写进度笔记并 git commit

上下文重置不丢进度

结果对比:

配置

耗时

成本

产出

裸 Agent(无 Harness)

20 分钟

$9

坏掉的游戏逻辑

Planner→Generator→Evaluator

6 小时

$200

完整可玩游戏,16 个 feature,含 AI 功能

$200 vs $9,看起来是 22 倍成本。但产出是"可玩的产品" vs "不能用的代码"。账不是这么算的。

关键洞察:Harness 组件都是可被模型升级淘汰的假设。 根据 Anthropic 工程团队的观察,Opus 4.5 大幅缓解了 Sonnet 4.5 的"上下文焦虑"问题——之前为 Sonnet 设计的上下文重置机制就没必要了。Harness 需要持续进化,不是在某个版本冻结。

学术界从 2026 年开始系统化 Harness:

ETCLOVG 七层模型出现了——这个名字是七个层次的首字母缩写——把 Harness 的各个维度结构化为一个完整框架:

层级

负责

Execution

执行环境与沙箱

Tools

工具接口与协议

Context

上下文管理

Lifecycle

生命周期编排

Observability

可观测性

Verification

验证

Governance

治理(权限、身份、策略、安全、审计、人工监督)

Meta-Harness(Stanford/MIT,2026年3月)更进一步——自动优化 Harness 本身。用 Haiku 4.5 做 Agent → 37.6%(所有 Haiku Agent 中 #1)。用 Opus 4.6 → 76.4%(#2 overall)。

AHE(Agentic Harness Engineering,2026年4月)把这个方向推到极致:自动化闭环 Harness 进化达到 77.0% pass@1,超越了人类设计的 Harness

行业落地也在加速:

案例

规模/状态

Stripe Minions

周产 1000+ 合并 PR,任务创建到审查全自动

DeepSeek

2026年5月组建 Harness 团队,对标 Claude Code

小米

2026年6月 MiMo Code 发布,内置专属 Harness

创业公司明日新程

获李开复、陆奇等投资

Stanford/Tsinghua 研究

同一模型不同 Harness,性能差异可达 6 倍

开源 vs 闭源两条路线也在分野: 开源生态(LangChain、CrewAI)注重灵活组合,像乐高;闭源产品(Claude Code、Cursor)注重集成体验,像整机。两条路线对 Harness 的理解有结构性差异——开源更强调可替换性,闭源更强调端到端优化。哪个更好?取决于你的团队有没有能力做集成。

回到登录页面——这次是真的回来了。2026年写它:Agent 自动拉项目规范 → 子 Agent 并行开发前后端 → 沙盒测试 → 独立评估 Agent 审核 → 通过了才提交。出错了自动回退,从错误中提取规则加入 Harness。

你不再盯着代码。你盯着系统。


五、结语:三部曲的终点

四年。一条线。

2023 年,Agent 搞砸的七种方式——任务漂移、错误累积、幻觉级联、窗口耗尽、成本爆炸、无限递归、安全失控——每一个都变成了 Harness 的一个组件。编排约束、验证门禁、工具校验、上下文压缩、预算控制、循环检测、权限系统。Harness 不是凭空设计出来的。它是从"搞砸"中长出来的工程实践。

这是"AI 工程三部曲"的第三篇。

篇章

回答的核心问题

工程层面

提示词工程

怎么说

优化单次交互质量

上下文工程

让 AI 看什么

管理信息输入

Harness 工程

怎么防止做错

构建执行、验证、约束、恢复的外层系统

AI 工程三部曲:《提示词工程简史》 · 《上下文工程简史》 · 《Harness 工程简史》(本文)

三者合在一起,才是完整的 AI 交互工程。不是你 prompt 写得多好、上下文管得多精——如果执行层没有约束和验证,前面的努力随时可能被一次幻觉级联清零。

核心 insight:模型正在变成 commodity(通用商品)。 同一模型,不同 Harness,性能差 6 倍。拼的不是谁的模型更强——拼的是谁的环境更扎实、规范更清晰、验证链路更完整。

你可能会想:"模型再强一点,Harness 不就不需要了吗?"

GPT-5 的实践证明恰恰相反。更强的模型不是不犯错——是犯更隐蔽的错误。代码能跑,但逻辑有洞。测试通过,但边缘情况全漏。Harness 的必要性不降反升。不是模型不够好才需要 Harness。是模型越强,越需要 Harness 来管住它。

Mitchell Hashimoto 那句话应该刻在每个搞 AI 工程的团队的墙上:

"每次 Agent 犯错,不是提醒它下次注意——而是改变系统,让它永远无法再犯同样的错误。"

这不只是 Harness 工程的定义。

这是人和 AI 合作这件事,正在发生的根本转变——从依赖模型能力,到依赖系统工程能力。从"这个模型真聪明"到"这个系统真可靠"。

四年。从 AutoGPT 搞砸一个登录页面,到 Harness 工程从每一次搞砸中长成一套完整的工程学科。

这条路还在走。


本文基于公开论文、工程博客和开发者社区记录整理。关键数据来源:

  • Mitchell Hashimoto 个人博客《My AI Adoption Journey》(2026.2.5)
  • OpenAI《Harness Engineering: Leveraging Codex in an Agent-First World》(2026.2.11, openai.com/index/harness-engineering/)
  • LangChain《Improving Deep Agents with Harness Engineering》(2026.2, langchain.com/blog/improving-deep-agents-with-harness-engineering)
  • Anthropic《Harness Design for Long-Running Application Development》(2026.3.24, anthropic.com/engineering/harness-design-long-running-apps)
  • Anthropic MCP 规范文档(2024.11)
  • Ars Technica 对 AutoGPT 的报道(2023.4.18)
  • Birgitta Bockeler, Martin Fowler 博客《Harness Engineering - first thoughts》(2026.2.17, martinfowler.com)
  • Meta-Harness: End-to-End Optimization of Model-Agnostic Harnesses(arXiv, 2026.3)
  • AHE: Agentic Harness Engineering(arXiv, 2026.4)
  • ETCLOVG 综述论文(CMU/耶鲁/JHU/亚马逊联合发布)
  • Stanford/Tsinghua SWE-bench Mobile 研究(Tian et al., 2026)
  • Can Boluk, hashline 编辑格式实验, oh-my-pi 项目(2024)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、2023:蛮荒时代——第一次让 AI "自己干活"
  • 二、2024:重建之年——框架成熟与"包装器"价值
  • 三、2025:标准化之年——基础设施就位
  • 四、2026:正名之年——从个体经验到工程学科
    • 4.1 命名与验证(1-3月)
    • 4.2 架构化与工业化(3月至今)
  • 五、结语:三部曲的终点
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档