为什么你必须学习Harness Engineering?5个产物、3个学派、5条普世原则全解析

系统拆解 Harness Engineering 5 个产物、3 个学派(OpenAI / Anthropic / ThoughtWorks)、5 条普世原则,以及为什么「Harness 衰退」逼你每 6 个月就得砍掉一半的设计。本文源自 @sairahul1 所著 X 文章,动区整理、编译。
(前情提要:Harness Engineering(AI 驾驭工程)入门篇:OpenAI 最新程序设计标准,教你轻松做到 Lv.1)
(背景补充:YC 执行长分享 AI 秘诀:未来属于会搭建资讯复利系统的人)

本文目录

Toggle

    1. Harness 的定义
    1. OS 比喻
    1. 2026 年到底变了什么
    1. AGENT.md / CLAUDE.md 文件
    1. JSON Feature Lists(进度追踪器)
    • 为什么是 JSON 不是 Markdown?
    1. Session 初始化常规
    1. Sprint Contracts(冲刺契约)
    • 为什么重要
    1. Structured Task Templates(结构化任务样板)
    1. OpenAI 的学派:环境优先
    • 他们的做法
    • 证据
    1. Anthropic 的学派:把「做」和「审」分开
    • 他们的解法:3 个专责 agent
    • 结果(A/B 测试)
    1. ThoughtWorks 的学派:2×2 框架
    • 他们的洞察:用两个轴分类每一个 harness 控制
    • 2×2 矩阵
    1. 原则 1:Context 胜过 Instruction
    1. 原则 2:规划与执行必须分离
    1. 原则 3:Feedback 迴路不可妥协
    1. 原则 4:一次只做一件事
    1. 原则 5:Codebase 本身就是文件
    • 实务含义
    1. Harness 衰退(Harness Decay)是真的
    • 这就是 Harness 衰退
    1. 为删除而建(Build to Delete)
    1. 成本现实
    • 但这里是没人讲的部分
  • 全文浓缩
    • 什么是 harness
    • 5 个 harness 产物
    • 3 个学派
    • 5 条普世原则
    • 异端之处

2026 年 2 月,OpenAI 一个小团队出了 100 万行生产级程序码。

他们一行手写的都没有。

AI agent 写的。

人类设计的,是让 agent 可靠的那套系统。

这套系统现在有名字了——Harness Engineering

几周内,Anthropic 发了 3 篇相关论文。ThoughtWorks 把它整理成框架。Hugging Face 的 Philipp Schmid 直接称它是「2026 年最重要的学科」。

90 天内,一个新工程学科就成形了。而 AI infra 团队之外,几乎没人看懂。

这篇文章就是把它讲清楚。没有废话、没有学术术语,只有你真的拿来用会需要的心智模型。

1. Harness 的定义

ThoughtWorks 给的最简定义:

Agent = Model + Harness

Harness 就是模型以外的所有东西。

  • 把 agent 钉在轨道上的约束
  • 抓错误的反馈迴路
  • 告诉 agent 它在哪里的文件
  • 它有权限使用的工具

剥掉 harness → 一个在你 codebase 里瞎猜的原始语言模型。

加上对的 harness → 一个能产出生产级程序码的系统。

这个名字来自马具。Harness 是韁绳、马鞍、马銜——把一头力量强大但难以预料的动物导向有用的方向。

你不是把马变聪明,你是设计一套装备,让牠的力量变得有用。

2. OS 比喻

Philipp Schmid 给的最好的技术比喻是:把它想成一台电脑。

| 角色 | | --- | | 对应 | | --- | --- | | Model | CPU(原始算力) | | Context window | RAM(有限、易挥发的工作记忆) | | Harness | OS(管理 CPU 看到什么、什么时候看到) | | Agent | 跑在上的 App |

你的模型很强。但没有 OS 来管记忆体、排程任务、执行规则——它就只是一块硅

大多数人是在「没有操作系统」的情况下跑 app。所以他们的 agent 一上生产线就坏。

3. 2026 年到底变了什么

LangChain 用同一个模型,在 Terminal Bench 2.0 上跑了两次:

| Harness | | --- | 分数 | | --- | --- | | 旧 harness | 52.8% | | 新 harness | 66.5% |

同样的模型。不同的 harness。差 13.7 个百分点。

Vercel 反过来做——砍掉 agent 80% 的工具。结果?更好,不是更差。

2026 年最不舒服的真相:

  • Agent 从来不是难的部分
  • Harness 才是

如果 2025 是 AI agent 证明自己会写程序的一年,2026 就是发现「环境」比「模型」更重要的一年

4. AGENT.md / CLAUDE.md 文件

最通用的 harness 产物。

散落在 codebase 各处的 markdown 文件。Agent 每次 session 一开始就读——像新工程师到职的 onboarding 文件

里面写什么?

  • 项目 context
  • 程式码惯例
  • 架构决策
  • 「我们这边都怎么做」的指引
  • 目前正在进行的事

OpenAI 叫它 AGENT.md。 Anthropic 叫它 CLAUDE.md。 Cursor 用 .cursorrules

不同名字,同一原则。每个主要模块一份。随项目演进更新。

没有它:agent 每次 session 都是盲开机。有了它:agent 每次 session 都带着情报上工。

5. JSON Feature Lists(进度追踪器)

当 agent 跨多个 session 盖一个完整 app 时,每次 session 的 context window 都是空的。它怎么知道哪些已经做完了?

一个 JSON 文件。

每一笔写:

  • 一个 feature
  • 怎么验它有没有过
  • Pass / Fail 状态

Agent session 一开始就读它——挑最高优先级的 fail → 实作 → 标 pass → commit → 重复。

为什么是 JSON 不是 Markdown?

Anthropic 发现:agent 不小心覆写 JSON 的机率比覆写 Markdown 低。

细节很小,但在 6 小时自主跑的场景里很关键。

6. Session 初始化常规

每一次 session 都用同样方式开机。每一次。

Anthropic 的 7 步开机程序:

  1. 确认工作目录
  2. 读 git log 和进度档
  3. 从 feature list 抓最高优先级的未完成项
  4. 启动 dev server
  5. 跑基本 E2E 验证
  6. 实作一个 feature
  7. 用描述性讯息 commit,并更新进度

没有它:agent 前 20 分钟都在搞清楚现有状态,每个 session 都在重复造轮子。有了它:agent 一开始就带着情报直接干活。

7. Sprint Contracts(冲刺契约)

写任何一行程序码之前——两个 agent 先谈判

Generator agent 提案:

  • 要做什么
  • 怎么验证成功

Evaluator agent 审查:

  • 提案完整吗?
  • 成功标准清楚吗?

两边都同意,实作才开始。

是设计审查。只是两边都是 AI。

为什么重要

在同一轮里同时规划和执行的 agent,产出不可靠。「规划」这一步——即使是 AI 做的——也会大幅提升输出品质。

8. Structured Task Templates(结构化任务样板)

写任何程序码之前,harness 先分析真正的 codebase。

它产出一份接地的冲击地图(grounded impact map):

  • 真实的档案路径(不是幻觉的)
  • 真实存在的 symbol 名称
  • 既有的 pattern 可遵循
  • 具体的验收标准

然后实作才开始。

听起来理所当然。但大多数团队都跳过这一步

Agent 猜档案结构、发明根本不存在的 API、做一个跟 codebase 不搭的东西。

先有接地的 context,再执行 → 输出品质会差非常多。

9. OpenAI 的学派:环境优先

OpenAI 的 Codex 团队有个荒谬的问题:

100 万行生产级程序码,零行手写。

在那个规模,你不可能逐行 code review。所以他们不做

取而代之——他们把环境设计得彻底到一个程度,让 agent 从一开始就产出「可被审查的输出」

他们的做法

  • 严格的依赖流(Types → Config → Repo → Service → Runtime → UI)
  • 整个 codebase 散布 AGENT.md
  • Agent 直接接进 CI/CD pipeline

哲学:设计环境。然后放 agent 去跑。

证据

Sora Android app。4 个工程师。28 天。Play Store #1。99.9% crash-free。

Codex 每周处理内部 70% 的 PR。

10. Anthropic 的学派:把「做」和「审」分开

Anthropic 遇到的是另一个问题:

当他们叫 agent 评估自己的输出时,它会自信地称赞自己的作品——即使在人类观察者眼里品质明显平庸。

自评不行。 Agent 同时是学生跟老师,然后给自己打全 A。

他们的解法:3 个专责 agent

| Agent | | --- | | 工作 | | --- | --- | | Planner | 把 2 句话的 prompt 变成完整产品规格 | | Generator | 一次一个 sprint 实作 | | Evaluator | 用浏览器自动化测试,像真实使用者一样操作 |

洞察:让「独立的 evaluator」变得挑剔,比让 generator 对自己的作品变得挑剔容易得多。

结果(A/B 测试)

| 设置 | | --- | 成本 | 时间 | 结果 | | --- | --- | --- | --- | | 单 agent(无 harness) | $9 | 20 分钟 | 坏掉的 app | | 完整 harness | $200 | 6 小时 | 可运作软体 + 精致 UI |

11. ThoughtWorks 的学派:2×2 框架

ThoughtWorks 从不同角度切入——他们不是在做产品,而是在看 50+ 个工程团队在同样的地方失败

他们的洞察:用两个轴分类每一个 harness 控制

轴 1:什么时候运作?

  • Feedforward = 在 agent 动作之前(指引)
  • Feedback = 在 agent 动作之后(感测器)

轴 2:怎么运作?

  • Computational = 确定性、毫秒级(linter、type checker、test suite)
  • Inferential = 用 LLM、秒级(code review agent、语义分析)

2×2 矩阵

| | | --- | | Feedforward(指引) | | Feedback(感测) | | --- | --- | --- | | Computational | type system、linter、架构规则 | test suite、coverage、mutation test | | Inferential | spec 文件、约束描述 | LLM code reviewer、行为验证器 |

Feedforward 和 feedback 哪一边单独用都不行。两边都要有。

12. 原则 1:Context 胜过 Instruction

不同团队,同一发现:

  • OpenAI:给一张地图,不要给 1,000 页手册
  • Anthropic:JSON feature list + 进度档,让 agent 永远知道自己在哪
  • Red Hat:产出任何任务前,先分析真实 codebase
  • ThoughtWorks:称为「Feedforward」

把 agent 接地在「世界当前的状态」,持续胜过抽象地告诉它要做什么。

接地在真实档案路径 → 适配 codebase 的程式码。 从含糊描述出发 → 幻觉路径与发明 API。

在 agent 打字之前,先确保它知道自己在哪里。

13. 原则 2:规划与执行必须分离

  • OpenAI:人类设计环境,agent 执行
  • Anthropic:专责 Planner agent 在 Generator 动工前先跑
  • ThoughtWorks:强制人类审查 checkpoint 卡在规划和实作之间
  • Red Hat:Phase 1(冲击地图)和 Phase 2(实作)之间有硬闸

每一个阵营都独立发现:让 agent 在同一轮里规划和执行,输出不可靠

规划这一步不一定要人类做,但必须是分开的一步,且输出要被审过才能开工。

14. 原则 3:Feedback 迴路不可妥协

  • OpenAI:agent 接进 CI/CD 与 observability
  • Anthropic:专责 Evaluator agent + 浏览器自动化
  • ThoughtWorks:形式化为「感测器」,警告只靠 feedforward 永远无法确认指引到底有没有效

三个学派同一原则的三种做法:

| 学派 | | --- | feedback 来源 | | --- | --- | | OpenAI | 自动化测试 + CI | | Anthropic | 另一个 LLM | | ThoughtWorks | 两者叠用 |

他们在「提供 feedback」上有分歧。但他们在「你需不需要 feedback」上没有分歧。

没有 feedback 的 harness,只是 prompt 加一些步骤而已。

15. 原则 4:一次只做一件事

  • OpenAI:把目标拆成更小的积木,深度优先
  • Anthropic:强制「每个 sprint 只做一个 feature」,做完就 commit
  • ThoughtWorks:分阶段生命周期(pre-integration → post-integration → continuous monitoring)

一次想做太多的 agent 会:

  • Context 用完
  • 失去连贯性
  • 安静地丢掉需求

Anthropic 的常规:读进度 → 挑 ONE feature → 实作 → commit → 重复

「强制渐进主义」是所有成功 harness 的共通点。

16. 原则 5:Codebase 本身就是文件

  • OpenAI:AGENT.md 内嵌在 repo
  • Anthropic:feature list、progress 文件、git 历史就是 agent 的连续性机制
  • ThoughtWorks:衡量「harnessability」——codebase 对 agent 的可读性

没人会帮 agent 另外维护一份知识库。Repo 就是唯一真相。

如果一个惯例、约束、架构决策不在 codebase 里 → agent 就不会知道

实务含义

  • 愿意投资在程序码组织的团队,免费得到更好的 agent 表现
  • 脏 repo + AI agent = 规模化的混乱

17. Harness 衰退(Harness Decay)是真的

Anthropic 从 Opus 4.5 升到 Opus 4.6 时——Sprint 拆解(原本是必备的)变成了死重

模型的规划能力进步了,让那块变多余。

3 月还在承重的 harness 组件,到 4 月已变成 overhead。

然后 Opus 4.7 上线——模型开始验证自己的输出,Evaluator agent 的职责又缩水了。

这就是 Harness 衰退

Harness 里的每个组件都隐含「模型做不到什么」的假设。模型进步 → 那些假设过期 → 组件变 overhead。

| 模型版本 | | --- | Harness 样态 | | --- | --- | | Opus 4.5 | 冲解拆解 + 每冲评估 | | Opus 4.6 | 没有冲解拆解 + 单次评估(省 38% 成本) | | Opus 4.7 | 模型自验 → evaluator 角色再缩 |

18. 为删除而建(Build to Delete)

Philipp Schmid 的建议:「Build to delete.」

设计每个 harness 组件时,就设计成可被移除

定期测试每个组件——把它关掉,量输出品质有没有差没差 → 删掉。

| 团队 | | --- | 6 个月内的重构 | | --- | --- | | Manus | 重构 harness 5 次 | | LangChain | 1 年内重整 3 次 | | Vercel | 砍掉 80% 工具 → 表现变更更好 |

这些不是坏工程的征兆。是「在快速进步的模型上盖东西」的自然后果。

死掉的 harness 组件每次跑都在烧 token,零品质贡献——纯浪费。

19. 成本现实

Anthropic A/B 测试的诚实数字:

| 设置 | | --- | 成本 | 时间 | 结果 | | --- | --- | --- | --- | | 单 agent(无 harness) | $9 | 20 分钟 | UI 动了,核心坏 | | 完整 harness(Opus 4.5) | $200 | 6 小时 | 可运作软体,精致 UI,正确物理 |

22 倍成本——换到一个真的能跑的产品,而不是「螢幕截图才对」的 demo。

值不值得?取决于坏掉的 release 对你的团队代价多大。

但这里是没人讲的部分

Harness + 模型的组合是会演化的。

$200 的 harness,升一个模型版本后变 $124

| 趋势线 | | --- | | 更好的模型 = 更简单的 harness = 更便宜的跑一次 = 更快的输出 |

2026 年赢的工程师,不是写最好的程序码的

他们是设计最好「约束」的人。

而且愿意在那些约束停止赚钱的瞬间,把它们扔掉。

全文浓缩

什么是 harness

  1. Agent = Model + Harness
  2. Model = CPU、Harness = OS
  3. 同模型,更好的 harness → +13% 表现

5 个 harness 产物

  1. CLAUDE.md / AGENT.md —— agent 的 onboarding 文件
  2. JSON feature list —— 进度追踪 + 测试套件二合一
  3. Session 初始化常规 —— 同样的 7 步开机
  4. Sprint contract —— agent 写码前先谈判
  5. Structured task template —— 真实档案路径、真实 pattern

3 个学派

  1. OpenAI:设计环境,放 agent 跑
  2. Anthropic:把「做」和「审」分开
  3. ThoughtWorks:2×2 feedforward/feedback 框架

5 条普世原则

  1. Context 胜过 instruction
  2. 规划与执行必须分离
  3. Feedback 迴路不可妥协
  4. 一次只做一件事
  5. Codebase 就是文件

异端之处

  1. Harness 衰退 —— 上个月有效的,这个月在扣分
  2. 为删除而建 —— 定期测试并移除死组件
  3. 成本现实 —— 更好的模型 = 更简单的 harness = 更便宜的跑一次

2026 年赢的工程师,不是写最好程序码的。他们是设计最好约束的人——而且愿意在那些约束停止赚钱的瞬间,把它们扔掉。

查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 评论
  • 转发
  • 分享
评论
请输入评论内容
请输入评论内容
暂无评论