Harness 失手,模型白给

副标题:OpenAI 7 人 5 月 100 万行 + LangChain 同模型+25 位,三巨头同年押 Harness

钩子

讲真的,2026 年初那波 AI 新闻我是看麻了 —— 大模型又升级、跑分又涨,清一色都是"模型又变聪明了"的叙事。但 2 月 11 号,OpenAI 工程师 Ryan Lopopolo 甩了一篇万字长文,讲他们 3 个工程师花 5 个月,愣是一行代码没手写,光让 Codex Agent 就吐出了约 100 万行代码、合并了 1500 个 PR,产品上线服务了几百个内部日活用户。3 个人,100 万行,人均 3.5 个 PR/天 —— 你说巧不巧?同一个 2 月,Mitchell Hashimoto 在自己博客里第一次正式命名这套做法:Harness Engineering。两个互相不认识的团队,同一周,撞出同一个词。然后 Anthropic 也跟了,而且用了同一组数字(6 小时 / 200 美元)反着证明了一件事 —— Harness 失手,模型白给。


§1 什么是 Harness:把模型塞进一个"能稳定干活"的环境

Harness 这个词,字面就是"马具/缰绳"。讲道理这词不是 2026 才造的 —— 软件测试圈早就在用,叫 “test harness”,指包裹被测代码的那套工具集。AI 圈只是把这个比喻借过来,Agent Harness 就是"包裹模型的所有基础设施"。Anthropic 的 Claude Code 文档自己都直说:SDK 就是驱动 Claude Code 的 Agent Harness。

LangChain 把这件事压成了一个极简等式,后来被业界抄烂了:

Agent = Model + Harness

你把这个等式拆开看就明白 —— 模型只负责推理(给动力、给算力),所有模型之外的事都归 Harness:工具调用、记忆管理、上下文治理、任务编排、验证反馈、安全护栏、可观测性。拿冯·诺依曼架构对照一下更直觉 —— 模型是 CPU,上下文是内存(快但小),外部存储是磁盘(大但慢),工具是外设,Harness 是把这一切拧成一台能跑电脑的操作系统。

图 1 · 冯·诺依曼视角下的 Harness 角色(Mindmap 分类)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

到这里你大概心里有数了:Harness 不是 Prompt 技巧那一档,也不是 Context 工程那一档 —— 它是比 Context 更外一层的运行环境。你后面会看到,这一层才是 OpenAI 那帮人拼了命也要搞扎实的东西。


§2 三巨头同框:同一年,同一句结论

把 2026 上半年三家的关键时间点摆一起,你会发现这不是孤立事件:

图 2 · 2026 上半年 Harness 概念时间线(flowchart LR 含日期)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

三件事串起来看特别直观:

  • OpenAI:7 人 5 月 100 万行,1500 PR,日均 ~10 亿 token,日均成本 $2-3k,零手写代码。Ryan Lopopolo 后来在 Latent Space 播客里讲:“我不能再对代码细节有深入意见,就好像我是在技术上领导一个 500 人的工程组织。”
  • Anthropic:同一个 Retro Game Maker 任务,Solo Agent 跑 20 分钟烧 $9,游戏玩不起来;三 Agent Harness(Planner / Generator / Evaluator)跑 6 小时花 $200,完整可玩、设计精美的游戏制作器上线交付。
  • LangChain:同模型同权重,改 Harness 后 Terminal Bench 2.0 排名从 30+ 直接跃到第 5,通过率 52.8% → 66.5%(+13.7pp)。一个字节的模型都没换。

表 1 · 三家同框关键数据对比(对比表)

厂商关键实验唯一变量结果提升幅度
OpenAI3→7 人,5 月,100 万行,1500 PRHarness 整套环境内部日活产品上线~10x vs 手动开发
AnthropicSolo vs 三 Agent HarnessHarness 架构游戏制作器20min/$9 → 6h/$200,质量飞跃
LangChainTerminal Bench 2.0Harness 改写排名 +25 位通过率 52.8% → 66.5%
EpsillaCORE-BenchHarness 改写通过率翻倍42% → 78% (+36pp)
复旦 AHETerminal-Bench 2 自演化 Harness自演化的 Harnesspass@1 提升69.7% → 77.0%

讲到这里,行业共识已经形成 —— 引用 LangChain 那句被反复背书的话:模型决定下限,Harness 决定上限。


§3 真护城河在哪里:不是 Prompt,是 Sprint Contract

Anthropic 在 2026 年 3 月那篇博文里,把 Harness 拆成三件事(我把它翻译成「动工-收工-验收」):

图 3 · Anthropic 三 Agent Harness 架构(flowchart TB + subgraph)

图3

关键观察(我重述一下):生成和评估得拆开。 让干活的人自己打分,结果一定偏乐观 —— Anthropic 自己也承认这是"自评估的系统性缺陷"。换句话说,与其教生成器学会自我批评,不如工程化一个独立、严格、最好故意调得"很挑剔"的评估器 Agent,这事儿要省力得多。

图 4 · Sprint Contract 时序(sequenceDiagram 通信)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这套循环跑下来有个反直觉的现象:每个 Sprint 只做 1-2 个 feature,看着慢,但总完成率反而比"一口气全做"高 5-6 倍。理由是:每个 Sprint 结束都 git commit + 写 PROGRESS.txt,跨上下文窗口就有了"状态锚"。下一轮 Agent 启动时直接读文件重建上下文,不用从零开始记。

这就是 Harness 真正起作用的地方 —— 不是让模型变聪明,而是让模型不必每次都从零记起


§4 反方:工具越多,模型越蠢

Vercel 工程师 Andrew Qu 在 2025 年 12 月写了篇博文,讲了一个有点反直觉的事。他们给面向 Slack 的 d0 Agent(自然语言转 SQL)原本配了 16 个专用工具 —— 查表结构、查主键、查数据类型、生成查询、校验查询、解释结果,效果一直不温不火。Opus 4.5 发布那天,他们顺手把这 16 个里砍掉 14 个,只留 2 个非常通用的(ExecuteCommand + ExecuteSQL)。你猜怎么着?

图 5 · Vercel d0 工具瘦身前后(flowchart LR 流程对比)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

数据漂亮:成功率 80% → 100%,响应 274.8s → 77.4s(3.5 倍提速),token 消耗 -37%,步骤数 -42%。Andrew 那句话值得背下来 —— “我们之前在解决一些模型自己就能搞定的问题。当我们停止替模型做选择时,模型做出了更好的选择。”

把这条反直觉和 Martin Fowler 4 月的分类法拼起来,你会发现 Harness 也在自我演化:

图 6 · Harness 自演化循环(stateDiagram-v2 状态机)

图6

Martin Fowler 在 4 月那篇文章里把 Harness 拆成两轴 —— 计算型(Computational,如 Lint/单测/类型检查,毫秒级,100% 确定性)vs 推理型(Inferential,如 LLM-as-Judge,秒级,非确定);加上前馈(Feedforward,行动前引导)+ 反馈(Feedback,行动后感知)的双层控制。这是 Harness 第一次有工业界公认的分类法,跟 Refactoring/Microservices 同等待遇。

反过来,模型每升一代,Harness 就要瘦一轮 —— Manus 6 个月重写 5 次,每次都在删复杂度;Anthropic 自己也会定期从 Claude Code 的 Harness 里删除规划步骤,因为新版模型已经内化了这个能力。这就是 Harness 的"未来验证测试":换更强的模型后,性能自动提升而不需要增加 Harness 复杂度 —— 那你的设计就是好的。


§5 今天能动手的 3 件事

  1. 给项目根目录加一个 AGENTS.md(≤ 100 行)。别再让 Agent 每次都从零学规矩,把它当成"模型一进项目就读的宪法"。

  2. 把工具砍到能砍的最小集。Vercel 已经验证:80% 工具其实是噪音。沙箱里只暴露当前任务需要的最小权限,危险操作走 hook 拦截。

  3. 把 lint 报错信息写得像人话。OpenAI 团队有个挺反常识的发现 —— linter 报错本身就是 Agent 下次尝试的 Context,改一行报错能省十次重试。这一条单条成本最低,但老实说,很少有人真的做。


观点段

讲一个我自己的判断 —— 接下来 3 个月,谁先做出**“可证伪的 Harness 评测”**,谁就能定义下一波行业标准。现在的 Harness 工程还停留在"我跑通了 demo"那一档,真正缺的,是把验证、护栏、可观测性做成可重复实验的 harness benchmark —— 不是单点分数,是跨任务域、跨模型家族、跨 token 预算的可比较指标。如果有人能复现 AHE 那种"10 轮 pass@1 拉到 77% 的自演化"在 5 个不同任务域都成立,2026 下半年的 Agent 圈就是这个人说了算。

但我得加一句反方对冲 —— Harness 自演化跟"模型升级触发 Harness 瘦身"是反着来的(Manus 6 个月重写 5 次,每次都在删),如果哪个团队的 Harness 写得太自动化,等下一代模型一上来又得返工。这事儿并不便宜。


小结

  1. 今晚就能做的:把项目里的 AGENTS.md 补到 100 行,别让 Agent 再犯同一类错。
  2. 这周能做的:把 Agent 工具集砍到 ≤ 5 个通用工具,看响应时间会不会降一半。
  3. 看趋势必看的:盯 arXiv 2604.25850 复旦 AHE 系列,以及 Martin Fowler harness-engineering 系列博客。

互动段

下一篇你想看哪条?Loop Engineering(Osmani 6-9 那条,把 Harness 再外推一层成自动化心跳)还是 Harness 自演化(复旦 AHE 那条)?评论区挑一个,我下一跑就写它。


来源区

  1. OpenAI · Harness engineering: leveraging Codex in an agent-first world —— 7 人 5 月 100 万行 0 手写的官方实验报告
  2. Anthropic · Harness design for long-running application development —— 三 Agent Harness + Sprint Contract 的工程化方案
  3. LangChain · The Anatomy of an Agent Harness —— Agent = Model + Harness 公式 + Terminal Bench +25 位
  4. arXiv 2604.25850 · Agentic Harness Engineering (AHE) —— 复旦 + 上海 AI Lab 10 轮 pass@1 69.7→77.0% 自演化 Harness
  5. arXiv 2602.14690 · Harness Engineering for Agentic AI Coding Tools —— 2853 GitHub 仓库实证研究 + AGENTS.md 跨工具标准
  6. InfoQ 中文 · 给 Agent 装上方向盘和刹车,Harness 时代的工程新范式 —— 张鑫 / 王仿 / 任磊达 8-11 中文一手对话
  7. Martin Fowler · Harness engineering for coding agent users —— Cybernetics 前馈/反馈 + 计算型/推理型分类法
  8. Vercel d0 工具瘦身复盘(中文) —— 16→2 工具反直觉数据
Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐