AI在线 AI在线

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

Codex已深入OpenAI各大技术团队的日常工作,包括安全、产品工程、前端、API、基础设施和性能工程等本文基于对OpenAI工程师的访谈和内部使用数据,汇编了多个用例和最佳实践,展示Codex如何帮助团队更快地行动、提高工作质量,并大规模地管理复杂性:代码理解Codex帮助我们的团队在新员工入职、调试或调查事故时,快速熟悉代码库的陌生部分。 工程师们常用Codex来定位功能的核心逻辑、梳理服务或模块间的关系,并追踪系统中的数据流。 它还能揭示架构模式或缺失的文档,而这些通常需要大量手动工作才能生成。

Codex已深入OpenAI各大技术团队的日常工作,包括安全、产品工程、前端、API、基础设施和性能工程等

本文基于对OpenAI工程师的访谈和内部使用数据,汇编了多个用例和最佳实践,展示Codex如何帮助团队更快地行动、提高工作质量,并大规模地管理复杂性

https://cdn.openai.com/pdf/6a2631dc-783e-479b-b1a4-af0cfbd38630/how-openai-uses-codex.pdf

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

7大核心用法

用法一:代码理解

Codex帮助我们的团队在新员工入职、调试或调查事故时,快速熟悉代码库的陌生部分。

工程师们常用Codex来定位功能的核心逻辑、梳理服务或模块间的关系,并追踪系统中的数据流。它还能揭示架构模式或缺失的文档,而这些通常需要大量手动工作才能生成。

在事故响应期间,Codex通过揭示组件间的交互或追踪故障状态在系统间的传播路径,帮助工程师快速进入新的代码领域

团队成员分享:

性能工程师, 检索系统:“修复一个bug时,用‘提问模式’(Ask mode)看看代码库里还有哪些地方可能出现同样的问题。”

网站可靠性工程师, API平台:“值班时,我会把堆栈跟踪粘贴进去,然后问Codex认证流程在哪里。它能直接跳转到正确的文件,让我可以快速进行分类处理。”

DevOps工程师, 基础设施服务:“对于‘我该在哪里做这件事?’这类跨Terraform和Python仓库的问题,Codex的回答比grep快得多。”

示例提示:

这个仓库中的认证逻辑是在哪里实现的?

总结一下请求是如何从入口点到响应流经这个服务的。

哪些模块与 [插入模块名] 交互,故障是如何处理的?

用法二:重构与迁移

Codex常被用于执行跨多个文件或包的变更。例如,当工程师更新API、更改模式实现方式或迁移到新的依赖项时,Codex可以轻松地保证变更的一致性。

当同一更新需要在数十个文件中进行,或者更新需要感知那些无法用正则表达式或查找替换轻松捕捉的结构和依赖关系时,它尤其有用。

工程师们也用它来进行代码清理,比如将过大的模块拆分成小块、用现代模式替换旧模式,或为更好的可测试性准备代码。

团队成员分享:

后端工程师, ChatGPT Web:“Codex把所有旧的getUserById()调用都换成了我们新的服务模式,然后打开了PR。这在几分钟内就完成了,而手动做的话需要几个小时。”

产品工程师, ChatGPT Enterprise:“为了清除上线阻碍,我让Codex扫描旧模式的每一个实例,用Markdown总结其影响,然后直接用修复方案打开PRs。”

示例提示:

按功能将此文件拆分为独立的模块,并为每个模块生成测试。

将所有基于回调的数据库访问转换为async/await模式。

用法三:性能优化

Codex被用于识别和解决性能瓶颈。

在性能调优或可靠性工作中,工程师会提示Codex分析缓慢或内存密集型的代码路径,如低效循环、冗余操作或高成本查询,并建议优化方案,这通常会带来显著的效率和可靠性提升

Codex还通过识别仍在使用的高风险或已弃用的模式来支持代码健康。团队依靠它来帮助减少长期技术债务并主动预防回归。

团队成员分享:

基础设施工程师, API可靠性:“我用Codex扫描重复的高成本数据库调用。它非常擅长标记热点路径和起草批处理查询,我稍后可以对其进行微调。”

平台工程师, 模型服务:“Codex非常适合快速发现性能问题——我花5分钟写一个prompt,就能节省30分钟的工作量。”

示例提示:

优化此循环以提高内存效率,并解释为什么你的版本更快

在此请求处理程序中找到重复的高成本操作,并建议缓存机会

建议一种更快的方式来批量处理此函数中的数据库查询。

用法四:提升测试覆盖率

Codex帮助工程师更快地编写测试,尤其是在覆盖率很低或完全缺失的地方

在修复bug或进行重构时,工程师经常要求Codex建议能够覆盖边缘案例或潜在失败路径的测试。对于新代码,它可以根据函数签名和周围逻辑生成单元测试或集成测试

Codex在识别边界条件方面特别有用,例如空输入、最大长度或不寻常但有效的状态,这些在初步测试中常常被忽略。

团队成员分享:

前端工程师, ChatGPT Desktop:“我让Codex在夜间处理低覆盖率的模块,早上醒来就能看到可运行的单元测试PRs。”

后端工程师, 支付与账单:“在单一代码库(mono-repo)里切换分支很痛苦,所以我让Codex编写测试并启动CI,而我则继续在我的分支上工作。”

示例提示:

为此函数编写单元测试,包括边缘案例和失败路径

为此排序工具生成一个基于属性的测试

扩展此测试文件,以覆盖关于null输入和无效状态的缺失场景。

用法五:提升开发速度

Codex通过加速开发周期的开始和结束阶段,帮助团队更快地行动。

在启动新功能时,工程师用它来搭建样板代码——生成文件夹、模块和API存根,从而快速获得可运行的代码,无需手动连接每个部分。

当项目接近发布时,Codex通过处理一些虽小但必不可少的任务来帮助满足紧张的截止日期,例如分类bug、填补最后的实现空白,以及生成部署脚本、遥测钩子或配置文件。

它也被用来将产品反馈转化为初始代码。工程师经常粘贴用户请求或规格说明,让Codex生成一个可以后续返回并完善的草稿。

团队成员分享:

产品工程师, ChatGPT Enterprise:“我开了一整天的会,但仍然合并了4个PRs,因为Codex在后台帮我工作。”

全栈工程师, 内部工具:“Codex完美地帮助我们交付了3-4个低优先级的修复,这些修复本来可能会在待办事项列表中被搁置,这感觉非常有赋能感。”

示例提示:

为 POST /events 搭建一个新的API路由,包含基本的验证和日志记录

为跟踪新用户引导流程的成功/失败生成一个遥测钩子,使用这个模板 [插入你的遥测代码示例]

基于此规格说明创建一个存根实现:[插入规格说明或产品反馈]

用法六:保持心流

当工程师的日程被碎片化和中断填满时,Codex帮助他们保持生产力。

它被用来捕捉未完成的工作、将笔记转化为可工作的原型,或分拆出可供日后回顾的探索性任务。这使得暂停和恢复工作变得更加容易,而不会丢失上下文,尤其是在他们需要值班或会议繁多的时候。

团队成员分享:

后端工程师, ChatGPT API:“如果我发现一个可以顺手修复的问题,我会创建一个Codex任务,而不是切换分支。等我有空时再审查它的PR。”

API工程师, 基础设施可观测性:“我习惯性地将Slack话题、Datadog追踪、问题单等转发给Codex,这样我就可以专注于高优先级的工作。”

示例提示:

生成一个重构此服务的计划,并将其拆分为更小的模块

为重试逻辑创建存根,并添加一个TODO——我稍后会填写退避逻辑

总结这个文件,这样我明天就知道该从哪里继续了

用法七:探索与构思

Codex对于开放式工作也很有用,比如寻找替代解决方案或验证设计决策。你可以提示它提供解决问题的不同方法、探索不熟悉的模式,或对假设进行压力测试。这有助于揭示权衡、扩展设计选项,并使实现选择更加清晰

它还被用来识别相关的bug。给定一个已知问题或已弃用的方法,Codex可以在代码中识别其他地方的类似模式,从而更容易地捕获回归或完成清理工作

团队成员分享:

产品工程师, ChatGPT Desktop:“Codex帮助我解决了冷启动问题——我粘贴一个规格说明和一些文档,它就能搭建出代码框架或指出我遗漏了什么。”

性能工程师, 检索系统:“修复一个bug后,我会问Codex类似的问题可能潜伏在哪里,然后创建后续任务。”

示例提示:

如果系统是事件驱动而不是请求/响应模式,这个功能会如何工作?

找出所有手动构建SQL字符串而不是使用我们查询构建器的模块

用更函数式的风格重写此代码,避免突变和副作用

最佳实践

当获得结构、上下文和迭代空间时,Codex的效果最好。以下是OpenAI团队为在日常工作中持续获得价值而培养的一些习惯

1.从“提问模式”开始 (Start with Ask Mode)

对于大型变更,先提示Codex生成一个实现计划(使用Ask模式),这个计划随后会成为你切换到Code模式时后续提示的输入。这种两步流程能让Codex的输出更有根据,并有助于避免错误。Codex最适合处理那些需要你或团队成员花费大约一小时或几百行代码来完成的、范围明确的任务。随着模型的改进,它能承担的任务规模有望增加

2.迭代式改进Codex的开发环境

设置启动脚本、环境变量和网络访问能显著降低Codex的错误率。在运行任务时,注意那些可以在Codex环境配置中纠正的构建错误。这可能需要几次迭代,但从长远来看会带来显著的效率提升

3.像写Github Issue一样构建你的提示

当提示模仿你描述PR或Issue的方式时,Codex的响应会更好。这意味着在相关时要包含文件路径、组件名称、diffs和文档片段。使用像“用[模块X]中的同样方式实现这个”这样的模式可以改善结果

4.将Codex任务队列用作轻量级待办事项列表

分派任务来捕捉切题的想法、部分完成的工作或偶然发现的修复。没有必要一次性生成一个完整的PR。Codex可以作为一个暂存区,当你重新集中注意力时可以随时返回。

5.使用 AGENTS.md 提供持久上下文

维护一个AGENTS.md文件,以帮助Codex在你的仓库中跨多个提示更有效地操作。这些文件通常包含命名约定、业务逻辑、已知的怪癖,或Codex无法仅从代码中推断出的依赖关系

6.利用“N选最佳” (Best of N) 提升输出质量

“N选最佳”功能允许你为单个任务同时生成多个响应,以便快速探索多种解决方案并选择最佳方案。对于更复杂的任务,你可以审查多个迭代版本,并结合不同响应的部分来获得更强的结果

source:

https://cdn.openai.com/pdf/6a2631dc-783e-479b-b1a4-af0cfbd38630/how-openai-uses-codex.pdf

相关资讯

OpenAI发布代码Agent:开启自动化编程时代,超强智能体!

OpenAI在官网发布了一个全新基于云端的代码Agent——Codex。 Codex可以为开发人员自动执行多种任务,例如,编写功能代码、回答有关代码库的问题、修复错误以及提出拉取请求审查等;每个任务都在自己的云端沙盒环境中运行,同时能预加载用户的代码库。 据悉,Codex由Codex-1模型提供支持,这是OpenAI-o3的一个微调版本,专门针对软件工程进行了优化。
5/19/2025 9:10:00 AM

刚刚,OpenAI首个智能体提前曝光!高级编码AI剑指400万年薪L6级工程师

AGI或许就在本周? 刚刚外媒爆料称,OpenAI暗藏的首个智能体项目「Operator」即将发布。 网友发现Operator已登陆ChatGPT,不过可能Pro用户最先用上这款AI智能体将与ChatGPT深度集成,直接可以接管你的屏幕,自动化完成任务。
1/24/2025 9:00:00 AM
新智元

比尔盖茨自述曾是熊孩子:16岁徒步数百英里,边走脑中边写BASIC代码

步入70岁之际,比尔·盖茨终于出版了自己人生中的首部自传《源代码》。 不同于以往的商业发展视角,无关对微软成就的宏大叙事,在这本书里,比尔·盖茨自己的成长历程和创业故事一一铺陈开:生在一个优秀的家庭,撞上历史性技术变革与乐观情绪弥漫的时代,自己在个人电脑革命方兴未艾之时步入成年……过去十几年,比尔·盖茨一直站在技术发展的潮头浪尖,他关于科技、计算机、AI的每一次预测和思考都引人注目。 今年1月13日,他在阿联酋的阿布扎比CNN学院,分享了自己关于AI基数的最新洞见。
2/14/2025 9:05:00 AM
量子位

比尔盖茨自述:中学时期就开始偷偷996写代码

57年前的西雅图冬夜,一个瘦削少年翻出卧室窗户,奔向名为“C的立方”的计算机实验室。 比尔·盖茨不会想到,这段在寒夜中追逐代码的岁月,正悄然叩响数字时代的大门。 当湖滨中学的编程少年们以无偿劳动换取珍贵的上机时间时,一场改变人类文明进程的变革已在晶体管与二进制中孕育——在这个数字时代的黎明,一群年轻的先驱者站在了浪潮之巅,他们以智慧和勇气,开辟了一个全新的领域:个人计算机软件。
2/21/2025 9:10:00 AM
量子位

AI 编码 2.0 分析、思考与探索实践:从 Cursor Composer 到 AutoDev Sketch

在周末的公司【AI4SE 效能革命与实践:软件研发的未来已来】直播里,我分享了《AI编码工具 2.0 从 Cursor 到 AutoDev Composer》主题演讲,分享了 AI 编码工具 2.0 的核心、我们的思考、以及我们的 AI 编码工具 2.0 探索实践。 在这篇文章中,我将分享这次演讲的内容,希望能够给大家带来一些启发。 一、AI 编程工具 2.0 (趋势分析)我们分析了市面上最受欢迎的 AI 编程工具,如 Cursor、GitHub Copilot Edit、WindSurf、Cline 等,简单总结一下新一代 AI 编程工具的特点:图片AI 编程工具正在从代码补全、代码预测,到更加智能、更耗费 token 的 AI 自动化编码与验证,以及正在发展中的异步 AI 编码。
2/27/2025 1:00:00 AM
Phodal

AI席卷校园:百万条对话揭秘,Claude是代码救星还是作弊工具?

如今,AI不再只是专业的研究工具,它已成为大学生日常学习的好帮手。 随着AI越来越深入地融入教育环境,需要思考一系列关于学习、评估和技能培养的重要问题。 目前,大多数相关讨论都基于调查和对照实验,却缺乏学生在真实学习场景中自然融入AI的直接证据。
4/14/2025 9:22:00 AM
新智元

老黄唱衰编程,GitHub CEO硬刚:放弃写代码等于放弃智能体未来话语权

在最新的媒体采访中,GitHub CEO托马斯·多姆克正面battle最近甚嚣尘上的“编程无用论”。 在他的构想中,2025年是属于编程智能体的一年,但未来仍然属于全体人类程序员。 网友们纷纷表示:终于!
5/20/2025 1:57:42 PM

57.6万代码撕碎AI编程神话,20%「幽灵包」暗藏漏洞!苹果、微软已中招

最近,扎克伯格表示,Meta正在内部开发专门用于编程和AI研究的智能体——这些并不是通用型工具,而是为提升 Meta自家AI项目(如 LLaMA)量身定制的专用智能体。 他预测,在未来的12到18个月内,Meta用于AI开发的大部分代码将不再由人类编写,而是由AI智能体生成。 微软首席技术官Kevin Scott的预测更长远,但更大胆。
5/22/2025 9:13:47 AM

AI已学会改自己代码,性能提升100%,还会「改绩效」!程序员,还不慌?

编程智能体杀疯了! 不仅能协助写代码,如今编程智能体甚至能实现自我「进化」! 最近,Transformer作者初创Sakana AI和加拿大UBC的Jeff Clune实验室合作,推出了自我改进的智能体——「达尔文-哥德尔机」(Darwin Gödel Machine,简称DGM)。
6/3/2025 9:10:00 AM

最惨就业季!CS学霸GPA 3.98,投2500份简历仅10次面试,AI吞噬入门级岗位

每一个计算机专业的学生,都梦想着自己编写的代码,能够改变世界。 退而求其次,至少,也会有一份高薪和光明前程等着自己。 没想到世界被AI改了,还顺便带走了你的实习机会。
8/18/2025 9:09:00 AM

马斯克的好兄弟,卡帕西又双叒出新指南!GPT-5 Pro是AI编程最后防线

马斯克的好兄弟,我们的好朋友,大神Andrej Karpathy最新「AI编程指南」已出! 在目前模型能力已经达到博士级的情况下,如何能够最大化AI对编程的帮助? 当AI能够「低成本生成代码」,你只需要vibe coding的情况,一个新问题来了:现在是会写代码更重要?
8/25/2025 2:02:08 PM

Nature盘点:从Fortran、arXiv到AlexNet,这些代码改变了科学界

从 Fortran 编译器到 arXiv 预印本库、AlexNet,这些计算机代码和平台改变了科学界。2019 年,「事件视界望远镜」团队拍下了第一张黑洞照片。这张照片并非传统意义上的照片,而是计算得来的——将美国、墨西哥、智利、西班牙和南极多台射电望远镜捕捉到的数据进行数学转换。该团队公开了所用代码,使科学社区可以看到,并基于此做进一步的探索。而这逐渐成为一种普遍模式。从天文学到动物学,每一个伟大的现代科学发现背后都有计算机的身影。斯坦福大学计算生物学家、2013 年诺贝尔化学奖获得主 Michael Levit
1/21/2021 2:16:00 PM
机器之心

可用 AI 写 Java 程序,甲骨文推出 Oracle Code Assist 编程助理

继微软、OpenAI、谷歌等厂商后,甲骨文加入了开发 AI 编程助理的阵营,该公司最近推出了名为 Oracle Code Assist 的工具,旨在帮助用户开发 Java 程序。据介绍,Oracle Code Assist 以甲骨文的云端 Oracle Cloud Infrastructure(OCI)模型为基础,旨在优化 Java、SQL 程序和 OCI 平台上的应用开发流程。甲骨文强调,相关 AI 编程助理“经过多种软件库的训练”,并通过其自家的软件微调而成,用户可以使用相关模型配合甲骨文软件实现“高效编程”。
5/13/2024 9:34:39 AM
漾仔

内置10000+Github 热门代码库,百度正式发布Comate代码知识增强2.0

5月18日,iTechClub华北区第七届互联网技术精英高峰论坛举行,百度工程效能部总监臧志带来“迈向人机协同的AI原生研发新范式”主题演讲。他重磅发布了百度智能代码助手Comate最新成果——Comate代码知识增强2.0,这是国内首个支持实时检索的智能代码助手,内置超过10000个Github 热门代码库,这为全球开发者带来了前所未有的编程体验。作为本次大会的亮点之一,Comate代码知识增强2.0受到与会者极大关注。智能代码助手Comate是基于百度文心大模型打造的一款代码智能补全和推荐工具。它通过深度学习和
5/22/2024 11:02:00 AM
新闻助手

Cursor创始团队最新访谈:如果Github整合o1,Cursor可能要倒闭了

机器之心报道,编辑:佳琪、蛋酱。
10/7/2024 8:56:00 PM
机器之心

最真实大模型编程评估!字节开源FullStack Bench,首次全覆盖超11类现实编程场景

代码大模型越来越卷,评估AI编程水平的“考卷”也被迫升级。 12月5日,字节豆包大模型团队开源最新代码大模型评估基准FullStack Bench,在业界首次囊括编程全栈技术中超11类真实场景,覆盖16种编程语言,包含3374个问题,相比此前基准,可以更有效地评估大模型在现实世界中的代码开发能力。 代码评估基准是衡量大模型编程能力的标准工具,也是推动模型优化的关键驱动力。
12/5/2024 3:46:00 PM
新闻助手

返老还童,OpenAI做到了?首个逆龄AI将登场,人类寿命可延长10年

超级智能要来了? 人类「长生不老」有希望了? 外媒称,OpenAI开发出了首款用于「长寿」的AI模型 ——GPT-4b micro,预计将人类寿命延长10年。
1/20/2025 9:13:00 AM
新智元

OpenAI掀「百万美金」编程大战!Claude 3.5 Sonnet狂赚40万拿下第一

昨天马斯克刚刚发布了号称「地表最聪明」的Grok 3模型,抢走了所有关注。 这边OpenAI就开始坐不住了,立刻扔出了SWE-Lancer(AI编码测试基准),看一下AI到底能在现实任务中挣到多少钱。 SWE-Lance是一个全新的、更贴近现实的基准测试,用于评估AI模型的编码性能。
2/19/2025 4:01:37 PM
新智元
  • 1