当你在纠结选哪个模型时,人家已经用这套方法让 AI 自主开发了 100 万行代码
2026 年初,OpenAI 内部完成了一个疯狂的项目:

最离谱的是什么?这个项目不是 demo,不是玩具,是正儿八经在生产环境跑的系统。
而工程师的工作不再是写代码,而是设计一个让 AI 能可靠写代码的系统。
这个系统,就是今天要讲的 Harness Engineering(驾驭工程)。
想象一下你有一匹千里马(AI 模型):
Harness(马具) 就是缰绳、马鞍、车辕这一整套装备:

Harness Engineering 就是设计和制造这套马具的学问。
Harness Engineering 是设计和实现以下系统的学科:
用 Martin Fowler 的话说:"这是在 AI 时代保持代码质量的新型工程实践。"
2025-2026 年,各大模型的编程能力差距越来越小。
GPT-4.5、Claude 3.5、Gemini 2.0...在编程任务上的表现已经趋同。模型本身成了大宗商品。
那什么才是核心竞争力?Harness。
LangChain 的编程 Agent 在 Terminal Bench 2.0 排行榜上发生过一次惊天逆袭:
他们做了什么惊天地泣鬼神的事吗?
没有。他们连模型都没换。
只是优化了 Harness:
同样的模型,不同的 Harness,天壤之别的结果。
根据 OpenAI 的官方框架,Harness Engineering 由三大支柱支撑:

核心原则:Agent 应当恰好获得当前任务所需的上下文,不多不少。

AGENTS.md 或 CLAUDE.md 文件(类似 README,但专门给 AI 看的)从 Agent 的视角看:任何它在上下文中访问不到的信息,就等于不存在。
写在 Confluence 里的文档?不存在。 Slack 里的讨论?不存在。 某个工程师脑子里的知识?不存在。
代码库必须是唯一的真相源(Single Source of Truth)。
这是 Harness Engineering 最反直觉的部分:
限制越多,效率越高。
Types → Config → Repo → Service → Runtime → UI
规则:
这不是建议,是机械性强制执行。
想象一下:
场景 A(无约束):Agent 接到任务"实现一个用户服务"
场景 B(强约束):同样的任务
约束不是限制创造力,是消除决策疲劳。
这是最容易被忽视,但最重要的部分。
AI 生成的代码库会随着时间积累"混乱":
这就是熵增。如果不管理,代码库会迅速变成屎山。
定期运行专门的"清理 Agent":
这些 Agent 按调度运行:每天、每周,或在特定事件触发时。
就像定期做大扫除,保持代码库宜居。

工程师的日常:
传统工程师 | Harness 工程师 |
|---|---|
写代码 | 从不写代码 |
偶尔设计架构 | 主要工作就是设计架构 |
最后补文档 | 文档是核心基础设施 |
审查代码 | 审查 Agent 输出 + 评估 Harness 效果 |
调试代码 | 分析 Agent 行为模式 |
写测试 | 设计测试策略,Agent 执行 |
工作重心完全转移。
Stripe 内部的编程 Agent 叫 Minions,每周产生 1000+ 合并的 PR。
工作流程:
第 1 步和第 5 步之间,完全不需要人类参与。
Harness 处理了一切:测试、CI、代码风格、文档更新。
LangChain 把 Harness 设计成可组合的中间件层:
Agent 请求
→ LocalContextMiddleware(映射代码库)
→ LoopDetectionMiddleware(防止死循环)
→ ReasoningSandwichMiddleware(优化计算资源)
→ PreCompletionChecklistMiddleware(强制执行验证)
→ Agent 响应每个中间件层添加特定能力,不修改核心 Agent 逻辑。
模块化的好处:Harness 本身可测试、可演进。
别被大厂案例吓到。Harness Engineering 可以循序渐进。

适合:个人开发者,用 Cursor、Claude Code 等工具
最小配置:
1. 项目规则文件(.cursorrules 或 CLAUDE.md)
# 项目约定
- 用 TypeScript
- 遵循 Airbnb 风格指南
- 测试用 Jest
- 目录结构:src/components, src/hooks, src/utils2. Pre-commit Hook
# 自动格式化和 linting
npm run lint && npm run format3. 测试套件
4. 清晰的目录结构
效果:防止最常见的 Agent 错误
适合:3-10 人团队
在 Level 1 基础上增加:
1. AGENTS.md 文件(团队级约定)
# 团队开发规范
- 所有 API 必须带错误处理
- 数据库操作必须用事务
- PR 描述必须包含测试覆盖范围2. CI 强制执行的架构约束
madge 检查循环依赖3. 共享的 Prompt 模板
4. 文档即代码
5. Agent 生成 PR 的审查清单
效果:团队内 Agent 行为一致
适合:工程组织,数十个并发 Agent
在 Level 2 基础上增加:
效果:Agent 成为自主贡献者
"如果你把控制流设计得太复杂,下一个模型更新就会让你的系统报废。"
2024 年需要复杂 pipeline 实现的功能,2025 年模型一个 prompt 就能搞定。
建议:Harness 要设计成"可拆卸"的。当模型变聪明后,能轻松移除不必要的控制逻辑。
Harness 需要持续演进:
建议:每周回顾 Harness 的效果,持续迭代。
很多人把 AGENTS.md 当成普通文档,写完就忘。
大错特错。
AGENTS.md 是 Harness 的核心组件,是 Agent 的"入职培训手册"。
建议:
AGENTS.mdAGENTS.md 当成代码一样维护约束不足:Agent 漫无目的,产出混乱 约束过度:Agent 束手束脚,无法创新
建议:

传统工程师:
"这个功能我要怎么写?"
Harness 工程师:
"我要设计什么样的环境,才能让 Agent reliably 写出这个功能?"
关注点从实现转移到赋能。
传统工程师:
"这段代码有没有 bug?"
Harness 工程师:
"为什么 Harness 没有防止这个 bug?需要增加什么约束?"
关注点从单点错误转移到系统缺陷。
传统模式:
工程师学习怎么用 AI 工具
Harness 模式:
AI 工具学习怎么在工程师的环境里工作
关注点从学习成本转移到环境设计。
回到最初的问题:
Harness Engineering 会让工程师失业吗?
答案是:不会,但会重新定义"工程师"。
更像是:
写代码的手速不重要了,设计系统的眼界变得重要。
别等了。今天就可以开始。

在你的项目根目录创建 AGENTS.md:
# 项目概述
这个项目是做什么的
# 技术栈
- 语言:TypeScript
- 框架:React + Node.js
- 数据库:PostgreSQL
# 开发规范
- 用 ESLint + Prettier
- 测试用 Jest
- 所有函数必须有 JSDoc
# 架构约束
- 前端:src/components, src/hooks, src/utils
- 后端:src/controllers, src/services, src/repositories
- 禁止跨层 import
# 常用命令
- npm run test:运行测试
- npm run lint:代码检查
- npm run build:构建设置 Pre-commit Hook:
#!/bin/bash
npm run lint
npm run test每次 Agent 犯错,就更新 AGENTS.md。
一个月后,你会拥有一个越来越聪明的 Harness。
Harness Engineering 不是银弹。
但它代表了一个范式转移:
从"让人适应 AI"到"让 AI 适应人"。
从"怎么用好工具"到"怎么设计环境"。
从"写代码"到"设计让代码能可靠生成的系统"。
2026 年了,别再只关注哪个模型更强。
真正拉开差距的,是谁的 Harness 更聪明。
参考资料:
互动话题:
你开始尝试 Harness Engineering 了吗? 在评论区分享你的实践经验或困惑!
如果觉得有用,欢迎点赞、在看、转发三连!