找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

4959

积分

0

好友

664

主题
发表于 21 小时前 | 查看: 8| 回复: 0

前面几篇我们聊了Karpathy的行为准则、OpenSpec的需求对齐、Superpowers的技能框架。今天聊一个更大的话题——当AI大规模参与编码时,整个工程体系该怎么运作。

先看一组震撼的数据

2026年2月,OpenAI工程师Ryan Lopopolo发表了一篇博文,披露了一个实验结果:

指标 数据
开发周期 5个月
团队规模 3-7名工程师
代码规模 约100万行
人工编写代码 0行
处理的PR数量 约1500个
人均日处理PR 3.5个
效率提升 相比手写代码快约10倍

你没看错。100万行代码,0行是人类写的。

不是那种“AI生成模板,人类填充逻辑”的辅助编程,而是从头到尾、端到端、完全由AI Agent完成的产品开发。

这个实验让整个技术圈炸了。因为所有人都知道AI能写代码,但没有人想到能做到这个程度——100万行、5个月、真实产品。

OpenAI把这套方法论命名为 Harness Engineering(驾驭工程)

Harness Engineering是什么?

“Harness”这个词来源于马具——缰绳、马鞍、嚼子。它不是用来削弱马的能力的,而是让这匹强大的动物跑得又快又稳。

Harness Engineering 的核心定义:围绕AI Agent设计和构建约束机制、反馈回路、工作流控制和持续改进循环的系统工程实践。

一句话:不优化模型本身,而是优化模型运行的“环境”。

核心公式:

Agent = Model + Harness

Model是刀刃,Harness是握刀的手。刀再快,没有正确的握法和使用方法,也砍不好东西。

这个概念由HashiCorp联合创始人Mitchell Hashimoto在2026年2月首次提出。他在开发Ghostty终端模拟器的过程中,摸索出了一套让AI Agent可靠工作的方法。

他的核心理念非常朴素:

“每次发现Agent犯了一个错误,就花时间设计一个解决方案,确保这个错误以后不会再犯。”

把每一次失败都变成永久的护栏。

AI编程的三次范式跃迁

理解Harness Engineering,需要先理解AI编程经历的三次范式跃迁:

第一次:提示词工程(Prompt Engineering)

核心问题:怎么把话说清楚?
优化的是Prompt的措辞、格式、示例。一问一答,像对马喊话——技巧很重要,但马的体力有限。

第二次:上下文工程(Context Engineering)

核心问题:怎么给AI喂信息?
优化的是文档、代码片段、历史对话。像给马看地图——信息丰富了,但马还是可能走错路。

第三次:驾驭工程(Harness Engineering)

核心问题:怎么让Agent可靠地工作?
优化的是约束、反馈回路、控制系统。像给马造一条高速公路,配上护栏、限速牌和加油站。

前两次是人跟AI对话,第三次是人为AI设计工作环境。

四大护栏

Harness Engineering的核心是四套“护栏”。

护栏一:上下文工程——“新员工手册”

核心工具是 AGENTS.md 文件。这不是一个普通的配置文件,而是一份活的文档——每一行都对应一个历史失败案例。

Mitchell Hashimoto的做法特别极端:Ghostty项目的AGENTS.md中,每一条规则都是因为Agent曾经在这个地方犯过错。一旦某个错误发生过一次,就被编码为永久护栏。

OpenAI的做法更结构化——采用“地图模式”:

AGENTS.md(约100行,只做目录)

├── 项目概述:一句话说清楚这是什么
├── 架构入口:指向 docs/architecture/
├── 设计文档:指向 docs/design/
├── 编码规范:指向 docs/conventions/
├── 执行计划:指向 docs/plans/
└── 参考资料:指向 docs/reference/

这叫渐进式披露(Progressive Disclosure)——Agent从稳定入口点开始,按需获取信息,而不是一次性塞给它几百页文档。

关键洞察:上下文不是越多越好,而是越精准越好。

护栏二:架构约束——“缰绳”

OpenAI建立了严格的六层依赖模型

Types → Config → Repo → Service → Runtime → UI

依赖方向由CI自动验证,违反即阻止合并。

此外还有:

  • 自定义Linter:每条规则的错误信息中直接包含修复指令——错误信息本身就是Prompt
  • 技术选型偏好:倾向于选择API稳定、社区庞大、训练数据丰富的库

这个设计太聪明了。 不是让AI“尽量遵守规范”,而是让违反规范的代码根本无法通过CI。约束不是靠AI的自觉,而是靠系统的强制。

护栏三:反馈循环——“智能体审智能体”

这是最让我震撼的部分。

OpenAI的实现包括:

  • Agent-to-Agent Review:Codex在本地审核自身更改,循环往复直到通过
  • 可观测性堆栈:完整的日志和指标系统,Agent可以自己查日志排查问题
  • Chrome DevTools Protocol集成:Agent可以操作浏览器——截图、读取DOM、模拟点击
  • Git Worktree集成:每次变更在独立worktree中启动完整应用实例

这意味着什么?Agent从“盲写代码”变成了这样一个闭环:

写代码 → 跑起来看效果 → 发现问题 → 修改 → 再看效果 → 直到满意

Codex经常在单个任务上持续工作超过6小时,自己写、自己测、自己改。不是因为它聪明,而是因为环境允许它这么做。

护栏四:熵管理——“垃圾回收”

代码会腐化,AI写的代码也一样。而且AI有一个危险特性:它非常擅长模式复制——代码库里有什么模式就忠实地复制并放大,包括坏模式。

OpenAI的解决方案:

  • 后台清理Agent:定期扫描偏差,生成重构PR
  • Doc-gardening Agent:专门扫描文档与代码的不一致,发现过时就自动修复——用Agent为Agent维护文档

核心理念:技术债务像高息贷款,应该小额常还,而不是累积后痛苦偿还。

Agent的三大失败模式

Anthropic的工程师总结了AI Agent三种最常见的失败模式,正是Harness Engineering要解决的:

失败一:试图一步到位

Agent倾向于在一个会话里把所有功能都做完,导致上下文窗口耗尽,后半段质量断崖式下降。

失败二:过早宣布胜利

看到部分已完成就直接宣布任务完成,即使还有大量功能未实现。

失败三:过早标记功能完成

写完代码就标记完成,却没有做端到端测试。

你可能觉得“这不是很明显的问题吗”。但用过AI编程的人都知道,这些失败模式极其常见,而且AI特别擅长“合理化”自己的行为——它会编出各种理由来解释为什么不需要测试、为什么这个功能已经完成了。

Harness Engineering就是通过系统性的护栏来防止这些失败。

六大行业共识

综合OpenAI、Anthropic、LangChain、Stripe、HashiCorp等独立信息源,业界对Harness Engineering已经形成了六大共识:

共识 核心观点
瓶颈在基础设施,不在模型智能 五个独立团队得出相同结论
文档必须是活的反馈循环 静态文档是坟场,动态文档才有价值
思考与执行分离 需要编排层+执行层的分层架构
上下文不是越多越好 应按需检索、动态注入
约束必须自动化 护栏要编码为Linter、CI、类型系统
工程师角色在转变 从代码编写者变成环境建筑师

最后一条尤其值得深思:工程师的价值不再取决于写代码的能力,而取决于设计AI工作环境的能力。

LangChain的实证数据

如果你觉得OpenAI的案例太特殊(毕竟是自己家的产品),看看第三方的数据。

LangChain团队没有动模型一个参数,仅通过优化外部驾驭环境——文档结构、验证回路、追踪系统——编码Agent在Terminal Bench 2.0的得分从52.8%飙升至66.5%

全球排名从第30位跃升至第5位

模型没变,环境变了,效果翻了近一倍。

这就是Harness Engineering的力量。

给普通程序员的建议

你可能觉得“OpenAI的实验跟我的日常工作有什么关系?”

关系很大。

第一,你不需要做到OpenAI的程度,但你需要开始思考“环境”的问题。

哪怕你只是用Claude Code写一个小功能,也可以从维护一个简单的CLAUDE.md开始。每次AI犯了错,就把对应的规则加进去。这就是最朴素的Harness Engineering。

第二,文档比Prompt更重要。

与其花时间优化“怎么跟AI说话”,不如花时间整理项目文档、架构说明、编码规范。这些文档就是AI的“新员工手册”。

第三,约束要自动化,不要靠AI的自觉。

写Linter规则、写CI检查、写测试用例。让违反规范的代码无法通过,而不是指望AI“主动遵守”。这本质上是DevOps理念的延伸,将最佳实践固化到工具链中。

写在最后

回顾这个系列的前六篇文章,我们实际上在讲一个故事:

  • Karpathy的四条铁律——个人层面的行为准则
  • OpenSpec——需求层面的对齐机制
  • Superpowers——流程层面的技能框架
  • Harness Engineering——工程层面的系统范式

从个人习惯到系统工程,这是一个完整的认知升级路径。

而那个OpenAI的实验告诉我们:当这些层面都做到位了,AI编程的效率可以是手写的10倍。

不是10倍的代码量,而是10倍的交付速度,且代码质量不降反升。这不仅是效率的跃迁,更是整个软件开发范式的重构。希望这篇文章能为你理解并实践新一代的AI工程方法论提供一个清晰的框架。如果你想了解更多类似的深度技术解析与前沿工程实践,欢迎持续关注 云栈社区 的更新。




上一篇:AI Agent的协作迷思:当人机一体成为日常,你如何界定自我边界?
下一篇:SafeHarness:智能体安全新范式,基于四层防御架构的全生命周期防护
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-4-18 22:38 , Processed in 0.790990 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表