内容提要
OpenAI团队采用“Harness Engineering”方法,从零开始,在五个月内利用Codex智能体生成百万行代码,全程无需人类手写。该方法通过设计环境、明确规则,利用AGENTS.md作为地图、docs目录存储知识、linter强制约束,使AI能够自主开发、测试和修复代码。相比微调,此方法更高效,更换模型不影响规则,成本低且易于复制。
延伸解读
环境设计比模型能力更重要
文章强调,OpenAI团队的成功并非依赖模型本身的强大,而是通过精心设计的“环境”来约束和引导AI。他们从空仓库起步,将规则、知识和工具都编码进仓库,使AI能在明确的边界内自主工作。这提示我们,在应用AI时,与其追求更强大的模型,不如先优化工作环境,让AI的潜力得到充分发挥。
知识库的动态维护机制
团队没有将AGENTS.md当作一成不变的百科全书,而是将其作为动态地图,配合docs目录和定期运行的“文档园艺”智能体,确保知识库始终更新且结构正确。这种机制避免了规则过时和混乱,使得AI始终基于最新、最相关的信息进行决策,是维持长期项目健康的关键。
从人工审查到智能体自治的转变
随着AI吞吐量提升,传统的人工审查流程成为瓶颈。团队通过让AI自我审查、互相审查,并利用自动化工具强制执行架构约束,大幅减少了人工介入。这种转变不仅提高了效率,也改变了工程文化,使错误成为可快速修复的学习信号,而非灾难。
Harness Engineering的通用性与成本优势
相比微调模型,Harness Engineering将规则固化在环境中,因此更换模型时无需重新训练,且便宜模型也能在护栏内高效工作。这种方法的成本更低,且易于复制,为其他团队提供了一种可借鉴的AI应用范式,尤其适合需要长期迭代和多人协作的项目。
Q&A
OpenAI团队是如何在五个月内生成百万行代码的?
OpenAI团队采用Harness Engineering方法,从空Git仓库起步,利用Codex智能体自动生成代码,人类不手动编写。他们通过设计环境、明确规则,使用AGENTS.md作为地图、docs目录存储知识、linter强制约束,使AI能够自主开发、测试和修复代码。五个月内,仓库膨胀到一百万行代码,期间开合约1500个Pull Request,由三人小团队推动。
Harness Engineering的核心思想是什么?
Harness Engineering的核心思想是:别指望AI自觉,把规矩写进环境里。通过设计环境、明确规则,而不是修改模型本身,来提升AI智能体的表现。人类负责设计环境、明确意图、构建反馈回路,代码生成、测试、修复、审查全由智能体完成。
为什么AGENTS.md文件不宜过大?
因为情境是稀缺资源,大指令文件会挤占任务和代码的空间,导致智能体漏掉关键约束或对着错误约束优化。指导太多反而无效,什么都重要就等于什么都不重要。而且巨大手册容易腐烂,过时规则堆积,智能体分不清哪个还管用。因此,AGENTS.md应作为地图使用,保持精简(约100行),指向更深处的真相来源,实现渐进式披露。
如何确保AI生成的代码库不散架?
通过强制执行不变量来保持连贯性,不微观管理实施过程。具体包括:围绕严格架构模型构建应用,每个业务域分固定层,依赖方向严格验证,只允许有限边。这些约束通过自定义linter和结构测试机械强制执行。此外,将品味不变式(如结构化日志命名约定、文件大小限制)编码进代码,linter出错信息直接注入修复指令,AI看到报错就知道怎么改。
为什么说Harness Engineering比微调更高效?
因为微调是花钱花时间把规矩塞进特定模型脑子里,换新模型版本就得重来。而环境规则写在仓库里,今天用GPT-4守规矩,明天换GPT-5,检查器、规则、历史教训还在。花一次功夫搭环境,后面所有模型版本通吃。此外,便宜模型也能在护栏里干活,先用大模型搭好静态验证规则,然后让便宜模型在里面跑,违规就报错重试,成本低。
GitHub仓库lopopolo/harness-engineering与OpenAI博客文章是什么关系?
该仓库是OpenAI博客文章的实操落地版、工具箱和现场施工图。博客文章提出Harness Engineering的完整理念,而仓库是作者Ryan Lopopolo为了让理念能被直接使用而建立的,包含AGENTS.md、docs/目录、evals/目录、playbooks/目录等实体文件,对应文章中的方法,可以直接喂给AI智能体使用。