Phase 5 · 编码 Agent 实战

Codex 简介 | OpenAI

OpenAI·2026/7/21·7 阅读

Codex 简介 | OpenAI

来源: https://openai.com/index/introducing-codex/ 抓取时间: 2026-07-21 16:20:37


2025年5月16日 发布产品

Codex 简介

一个基于云的软件工程 Agent,可以并行处理许多任务,由 codex-1 提供支持。现已对 ChatGPT Pro、Business 和 Enterprise 用户可用,Plus 用户即将可用。 尝试 Codex(在新窗口中打开) 仪表板询问"我们接下来应该编写什么代码?",带有提示框、存储库/分支选择器和任务列表,背景是柔和的代码主题背景。 加载中… Codex 如何工作

  • Codex 如何工作

  • 构建安全可靠的 Agent

  • 对齐人类偏好

    • 防止滥用
    • 安全执行
  • 早期用例

  • Codex CLI 更新

  • Codex 可用性、定价和限制

  • 下一步计划

  • 直播回放

  • 附录

  • Codex 如何工作

  • 构建安全可靠的 Agent

  • 对齐人类偏好

    • 防止滥用
    • 安全执行
  • 早期用例

  • Codex CLI 更新

  • Codex 可用性、定价和限制

  • 下一步计划

  • 直播回放

  • 附录

** 2025年6月3日更新:**Codex 现已对 ChatGPT Plus 用户可用。我们还允许用户在任务执行期间为 Codex 提供互联网访问。请参阅 更新日志 ⁠(在新窗口中打开)文档 ⁠(在新窗口中打开) 了解更多详情。


今天我们推出 Codex 研究预览:一个基于云的软件工程 Agent,可以并行处理许多任务。Codex 可以为您执行任务,如编写功能、回答有关代码库的问题、修复错误和提出拉取请求供审查;每个任务在其自己的云沙箱环境中运行,预加载了您的存储库。 Codex 由 codex-1 提供支持,codex-1 是 OpenAI o3 的一个版本,专门针对软件工程进行了优化。它使用强化学习在各种环境中的真实编码任务上进行训练,以生成与人类风格和 PR 偏好高度相似的代码,精确遵循指令,并可以迭代运行测试,直到获得通过结果。我们今天开始向 ChatGPT Pro、Enterprise 和 Business 用户推出 Codex,很快将支持 Plus 和 Edu 用户。

Codex 如何工作

今天,您可以通过 ChatGPT 中的侧边栏访问 Codex,并通过输入提示并点击 "Code" 来分配新的编码任务。如果您想向 Codex 询问有关代码库的问题,请点击 "Ask"。每个任务在预加载了您的代码库的独立隔离环境中独立处理。Codex 可以读取和编辑文件,以及运行命令,包括测试工具、lint 和类型检查器。任务完成通常需要 1 到 30 分钟,具体取决于复杂性,您可以实时监控 Codex 的进度。 Codex 完成任务后,它会在其环境中提交更改。Codex 通过终端日志和测试输出的引用提供其操作的可验证证据,允许您追踪任务完成期间采取的每个步骤。然后,您可以查看结果、请求进一步修订、打开 GitHub 拉取请求,或直接将更改集成到本地环境中。在产品中,您可以配置 Codex 环境以尽可能匹配您的真实开发环境。 Codex 可以通过放置在存储库中的 AGENTS.md 文件进行指导。这些是文本文件,类似于 README.md,您可以在其中告知 Codex 如何导航代码库、运行测试的命令以及如何最好地遵循项目的标准实践。与人类开发人员一样,Codex Agent 在提供配置的开发环境、可靠的测试设置和清晰的文档时表现最佳。 在编码评估和内部基准测试中,codex-1 即使没有 AGENTS.md 文件或自定义脚手架也表现出强大的性能。

23 个在我们内部基础设施上不可运行的 SWE-Bench Verified 样本被排除。codex-1 在最大上下文长度为 192k token 和中等"推理努力"设置下进行测试,这是今天产品中可用的设置。有关 o3 评估的详细信息,请参见 此处⁠

我们的内部 SWE 任务基准是 OpenAI 内部精心策划的真实世界 SWE 任务集。

构建安全可靠的 Agent

我们将 Codex 作为研究预览发布,符合我们的迭代部署策略。在设计 Codex 时,我们优先考虑安全性和透明度,以便用户可以验证其输出——随着 AI 模型独立处理更复杂的编码任务且安全考虑不断发展,这种保障措施变得越来越重要。用户可以通过引用、终端日志和测试结果检查 Codex 的工作。当不确定或面临测试失败时,Codex Agent 会明确传达这些问题,使用户能够就如何继续做出明智的决定。在集成和执行之前,用户手动审查和验证所有 Agent 生成的代码仍然至关重要。

代码审查截图,带有验证引用文件名的测试文件覆盖层,以及蓝色背景上的摘要和通过测试。 代码审查截图,带有显示引用文件名的一个通过测试的黑色终端覆盖层;在蓝粉色背景上可见"修复特殊字符的 /diff 错误"更改的摘要和差异。

对齐人类偏好

训练 codex-1 的主要目标是使输出与人类编码偏好和标准紧密对齐。与 OpenAI o3 相比,codex-1 始终生成更干净的补丁,可立即供人类审查并集成到标准工作流中。 astropymatplotlibdjangoexpensify 请修复 astropy/astropy 存储库中的以下问题。请通过在当前代码执行会话中编辑和测试代码文件来解决以下问题。存储库克隆在 /testbed 文件夹中。您必须完全解决问题,您的答案才会被视为正确。问题陈述:Modeling 的 separability_matrix 无法正确计算嵌套 CompoundModels 的可分离性考虑以下模型:python from astropy.modeling import models as m from astropy.modeling.separable import separability_matrix cm = m.Linear1D(10) & m.Linear1D(5) 您可能期望的可分离性矩阵是对角线:python >>> separability_matrix(cm) array([[ True, False], [False, True]]) 如果我使模型更复杂:python >>> separability_matrix(m.Pix2Sky_TAN() & m.Linear1D(10) & m.Linear1D(5)) array([[ True, True, False, False], [ True, True, False, False], [False, False, True, False], [False, False, False, True]]) 输出矩阵再次如预期,线性模型的输出和输入是可分离且相互独立的。然而,如果我嵌套这些复合模型:python >>> separability_matrix(m.Pix2Sky_TAN() & cm) array([[ True, True, False, False], [ True, True, False, False], [False, False, True, True], [False, False, True, True]]) 突然输入和输出不再可分离了?这对我来说感觉像是个 bug,但我可能遗漏了什么? 展开 Codex OpenAI o3

防止滥用

防范 AI 驱动软件工程的恶意应用(如恶意软件开发)变得越来越关键。同时,重要的是保护措施不会过度阻碍合法和有益的应用,这些应用可能涉及有时也用于恶意软件开发的技术,如低级内核工程。 为了平衡安全性和实用性,Codex 被训练以识别并精确拒绝针对恶意软件开发的请求,同时明确区分和支持合法任务。我们还加强了政策框架,并纳入了严格的安全评估,以有效强化这些边界。我们发布了 o3 系统卡的附录⁠ 以反映这些评估。

安全执行

Codex Agent 完全在云中的安全隔离容器中运行。在任务执行期间,互联网访问被禁用,将 Agent 的交互限制为仅通过 GitHub 存储库明确提供的代码和用户通过设置脚本配置的预安装依赖项。Agent 无法访问外部网站、API 或其他服务。

早期用例

OpenAI 的技术团队已开始将 Codex 作为日常工具包的一部分。OpenAI 工程师最常使用它来卸载重复性、范围明确的任务,如重构、重命名和编写测试,否则这些任务会打断注意力。它同样适用于搭建新功能、连接组件、修复 bug 和起草文档。团队正在围绕它建立新习惯:分诊值班问题、在一天开始时规划任务、卸载后台工作以保持前进。通过减少上下文切换和展示被遗忘的待办事项,Codex 帮助工程师更快地交付,并专注于最重要的事情。 在发布前,我们还与一小群外部测试人员合作,以更好地了解 Codex 在不同代码库、开发流程和团队中的表现。

  • Cisco ⁠(在新窗口中打开) 正在探索 Codex 如何帮助他们的工程团队更快地将雄心勃勃的想法变为现实。作为早期设计合作伙伴,Cisco 通过在其产品组合中的真实用例评估 Codex 并向 OpenAI 团队提供反馈,帮助塑造 Codex 的未来。
  • Temporal ⁠(在新窗口中打开) 使用 Codex 加速功能开发、调试问题、编写和执行测试以及重构大型代码库。它还帮助他们通过在后台运行复杂任务保持专注——让工程师保持心流状态,同时加快迭代速度。
  • Superhuman ⁠(在新窗口中打开) 使用 Codex 加速小型但重复性的任务,如提高测试覆盖率和修复集成失败。它还帮助他们更快地交付,使产品经理能够贡献轻量级代码更改,除了代码审查外,无需拉来工程师。
  • Kodiak ⁠(在新窗口中打开) 正在使用 Codex 帮助编写调试工具、提高测试覆盖率和重构代码——加速 Kodiak Driver(他们的自动驾驶技术)的开发。Codex 还成为了宝贵的参考工具,通过展示相关上下文和过去的更改,帮助工程师理解栈中不熟悉的部分。

根据早期测试人员的经验,我们建议同时为多个 Agent 分配范围明确的任务,并尝试不同类型的任务和提示,以有效地探索模型的能力。

Codex CLI 更新

上个月,我们推出了 Codex CLI,这是一个在终端中运行的轻量级开源编码 Agent。它将 o3 和 o4-mini 等模型的强大功能带入您的本地工作流,使与它们配对以更快完成任务变得容易。 今天,我们还发布了 codex-1 的较小版本,这是专为 Codex CLI 设计的 o4-mini 版本。这个新模型支持 CLI 中更快的工作流,并针对低延迟代码问答和编辑进行了优化,同时保留了指令遵循和风格方面的相同优势。它现在作为 Codex CLI 中的默认模型和 API 中的 codex-mini-latest 可用。随着我们继续改进 Codex-mini 模型,底层快照将定期更新。 我们还使将开发者帐户连接到 Codex CLI 变得更加容易。您现在可以使用 ChatGPT 帐户登录并选择您想要使用的 API 组织,而不是手动生成和配置 API 令牌。我们将自动为您生成和配置 API 密钥。使用 ChatGPT 登录 Codex CLI 的 Plus 和 Pro 用户今天也可以开始在接下来的 30 天内分别兑换 5 美元和 50 美元的免费 API 积分。

Codex 可用性、定价和限制

从今天开始,我们将在全球范围内向 ChatGPT Pro、Enterprise 和 Business 用户推出 Codex,很快将支持 Plus 和 Edu。未来几周,用户将以无额外成本的方式获得充足的访问权限,以便您可以探索 Codex 的功能,之后我们将推出速率限制访问和灵活的定价选项,让您按需购买额外使用量。我们计划很快扩展对 Plus 和 Edu 用户的访问。 对于使用 codex-mini-latest 构建的开发人员,该模型在 Responses API 上可用,定价为每 1M 输入 token 1.50 美元和每 1M 输出 token 6 美元,提示缓存折扣为 75%。 Codex 仍处于早期开发阶段。作为研究预览,它目前缺少一些功能,如前端工作的图像输入,以及在工作过程中纠正 Agent 方向的能力。此外,委派给远程 Agent 比交互式编辑需要更长的时间,这可能需要一些时间来适应。随着时间的推移,与 Codex Agent 的交互将越来越类似于与同事的异步协作。随着模型能力的进步,我们预计 Agent 将在更长的时间内处理更复杂的任务。

下一步计划

我们想象这样一个未来:开发人员主导他们想要拥有的工作,将其余工作委派给 Agent——通过 AI 更快地移动并提高生产力。为实现这一目标,我们正在构建一套 Codex 工具,支持实时协作和异步委派。 与 Codex CLI 和其他工具配对已迅速成为行业常态,帮助开发人员在编码时更快地移动。但我们相信,Codex 在 ChatGPT 中引入的异步、多 Agent 工作流将成为工程师生产高质量代码的事实上的方式。 最终,我们看到这两种交互模式——实时配对和任务委派——正在融合。开发人员将在其 IDE 和日常工具中与 AI Agent 协作,提出问题、获取建议和卸载更长的任务,所有这些都在统一的工作流中。 展望未来,我们计划引入更多交互和灵活的 Agent 工作流。开发人员很快将能够在任务中期提供指导、协作制定实施策略,并接收主动的进度更新。我们还设想在您已使用的工具中进行更深入的集成:今天 Codex 与 GitHub 连接,很快您将能够从 Codex CLI、ChatGPT Desktop 甚至您的问题跟踪器或 CI 系统等工具分配任务。 软件工程是首批经历显著 AI 驱动生产力提升的行业之一,为个人和小团队开辟了新的可能性。虽然我们对这些提升持乐观态度,但我们也在与合作伙伴合作,以更好地理解广泛采用 Agent 对开发人员工作流、人员技能发展、技能水平和地域的影响。 这只是开始——我们迫不及待地想看到您用 Codex 构建的作品。

直播回放

附录

系统消息 我们分享 codex-1 系统消息,以帮助开发人员理解模型的默认行为,并定制 Codex 以在自定义工作流中有效工作。例如,codex-1 系统消息鼓励 Codex 运行 AGENTS.md 文件中提到的所有测试,但如果您时间紧张,可以要求 Codex 跳过这些测试。

`

1
# 指令
2
- 用户将提供任务。
3
- 任务涉及在当前工作目录中使用 Git 存储库。
4
- 等待所有终端命令完成(或终止它们)后再完成。
5
  

6
# Git 指令
7
如果完成用户任务需要编写或修改文件:
8
- 不要创建新分支。
9
- 使用 git 提交您的更改。
10
- 如果 pre-commit 失败,修复问题并重试。
11
- 检查 git status 以确认您的提交。您必须使工作树保持干净状态。
12
- 仅提交的代码将被评估。
13
- 不要修改或修改现有提交。
14
  

15
# AGENTS.md 规范
16
- 容器通常包含 AGENTS.md 文件。这些文件可以出现在容器文件系统的任何位置。典型位置包括 `/`、`~` 以及 Git 存储库中的各个位置。
17
- 这些文件是人类给您(Agent)提供指令或在容器内工作的提示的方式。
18
- 一些示例可能是:编码约定、代码组织方式的信息或如何运行或测试代码的指令。
19
- AGENTS.md 文件可以提供有关 PR 消息的指令(由 Agent 生成的附加到 GitHub Pull Request 的消息,描述 PR)。这些指令应得到尊重。
20
- AGENTS.md 文件中的指令:
21
  - AGENTS.md 文件的范围是包含它的文件夹为根的整个目录树。
22
  - 对于您在最终补丁中接触的每个文件,您必须遵守其范围包含该文件的任何 AGENTS.md 文件中的指令。
23
  - 关于代码风格、结构、命名等的指令仅适用于 AGENTS.md 文件范围内的代码,除非文件另有说明。
24
  - 在指令冲突的情况下,嵌套更深的 AGENTS.md 文件优先。
25
  - 直接系统/开发人员/用户指令(作为提示的一部分)优先于 AGENTS.md 指令。
26
- AGENTS.md 文件不必仅存在于 Git 存储库中。例如,您可能会在主目录中找到一个。
27
- 如果 AGENTS.md 包含验证您工作的编程检查,您必须运行所有检查,并在所有代码更改完成后尽最大努力验证检查通过。
28
  - 这即使对于看起来简单的更改也适用,即文档。您仍然必须运行所有编程检查。
29
  

30
# 引用指令
31
- 如果您浏览了文件或使用了终端命令,您必须在相关位置向最终响应(不是 PR 消息的正文)添加引用。引用使用以下格式引用文件路径和终端输出:
32
  1) `【F:<file_path>†L<line_start>(-L<line_end>)?】`
33
  - 文件路径引用必须以 `F:` 开头。`file_path` 是包含相关文本的文件相对于存储库根的精确文件路径。
34
  - `line_start` 是该文件内相关输出的 1 索引起始行号。
35
  2) `【<chunk_id>†L<line_start>(-L<line_end>)?】`
36
  - 其中 `chunk_id` 是终端输出的 chunk_id,`line_start` 和 `line_end` 是该 chunk 内相关输出的 1 索引起始和结束行号。
37
- 行尾是可选的,如果未提供,行尾与行首相同,因此仅引用 1 行。
38
- 确保行号正确,并且引用的文件路径或终端输出与引用前面的单词或子句直接相关。
39
- 不要引用 chunk 内完全空的行,只引用有内容的行。
40
- 仅从文件路径和终端输出引用,不要引用先前的 pr 差异和评论,也不要引用 git 哈希作为 chunk id。
41
- 使用文件路径引用来引用任何代码更改、文档或文件,仅对相关的终端输出使用终端引用。
42
- 除非终端输出与引用前面的子句直接相关,例如关于测试结果的子句,否则优先选择文件引用而不是终端引用。
43
  - 对于 PR 创建任务,在最终响应的摘要部分引用代码更改时使用文件引用,在测试部分使用终端引用。
44
  - 对于问答任务,只有在需要以编程方式验证答案时(即计算代码行数)才应使用终端引用。否则,使用文件引用。

`

作者

OpenAI

评论 (0)

暂无评论,快来抢沙发吧!

91学AI

© 2026 91学AI · 按岗位学 AI 与大数据. All rights reserved.