当工程师不再写代码:OpenAI 内部一场颠覆性的实验
去年夏天,OpenAI 的工程师 Ryan Lopopolo 做了一件听起来近乎疯狂的事:他给自己下了禁令——不准亲手写一行代码。不是临时测试,不是短期演练,而是持续数月的完整项目开发,全部交给 AI 模型完成。
这不是科幻片里的场景,而是 OpenAI 内部一个名为 “Symphony” 的真实项目。它没有传统意义上的“开发者”,却支撑起了一个可运行、可测试、甚至被集成进生产环境的完整库。它的代码,全由 AI 生成;它的架构,由 AI 自主拆解;它的 Bug,由 AI 自行修复。
从每小时只能写 5 行,到每天产出 2000 行
起初,一切都很慢。AI 不懂上下文,搞不清依赖关系,写出来的代码反复报错。Ryan 的团队每天只能推进几行有效逻辑,效率不到人工的十分之一。
但他们没有放弃。相反,他们开始逼自己改进工具链。为了给 AI 提供清晰的“工作界面”,他们重新设计了开发环境——不是简单的代码编辑器,而是一个叫 “Harness” 的智能开发台。它能自动:
- 把大任务拆成小步骤,逐个交给 AI 处理
- 在每次修改后自动运行测试,即时反馈结果
- 把失败的代码片段标记出来,附上错误日志和上下文
三个月后,变化发生了。随着模型推理能力提升(内部测试版本已迭代至 GPT-5.4),AI 不再是“帮手”,而成了“执行者”。团队的产出速度从每天几十行,跃升至数千行。一个原本需要三周完成的模块,现在不到两天就跑通了。
构建时间必须控制在 60 秒内
在 OpenAI,有一个铁律:任何构建流程,从代码提交到测试返回,绝不能超过一分钟。
为什么?因为 AI 的“注意力”像人一样——拖得越久,越容易走神,越容易出错。如果构建要等三分钟,AI 就会开始“猜”下一步该做什么,而不是精准执行。
为了达成这个目标,团队把构建系统从 Makefile 换成 Bazel,又从 Bazel 换成 Nx,不断拆解依赖。他们甚至让 AI 自己分析构建图谱,发现哪个环节拖慢了速度,就自动把它拆成更小的子任务。
结果是惊人的:一个包含 12 个微服务的系统,每次变更都能在 47 秒内完成测试反馈。AI 能在几轮迭代中,自动找到最优路径,而不是像人一样反复试错。
代码合并后,才开始评审
传统开发流程里,代码要经过层层 Review 才能合并。但在 Symphony 项目中,这个流程被彻底颠倒了。
所有代码由 AI 生成后,直接合并进主分支。人工评审,发生在合并之后。
为什么?因为 AI 已经能写出结构清晰、测试完备的代码。人工的精力,不该浪费在检查缩进或变量命名上。
工程师的工作变成了:
- 抽查高风险模块(比如支付逻辑、安全校验)
- 记录 AI 常犯的错误模式,写成“经验文档”
- 为系统添加可观测性:日志、指标、追踪链路
“我们不再修 Bug,我们教 AI 识别 Bug。” 一位团队成员说。
他们甚至把资深工程师的“潜规则”写成文档:比如“数据库连接池不能超过 20”,“缓存失效必须用随机过期时间”。这些不再是口头传承,而是被嵌入到 AI 的上下文里,成为它决策的一部分。
“幽灵库”:没有依赖的依赖
Ryan 在文章中提出一个大胆预测:未来,我们可能不再需要 npm、PyPI、Maven 这些第三方库。
取而代之的,是“幽灵库”——你只需要写一份清晰的规格说明(Spec),AI 就能在本地自动生成一个完全适配你项目的实现。
举个例子:过去你要用一个 JSON 解析库,可能引入 50 个依赖,其中 30 个你根本用不上。现在,AI 会读你的需求:“解析一个包含嵌套对象的 JSON,支持日期格式,错误时返回结构化提示”,然后直接生成一个 80 行的纯 JS 文件,没有外部依赖,没有冗余代码。
这种“内部化”已经不是理论。OpenAI 内部,已有超过 40% 的中低复杂度第三方库被 AI 重写并内联。团队不再担心版本冲突、许可证问题,甚至不再需要更新依赖。
这背后,是算力成本的下降。当生成一段高质量代码的 Token 成本接近零,复制一个库的代价,远高于自己“重写”它。
工程师的未来:从写代码,到养系统
在 OpenAI 的 Frontier 团队,角色正在悄然转变。
你不再是那个熬夜改 Bug 的程序员,而是系统的“牧羊人”——你关心的是:
- AI 是否在重复犯同样的错误?
- 测试覆盖率有没有下降?
- 日志里有没有异常模式被忽略?
- 有没有新的需求,该交给 AI 去探索?
代码库的结构,也不再为“人读得懂”而设计,而是为“AI 理解得透”而优化。注释变少了,但接口更清晰;函数更短了,但职责更单一;测试不再是“验证功能”,而是“约束行为”。
这不是未来。这是正在发生的现实。
一位参与项目的工程师说:“我现在的 KPI,不是写了多少代码,而是 AI 多久没找我了。”
当系统能自己运行、自己修复、自己优化,人类的真正价值,不再是“执行”,而是“判断”——判断什么该交给机器,什么必须由人守住。