驾驭工程:在「智能体优先」的世界里借力 Codex
简介
原文作者 Ryan Lopopolo(OpenAI),记述了团队用 Codex(GPT-5 驱动)从零构建一款百万行代码产品的实验:0 行代码由人工编写,3 名工程师 5 个月处理 1500+ PR,效率约为手工编码的 10 倍。
人类掌舵,智能体执行。
核心经验
1. 从空仓库开始
- 最初的脚手架(仓库结构、CI、格式化、AGENTS.md)全部由 Codex 生成
- 5 个月后积累约百万行代码,3 名工程师日均处理 3.5 个 PR
- 核心信条:绝不手动写代码
2. 重新定义工程师角色
- 工程师不再是写代码,而是设计环境、明确意图、建立反馈循环
- 深度优先策略:把大目标拆为更小的积木,通过 Prompt 引导智能体构建
- 任务失败时不是"再试一次",而是反问:“缺少什么能力?如何让它对智能体可读又可执行?”
- 大部分代码评审由"智能体对智能体"互评完成
3. 提升应用的"可读性"
- 让 UI、日志、指标能被 Codex 直接"读懂"
- 每个 Git Worktree 独立启动应用实例,Codex 可驱动完整实例
- Chrome DevTools 协议接入智能体运行时 → 可重现 Bug、验证修复
- 本地可观测性栈暴露给 Codex,可用 LogQL/PromQL 查询
- 单次 Codex 运行可持续处理任务 6+ 小时(通常在人类睡觉时)
4. 上下文工程:给地图,不给说明书
- AGENTS.md 很短(约 100 行),充当目录而非百科全书
- 仓库知识库存在于结构化的
docs/目录中,作为"单一事实来源" - 渐进式披露:智能体从小的稳定入口点开始,被教导下一步去哪里看
- 机械化强制:Linter 和 CI 验证知识库是否最新、交叉链接是否正确
- “文档园丁"智能体定期扫描并修复过时文档
5. 强制架构与"品味”
- 通过强制执行不变性,而非微观管理实现细节
- 严格分层架构:Types → Config → Repo → Service → Runtime → UI
- 自定义 Linter 机械化强制约束,报错信息直接包含修复指令
- “黄金原则"编码进仓库,后台 Codex 任务定期扫描偏差并开启重构 PR
- 像垃圾回收一样:持续小额偿还技术债 > 让它利滚利
6. Bug 修复自动化流程
智能体可自主完成完整循环:重现 Bug → 录制故障视频 → 实施修复 → 验证修复 → 录制修复视频 → 开 PR → 响应反馈 → 修复构建失败 → 合并。
关键洞见
- 凡是智能体无法从运行时上下文获取的信息,对它来说就不存在
- 存在 Slack、Google Docs 或人脑中的知识 = 对智能体不可见
- 构建 AI 友好的代码库和构建新人友好的代码库本质相同
- 纪律不再体现在代码本身,更多体现在"脚手架”