工程技术:在智能体优先的世界中利用 Codex


快速阅读

在过去五个月里,OpenAI 团队开展了一项前所未有的工程实验:完全依靠 Codex(AI 智能体)编写了一款软件产品内部 Beta 版的每一行代码,而人类工程师一行代码也未写。这种“人类掌舵、智能体执行”的全新协作模式,将开发时间缩短到了手工编写的十分之一,并在短短几周内构建了百万行规模的代码库。

在这一范式下,人类工程师的核心职责发生了根本性转变。工作重心从“编写代码”转移到了“设计环境、明确意图与构建反馈回路”。团队总结出了一系列利用 AI 智能体开发软件的最佳实践,包括:将大目标拆解为深度优先的小模块;摈弃巨型指导手册,转而为智能体提供结构化的知识“地图”和版本控制计划;向智能体开放系统可观察性与测试工具;以及将架构约束和代码规范硬编码为自动化规则。这篇博客深入剖析了在智能体优先的世界中,软件开发体系的演进以及面临的全新挑战。


人类掌舵,智能体执行

在这个开创性的实验中,产品涵盖了内部日常活跃用户和外部 Alpha 测试者的需求,从交付、部署到故障与修复,它完整经历了现代软件产品的生命周期。令人惊叹的是,代码库中的应用逻辑、测试、CI 配置、文档、可观察性以及内部工具,全部由 Codex 编写。

通过这一限制(人类绝对不直接写代码),开发团队得以专注于构建将工程速度提升数个数量级的必要设施。从 2025 年 8 月下旬的首次提交开始,代码仓库从一开始就被智能体塑造:初始架构由 Codex CLI 使用 GPT-5 根据少量模板生成,甚至连指导智能体行为的初始 AGENTS.md 文件也是由 Codex 自己编写。

五个月后,该代码仓库已发展到约一百万行代码,约有 1,500 个 PR(Pull Request)被打开与合并。推动这一庞大工程的仅仅是一个由 3 到 7 名工程师组成的小团队,每人每天平均处理 3.5 个 PR。

工作重点的转移:系统、架构与杠杆

由于缺乏人工编码的实践,工程师们的工作重点转向了架构设计和发挥“杠杆作用”。

早期进展曾遇到阻力,原因并非 Codex 能力不足,而是环境规范不够明确。智能体需要工具、抽象层和内部结构来实现高级目标。因此,工程师的主要任务变为了“协助智能体完成有用的工作”。团队采用了深度优先的工作方式:

  1. 将大目标拆解为设计、代码、评审和测试等更小的构建模块。
  2. 提示智能体去构建这些模块。
  3. 利用这些模块解锁更复杂的任务。

当进展不顺时,人类工程师不再是盲目要求智能体“再努力一点”,而是介入思考:“究竟需要什么样的能力?我们又该如何让这个能力对智能体既清晰可读又可强制执行?”人类几乎完全通过提示来与系统交互,而 Codex 则直接利用标准开发工具(如 gh、本地脚本等)自主收集情境。

赋予智能体“五官”:可观察性与测试工具

为了提升智能体吞吐量,突破人类审核能力的瓶颈,团队致力于将更多功能直接暴露给 Codex。这意味着让应用的 UI、日志和系统指标对智能体直接“可读”。

  • 环境互动:应用程序可根据 Git 工作树启动,使 Codex 能为每次更改运行实例。
  • UI 认知:引入 Chrome DevTools 协议,并开发了处理 DOM 快照、截图和导航的专用技能。这让 Codex 能自主复现错误、验证修复并推理 UI 行为。
  • 日志与追踪:为 Codex 提供本地可观察性堆栈。智能体通过 LogQL 查询日志,使用 PromQL 查询指标,能够真正理解诸如“确保服务启动在 800ms 内完成”这种具体提示。

得益于这些能力,单次 Codex 运行甚至能够在单项任务上持续工作超过六个小时,彻底实现了不知疲倦地“肝代码”。

情境管理:给地图,而不是说明书

在一个极其复杂的任务中,情境管理成了最大的挑战。团队很早就发现:给 Codex 的应该是一张地图,而不是一本 1,000 页的说明书。

  • 情境稀缺:庞大的指令文件会挤占提示词空间,导致智能体忽略关键约束。
  • 指导通胀:当所有事情都被标记为“重要”时,就意味着没有重点,智能体便开始机械匹配而非有意识地导航。
  • 难以维护:百科全书式的指导文件容易变成陈旧规则的“坟场”。

因此,团队将仓库的知识库转移到了结构化的 docs/ 目录中作为记录系统。而注入到情境中的只有一份约 100 行的 AGENTS.md,它仅仅起到了“地图”的作用,指引智能体去哪里寻找更深层次的信息来源。复杂工作被转化为受版本控制的执行计划,其中包含了进度与决策日志,令智能体能独立推理前因后果。

面向智能体的代码可读性与架构约束

在完全由 AI 生成的代码库中,代码不仅要对人可读,更要对智能体“清晰易懂”。凡是无法在情境中访问的“隐性知识”(如 Slack 讨论或某人脑中的想法)对智能体而言统统不存在。一切业务领域和架构决策都必须物化为本地版本化的工件(代码、Markdown、模式定义等)。

为了保证一致性并加速开发,团队采用了强力的机器约束:

  1. 采用具备严格边界和可预测结构的架构模型。
  2. 代码只能“向前”依赖于固定的层级,并且所有横切关注点只能通过单一显式接口进入。
  3. 这些规则不仅停留于口头,而是通过 Codex 自己生成的自定义 Linter 和结构测试 机械地强制执行。

这些在传统开发中可能显得迂腐的规则,成了智能体开发的“倍增器”。一旦编码,智能体就能保证它们在各处无死角地被遵守。

对抗代码漂移:从人工清理到自动“垃圾回收”

完全自主的智能体会引入新问题——例如偶尔复现次优的代码模式,导致系统发生“漂移”。最初,团队耗费了每周 20% 的时间来人工清理这些“AI 残渣”。

显然,这不可扩展。于是团队提出了黄金原则(Golden Principles),直接将有助于保持代码库一致性的主观意见编写为机器规则。他们建立了一个循环清理流程:定期运行后台 Codex 任务扫描偏差、更新质量等级,并自动发起重构 PR。这种类似“垃圾回收”的持续微重构,防止了技术债务的利息滚雪球,也让不良代码模式被扼杀在萌芽状态。

结语

这个从零到一百万行代码的史诗级实验清楚地表明:构建软件仍然需要纪律,只不过这种纪律不再直接体现在手写代码中,而是体现在对支撑结构、系统约束和自动化环境的严谨设计上。

在智能体优先的世界里,设计良好的环境、严密的反馈回路和可靠的控制系统,将是决定我们在更大规模下构建复杂软件成败的关键。

🔗 原文链接:工程技术:在智能体优先的世界中利用 Codex