OpenAI 最近发了一篇内部文档,讲他们自家工程师是怎么用 Codex 的。不是那种"AI 能写代码了"的泛泛宣传,而是实打实的 7 个场景 + 6 条最佳实践,全是工程师日常会碰到的活儿。
我看完觉得挺有料,整理了一下,分享给大家。

链接:https://pan.quark.cn/s/4f975299ad7d提取码:5ZHN
01 代码理解:新库、老项目、故障排查
OpenAI 工程师用 Codex 最多的场景不是写代码,而是读代码。
新人入职要熟悉系统、on-call 半夜被叫醒查故障、排查一个跨服务的 bug——这些时候最痛苦的不是修,而是找。Codex 的 Ask 模式可以直接问:"认证逻辑在哪个文件?""这个模块挂了会影响谁?""请求从入口到数据库经过了哪些层?"
有个 SRE 说得很实在:值班时把堆栈贴进去,Codex 直接跳到相关文件,比自己翻目录快得多。
你可以这样用:
• 粘贴报错堆栈,问"这个异常是从哪个服务抛出来的" • 问"哪个模块和 X 模块有交互,失败时怎么处理的" • 让 Codex 画一张数据流图,或者口述请求链路
02 重构和迁移:跨文件修改的体力活
改 API、换设计模式、迁移依赖——这类活往往要动几十个文件,靠正则很容易漏。Codex 能一次性扫全库,把旧模式全换成新的,还能顺手开 PR。
OpenAI 一个后端工程师的例子:把 getUserById() 这种 legacy 调用全部迁移到新的 service pattern,Codex 几分钟搞定,人工做要几个小时。
你可以这样用:
• "把回调式数据库访问全改成 async/await" • "按职责把这个 2000 行的文件拆成几个模块,并给每个补测试" • "扫描全库旧模式,生成影响面摘要,再开 PR"
03 性能优化:找慢查询和重复调用
Codex 会扫代码里的性能陷阱:重复的数据库调用、内存效率低的循环、该加缓存没加的地方。
一个基础设施工程师的原话:Codex 很擅长标出 hot path,还能草拟 batch query 的写法,他再微调就能用。另一个平台工程师说,花 5 分钟问 Codex,省了 30 分钟人工审计。
你可以这样用:
• "优化这个循环的内存效率,并解释为什么你的版本更好" • "找出这个请求处理里重复的高开销操作,建议缓存策略" • "这个接口调了多次 DB,帮我改成 batch 查询"
04 补测试:尤其是边界情况
写测试最烦的不是主路径,是边界条件:空输入、超长字符串、异常状态。Codex 能根据函数签名和上下文生成单元测试,还能指出你漏掉的场景。
OpenAI 前端工程师的做法:睡前把低覆盖率模块丢给 Codex,睡醒就有能跑的测试了。
你可以这样用:
• "给这个函数写单元测试,包含边界情况和失败路径" • "扩展这个测试文件,补全 null 输入和非法状态的用例" • "基于这个排序函数生成 property-based 测试"
05 加速开发:从脚手架到收尾
开新功能时,Codex 能搭脚手架——目录、模块、API stub,让你不用从零配线。快上线时,它能填那些"重要但琐碎"的坑:修 backlog 里的低优先级 bug、补监控埋点、生成发布脚本。
一个产品工程师说:白天开会没写几行代码,但 Codex 在后台跑了 4 个 PR,晚上直接合并。
你可以这样用:
• "给 POST /events 搭个带基础校验的 API 路由" • "按这个需求文档生成一个草稿实现" • "基于模板写一个 onboarding 流程的成功/失败监控 hook"
06 保持心流:碎片时间和顺手修
工程师最恨的是上下文切换。Codex 的任务队列相当于一个轻量级 backlog:看到顺手能修的 bug,丢个任务给 Codex,不用切分支;开会前把半成品丢进去,回来接着干。
你可以这样用:
• "把重试逻辑的 stub 写了,TODO 留给我补退避策略" • "总结这个文件,我下次从这里继续" • "生成一个重构计划,把这个服务拆小"
07 探索构思:验证想法、找同类 bug
Codex 也做"脑力活":给一个 spec 和文档,它能搭出草稿帮你判断可行性;修完一个 bug 后,可以问"全库还有哪里用了类似的烂模式",防止复发。
你可以这样用:
• "如果这套系统从请求/响应改成事件驱动,会怎么变?" • "找出所有手动拼 SQL 字符串的地方,改成用 query builder" • "用函数式风格重写这段,避免副作用"
6 条最佳实践(直接抄作业)
OpenAI 工程师总结了几条让 Codex 更稳的习惯:
1. 先用 Ask 模式做计划
大改动别直接让 Codex 写代码。先在 Ask 模式要一份实现计划,确认思路对了再切 Code 模式执行。两步走,出错率低很多。
2. 把 prompt 当成 GitHub Issue 写
越像 PR 描述,Codex 表现越好。带上文件路径、组件名、代码片段、diff,甚至写"像 X 模块那样实现"。
3. 配好开发环境
给 Codex 设好启动脚本、环境变量、网络权限。第一次跑通可能要调几次,但后面省大量返工。
4. 用任务队列当 backlog
不用追求一次出完美 PR。把想法、半成品、顺手修的东西都丢进队列,有空再审。
5. 维护 AGENTS.md
在仓库里放一份 AGENTS.md,写清楚命名规范、业务逻辑、已知坑、依赖关系。Codex 跨任务也能记住上下文。
6. Best of N 选最优解
复杂任务让 Codex 同时生成多个方案,挑最好的,或者把 A 的结构 + B 的细节拼在一起。
原文档:OpenAI — How OpenAI uses Codex下载链接:https://pan.quark.cn/s/4f975299ad7d(提取码:5ZHN)
夜雨聆风