OpenAI 如何利用 Codex 加速工程开发

OpenAI 每天在安全、产品工程、前端、API、基础设施和性能工程团队中使用 Codex,以加速从系统理解和代码库重构到功能部署和事件解决等工程任务。

加速代码理解与入职上手

Codex 使工程师能够在入职、调试或事件响应期间快速导航代码库中不熟悉的部分。它用于定位核心功能逻辑,映射服务与模块之间的关系,并追踪系统中的数据流。在活跃事件期间,Codex 帮助工程师识别组件之间的交互,并追踪故障状态的传播方式。

“当我修复一个 bug 时,我会使用 Ask 模式查看代码库中其他地方是否可能出现相同的问题”

— 检索系统性能工程师

简化重构与迁移

Codex 用于跨多个文件或包应用一致的更改,尤其是在更新超出正则表达式或查找替换能力时。这包括更新 API、迁移依赖项,以及通过拆分过大的模块或用现代模式替换遗留模式来清理代码。

“Codex 将每个遗留的 getUserById( ) 替换为我们的新服务模式,并打开了 PR。它几分钟内完成了原本需要数小时的工作。”

— ChatGPT Web 后端工程师

性能优化与技术债务减少

Codex 通过分析缓慢或内存密集的代码路径(如低效循环和高成本查询)来识别性能瓶颈。它还通过标记风险或弃用的模式来支持整体代码健康,以减少长期技术债务并防止回归。

“我使用 Codex 扫描重复的高成本数据库调用。它非常擅长标记热点路径,并起草我可以稍后调整的批量查询。”

— API 可靠性基础设施工程师

提高测试覆盖率与可靠性

Codex 加速了测试的创建,特别是对于覆盖薄弱或缺失的模块。它基于函数签名和周围逻辑生成单元测试和集成测试,特别关注识别边界条件,如空输入、最大长度和异常有效状态。

“我晚上让 Codex 处理低覆盖率的模块,醒来就能看到可运行的单元测试 PR。”

— ChatGPT 桌面前端工程师

提高开发速度与流畅度

Codex 减少了开发周期开始和结束时的摩擦。它用于搭建样板代码(文件夹、模块、API 存根)、分类 bug、生成发布脚本和创建遥测钩子。此外,工程师使用 Codex 将产品反馈或规格直接转化为起始代码。

为了在碎片化的日程中保持生产力,工程师使用 Codex 捕获未完成的工作或展开探索性任务,使他们能够在不丢失上下文的情况下恢复工作。

“我整天都在开会,但仍然合并了 4 个 PR,因为 Codex 在后台工作。”

— ChatGPT 企业版产品工程师

探索与构思

Codex 用于开放式设计工作,例如验证设计决策、探索替代实现模式(例如,从请求/响应切换到事件驱动),以及通过搜索代码库中的相似模式来识别相关 bug。

Codex 的工程最佳实践

OpenAI 团队使用几种特定习惯来最大化 Codex 的价值:

  • 两步工作流:首先使用“Ask 模式”生成实现计划,然后切换到“Code 模式”执行。这使模型保持接地并减少错误。
  • 环境优化:迭代改进启动脚本、环境变量和互联网访问,以降低错误率。
  • 基于问题的提示:像 GitHub Issue 一样结构化提示,包括文件路径、组件名称、差异和文档片段。
  • 任务队列作为待办事项:使用 Codex 任务队列捕获附带的想法或偶然的修复,而无需立即完成完整的 PR。
  • 通过 AGENTS.md 保持持久上下文:维护 AGENTS.md 文件,为 Codex 提供无法从代码中推断的命名约定、业务逻辑和依赖项。
  • 最佳 N 个:为单个任务生成多个响应,以探索各种解决方案或组合不同迭代的部分以获得更强结果。

SUMMARY: OpenAI 在多个技术团队中使用 Codex,以加速代码理解、重构、性能优化和开发速度。

TITLE: OpenAI 如何利用 Codex 加速工程开发

Sources