大数跨境
0
0

OpenAI官方揭秘:我们这样用Codex写代码「7大核心用法、6条最佳实践首次公开」

OpenAI官方揭秘:我们这样用Codex写代码「7大核心用法、6条最佳实践首次公开」 AI寒武纪
2025-09-20
19


Codex已深度融入OpenAI多个技术团队的日常开发流程,涵盖安全、产品工程、前端、API、基础设施及性能工程等领域。

本文基于对OpenAI工程师的访谈与内部使用数据,整理出Codex在实际工作中的典型应用场景与最佳实践,展现其如何提升开发效率、保障代码质量,并有效应对大规模系统的复杂性挑战。


7大核心用法

用法一:代码理解

Codex帮助工程师快速掌握不熟悉的代码库,广泛应用于新员工入职、调试和事故排查等场景。

通过分析功能逻辑、梳理模块依赖关系和追踪数据流,Codex能揭示系统架构模式或补充缺失文档,显著减少手动调研时间。

在事故响应中,它可快速定位组件交互路径和故障传播链路,助力工程师迅速切入问题核心。

性能工程师, 检索系统:
“修复bug时,用‘提问模式’查找代码库中是否存在同类问题。”

网站可靠性工程师, API平台:
“值班时粘贴堆栈跟踪,询问认证流程位置,Codex能直接定位到目标文件,加快分类处理。”

DevOps工程师, 基础设施服务:
“面对跨Terraform和Python仓库的操作问题,Codex比grep更高效地给出答案。”

示例提示:

  • 这个仓库中的认证逻辑是在哪里实现的?
  • 总结请求从入口点到响应的全流程。
  • 哪些模块与 [插入模块名] 交互,故障如何处理?

用法二:重构与迁移

Codex擅长执行涉及多文件或包的大规模变更,如API更新、模式调整或依赖升级,确保修改一致性。

尤其适用于需识别复杂结构依赖、无法通过正则表达式完成的批量替换任务。

也常用于代码清理,例如拆分大模块、替换过时编码模式或提升可测试性。

后端工程师, ChatGPT Web:
“Codex将所有旧的getUserById()调用替换为新服务模式并提交PR,几分钟内完成原本需数小时的手动工作。”

产品工程师, ChatGPT Enterprise:
“让Codex扫描旧模式实例,生成影响摘要并自动提交修复PR,加速上线进程。”

示例提示:

  • 按功能将此文件拆分为独立模块,并为每个模块生成测试。
  • 将所有基于回调的数据库访问转换为async/await模式。

用法三:性能优化

Codex被用于识别性能瓶颈,如低效循环、冗余操作或高成本查询,并提出优化建议,显著提升系统效率与稳定性。

同时支持代码健康维护,识别仍在使用的高风险或已弃用模式,助力降低技术债务、预防回归问题。

基础设施工程师, API可靠性:
“用Codex扫描重复的高成本数据库调用,它能准确标记热点路径并草拟批处理方案供我微调。”

平台工程师, 模型服务:
“Codex能快速发现性能问题,写一个prompt节省约30分钟人工排查时间。”

示例提示:

  • 优化此循环以提高内存效率,并解释为何更快。
  • 在此请求处理程序中找出重复的高成本操作,建议缓存策略。
  • 提出更高效的批量处理数据库查询方法。

用法四:提升测试覆盖率

Codex协助工程师快速编写测试,特别适用于覆盖率低或无测试的模块。

在修复bug或重构过程中,常用于生成覆盖边缘情况和失败路径的测试用例;对于新代码,则根据函数签名和上下文生成单元或集成测试。

在识别空输入、最大长度、异常状态等边界条件方面表现突出。

前端工程师, ChatGPT Desktop:
“夜间交由Codex处理低覆盖率模块,次日即可收到可运行的测试PR。”

后端工程师, 支付与账单:
“在mono-repo中切换分支耗时,我让Codex编写测试并启动CI,自己继续当前开发。”

示例提示:

  • 为此函数编写单元测试,包含边缘案例和失败路径。
  • 为此排序工具生成基于属性的测试。
  • 扩展测试文件,覆盖null输入和无效状态场景。

用法五:提升开发速度

Codex加速开发周期的起始与收尾阶段。

在项目启动时,用于生成样板代码,包括目录结构、模块定义和API存根,快速搭建可运行框架。

临近发布时,承担部署脚本、遥测钩子、配置文件生成等琐碎但关键任务,帮助团队按时交付。

还可将用户反馈或产品需求转化为初步实现草案,便于后续完善。

产品工程师, ChatGPT Enterprise:
“开了一整天会,仍合并了4个PR,因为Codex在后台完成了部分开发。”

全栈工程师, 内部工具:
“Codex高效完成多个低优先级修复,避免它们长期滞留待办列表。”

示例提示:

  • POST /events搭建新API路由,含基础验证与日志记录。
  • 基于模板生成跟踪新用户引导流程的遥测钩子。
  • 根据规格说明创建存根实现:[插入说明]

用法六:保持心流

面对频繁中断的工作节奏,Codex帮助工程师维持专注与上下文连续性。

可用于记录未完成任务、将笔记转为原型,或分拆探索性工作以便后续跟进,使暂停与恢复更加顺畅。

后端工程师, ChatGPT API:
“发现可顺手修复的问题时,创建Codex任务而非切换分支,空闲时再审查PR。”

API工程师, 基础设施可观测性:
“习惯性地将Slack讨论、Datadog追踪、问题单转发给Codex,释放精力聚焦高优事项。”

示例提示:

  • 生成重构此服务的计划,并拆分为小模块。
  • 为重试逻辑创建存根,添加TODO备注后续补全退避策略。
  • 总结当前文件内容,便于明日续接工作。

用法七:探索与构思

Codex支持开放式技术探索,如评估替代方案、验证设计决策或压力测试假设。

可提供多种实现思路,揭示权衡点,拓展设计选项,辅助做出更清晰的技术选择。

也可用于识别潜在缺陷,例如在发现某类问题后,扫描代码库中类似模式,防止回归或推动全面清理。

产品工程师, ChatGPT Desktop:
“Codex解决冷启动难题——粘贴需求文档后,它能搭建代码框架或指出遗漏点。”

性能工程师, 检索系统:
“修复bug后询问类似问题可能潜伏的位置,Codex帮助建立后续任务清单。”

示例提示:

  • 若系统采用事件驱动而非请求/响应模式,该功能如何运作?
  • 找出所有手动拼接SQL字符串而非使用查询构建器的模块。
  • 用函数式风格重写此代码,避免状态突变和副作用。

最佳实践

为持续发挥Codex价值,OpenAI团队总结出以下高效使用习惯:

1. 从“提问模式”开始
针对大型变更,先使用Ask模式生成实现计划,作为后续Code模式的输入。该两步法提升输出准确性,适合处理耗时约一小时或数百行代码的任务。

2. 迭代优化开发环境
配置启动脚本、环境变量和网络权限可大幅降低错误率。持续优化Codex运行环境,长期可显著提升执行成功率。

3. 像写GitHub Issue一样构建提示
提示应包含文件路径、组件名、diff片段或文档引用,模仿PR描述方式。使用“参照[模块X]方式实现”等表述可增强结果相关性。

4. 将Codex任务队列作为轻量级待办列表
随时分派任务记录零散想法、部分进展或偶然发现的修复点,无需一次性产出完整PR,支持异步协作。

5. 使用AGENTS.md提供持久上下文
维护AGENTS.md文件,记录命名规范、业务规则、已知异常或隐式依赖,帮助Codex跨会话更精准操作。

6. 利用“N选最佳”提升输出质量
启用“Best of N”功能并行生成多个响应,便于比较不同方案并选取最优解。复杂任务可融合多个版本优点,获得更强结果。

【声明】内容源于网络
0
0
AI寒武纪
1234
内容 509
粉丝 0
AI寒武纪 1234
总阅读3.5k
粉丝0
内容509