OpenAI在今天正式发布了 Codex 的研究预览,这是该公司迄今为止最强大的 AI 编程智能体。Codex通过云端运行的沙盒环境,为开发者提供实时、高效的代码生成和任务处理能力。这款工具不仅标志着 OpenAI 在 AI 编程领域的进一步深耕,也展示了软件开发方式的潜在变革。
Codex 是什么?
Codex 是一个基于云的软件工程智能体,能够并行处理多个任务,由 codex-1 驱动。codex-1 是 OpenAI o3 AI 推理模型 的优化版本,专为软件工程任务设计。相比之前的模型,codex-1 生成的代码更加“干净”,指令遵循更精确,并能迭代运行测试直到获得通过结果。

Codex 的主要功能包括:
- 编写简单功能
- 修复错误
- 回答代码库相关问题
- 运行测试
- 提出供审查的拉取请求
每个任务都在独立的云沙盒环境中运行,确保安全性和隔离性。任务完成时间通常在 1 至 30 分钟之间,具体取决于任务的复杂性。
Codex 如何工作?
用户可以通过 ChatGPT 侧边栏访问 Codex:
- 分配编码任务:输入提示并点击“Code”按钮,Codex 将开始执行任务。
- 询问代码库问题:点击“Ask”按钮,Codex 可以回答与代码库相关的任何问题。
- 实时监控进度:在提示栏下方查看已分配任务及其进度。
- 审查与集成:任务完成后,Codex 提交更改并提供终端日志和测试输出的引用,用户可以审查结果或请求进一步修订。
Codex 支持通过仓库中的 AGENTS.md 文件 进行指导。类似于 README.md,这些文件可以帮助 Codex 更好地理解代码库结构、测试命令和项目标准实践。
Codex 的技术优势
1. 贴合人类偏好
codex-1 的训练目标是生成更接近人类风格的代码,使其更容易被团队接受和集成到现有工作流程中。相比 o3 模型,codex-1 的代码补丁更加简洁,减少了后续修改的需求。
2. 安全性与透明度
Codex 的设计优先考虑了安全性和透明度:
- 它运行在一个完全隔离的云端容器中,无法访问外部互联网或 API。
- 经过训练,Codex 能够识别并拒绝开发恶意软件的请求,同时支持合法的低级内核工程任务。
- 用户可以通过终端日志和测试结果验证 Codex 的每一步操作。
3. 并行任务处理
Codex 支持同时处理多个任务,大幅提升了开发效率。例如,在重构代码的同时,Codex 还可以运行测试并修复错误。
早期用例与合作伙伴
Codex 已经吸引了多家企业的关注,并在实际开发中展现了其价值:
- Cisco:探索如何利用 Codex 加速其工程团队的创新速度。
- Temporal:使用 Codex 加速功能开发、调试问题和重构大型代码库。
- Superhuman:通过 Codex 提升测试覆盖率和修复集成失败,同时让非工程师也能参与轻量级代码更改。
- Kodiak:借助 Codex 开发自动驾驶技术,编写调试工具并提升测试覆盖率。
Codex CLI 更新
OpenAI 还推出了 Codex CLI 的更新版本,这是一个轻量级开源编码代理,可在终端运行。最新版本搭载了优化的 o4-mini 模型,针对低延迟代码问答和编辑进行了优化。Codex CLI 现已成为 API 中的默认模型(代号 codex-mini-latest),定价为每 100 万输入令牌 1.5 美元,每 100 万输出令牌 6 美元。
此外,OpenAI 大幅简化了开发者账户与 Codex CLI 的连接流程。用户只需使用 ChatGPT 账户登录,系统将自动生成和配置 API 密钥。
Codex 的可用性与定价
Codex 目前向以下用户开放:
- ChatGPT Pro、Enterprise 和 Team 用户:现已上线。
- ChatGPT Plus 和 Edu 用户:即将推出。
在未来几周,用户将享有宽松的访问权限以探索 Codex 功能,之后将实施限额访问和灵活的按需购买定价选项。
对于开发者来说,codex-mini-latest 模型提供了极具吸引力的性价比,尤其适合需要快速响应的任务。
Codex 的局限性
尽管 Codex 表现出了强大的能力,但它仍处于早期开发阶段,存在一些限制:
- 不支持前端工作的图像输入。
- 缺乏在任务进行中校正代理的能力。
- 委托给远程代理的任务耗时较长,与交互式编辑相比需要更多适应。
未来展望
OpenAI 对 Codex 的未来发展充满期待,计划引入更多交互式和灵活的工作流程。以下是未来的重点方向:
- 实时协作与异步委托:开发者将能够通过 IDE 和日常工具与 Codex 协作,提出问题、获取建议并卸载更长的任务。
- 深度工具集成:除了 GitHub,Codex 将支持更多工具,如问题跟踪器和 CI 系统。
- 主动进度更新:Codex 将能够在任务进行中提供实时反馈,帮助开发者更好地掌控项目进展。