OpenAI的最新AI编程智能体Codex,一经发布便震动业界。本文将带您深入剖析Codex的核心能力与技术突破,展现其描绘的编程新未来。同时,我们也将直面并梳理业界对其定位模糊、沙盒局限、工程理解乃至真实价值的深度拷问与不同声音。力求通过客观全面的视角,助您洞悉Codex的机遇与挑战,形成更为完整、理性的判断。
昨天,OpenAI CEO 奥特曼在X上卖了个关子,预告了一项新研究,吊足了所有人的胃口。
随后,联合创始人Greg Brockman带队开启线上直播,正式宣布了云端AI编程智能体——Codex的上线。
这是一款基于云端运行的软件工程智能 Agent,能够并行处理多个开发任务,协助开发者高效完成编程工作。
UI 设计没整花活,Codex 提供一个输入框和两个按钮——「Ask」(提问)和 「Code」(编码)。你只需明确描述任务,它就会开始执行。
奥特曼对此寄予厚望,激动的连发数条X,认为这将催生个体开发者创造力的极大爆发,一个人就能打造无数爆款应用的时代来了!
Greg Brockman更视其为软件工程未来演进的关键一步。
开始上手Codex
开发者可以通过熟悉的ChatGPT侧边栏界面,或功能得到增强的Codex CLI(命令行工具)与Codex协作。
当你按下“Code”时,这个屏幕不会消失。大多数其他代理产品都会打开一个新窗口,让你观察代理的工作情况。而 Codex 会将你的新任务放入其任务队列,并在任务开始时闪烁显示状态更新。
如果您在任务运行时单击它,您可以看到它在工作时思考的详细日志:
对于每个新任务,它会在自己的沙盒环境中启动你的代码库,在其中运行测试和语法检查(程序员称之为拼写检查),以便自行捕获错误。与 Devin 不同的是,它还无法访问浏览器,无法使用自己编写的代码来检查其是否按预期运行。
完成后,它会提供一份简洁的摘要,其中包含代码差异,以便你准确查看所做的更改。它还有一个按钮,方便你轻松地将其更改作为拉取请求提交到 Github:
Codex不止于工具,更是全能的“云端AI同事”
想象一下,一位全能的编程伙伴悄然来到你的“云端工位”。它就是Codex,一个专为软件工程打造的智能代理。其核心驱动力源自全新的模型——一个基于强大的o3架构深度优化、为复杂软件工程任务量身定制的AI引擎。
codex-1 它能够同时做到:
- 快速构建功能模块
- 深入解答代码库问题
- 精准修复代码漏洞
- 提交PR
- 自动执行测试验证
这些以前需要耗费开发者数小时甚至数日的工作,Codex都有望在短时间内高效完成,部分任务甚至可在30分钟内解决。
它经过真实世界编程任务与多样化环境的强化学习训练,确保其输出的代码不仅符合人类工程师的偏好,更能无缝融入现有工作流程。在权威的SWE-bench基准测试中,取得了高达72.1%的评分,甚至击败了Claude 3.7以及o3-high。
codex-1
Codex实战:深入探索实际运行与惊艳表现
在OpenAI的演示中,研究员Thibault Sottiaux首先连接了GitHub账户,并选取了一个开源项目()作为试验场。初始阶段,他们交给Codex几项典型的开发任务:
preparedness repo
1.解释代码库:让 Codex 向新手解释代码库的整体结构。
2.查找并修复 Bug:在代码库中寻找并修复一个潜在的错误。
3.主动任务建议:让 Codex 浏览代码库,不仅是探索,还要主动提出它可以独立完成的任务建议
Thibault Sottiaux 还即兴添加了一个他个人非常喜欢的任务:「找到并修复尽可能多的拼写和语法错误。」 然后展示了一个预设的任务,要求 Codex 针对「代码库可维护且无 Bug」的目标提出新颖的改进建议(而非简单的 TODO)。
Codex 思考 3 分钟后给出了反馈,例如指出了代码中存在的「可变默认参数」问题,并建议修复。对于超时设置不一致的问题,Codex 甚至主动为自己提出了一个任务来统一它们!Thibault 感叹:「这种委托的委托,每次都让我大开眼界。」
Codex的适应性也极强,能够流畅处理不同类型的项目,无论是开源项目还是企业内部代码库(如演示中提及的库本身)。一个典型的实际应用场景是修复用户报告的Bug,例如因文件名包含特殊字符而导致的命令执行失败。
CodeX CLI
diff
Codex的处理流程堪称高效:它首先尝试复现问题,接着编写测试脚本以验证Bug的存在,然后运行代码风格检查器(linter),最终在数分钟内生成一份包含问题修复、详尽PR摘要、清晰代码变更说明以及相关测试结果的完整Pull Request。这整个过程,对于人类开发者而言,往往需要数倍的时间。
观看演示的Greg Brockman不禁感叹,Codex的强大能力让他真切感受到了通用人工智能(AGI)的影子。
若需针对代码库提问,可点击 "Ask"。每项任务均在独立隔离的环境中处理,该环境已预加载用户的代码库。Codex 具备读写文件的能力,并可运行包括测试框架、代码检查器和类型检查器在内的各类命令。任务完成时间通常为 1 至 30 分钟(视复杂度而定),用户可实时查看 Codex 的处理进度。
任务完成后,Codex 会将其修改提交至专属环境。通过终端日志引用和测试输出记录,Codex 为所有操作提供可验证的证据链,便于用户追溯任务执行全过程。用户还可审阅结果、要求进一步修改、创建 GitHub 拉取请求或直接将变更集成至本地环境。在产品中,用户可将 Codex 环境配置为无限接近实际开发环境。
这一切高效运作的背后,是OpenAI坚实的云端基础设施。每个Codex任务都在一个独立的微型虚拟机(micro-VM)沙盒中运行,这个沙盒拥有独立的文件系统、CPU、内存和网络策略,与OpenAI用于强化学习的基础设施同源,并且,这个环境是高度可配置的,用户可以根据项目需求进行定制。
Codex-1引擎:为高质量代码与人机协同而生
模型的设计核心目标,是产出高度符合人类开发者编码习惯与行业标准的代码。这意味着它追求的不仅仅是功能上的正确,更是代码的可读性、简洁性以及与现有代码风格的统一性,以便于人工审查和无缝集成。相较于前代模型,在生成代码补丁(patch)时,表现出明显更优的清晰度和精炼度。
为了进行对比,在演示中,针对多个知名开源项目(如天文学Python库astropy、可视化库matplotlib、Web框架django以及财务协作软件expensify)的进行修复。与o3模型的对比清晰地展示了其优势:无论是修复嵌套模型的分离性计算问题,还是修正窗口校正算法的错误,亦或是处理特定数据库表达式的兼容性问题,给出的解决方案都更为精准、优雅,甚至能主动补齐缺失的依赖,避免了不必要的代码冗余和潜在错误。
以围绕聊天的财务协作的开源软件expensify为例:
OpenAI给出的问题是「dd [HOLD for payment 2024-10-14] [$250] LHN - 删除缓存后,成员聊天室名称在LHN中未更新」。
可以看到Codex的问题定位和修改更为精准和有效,o3甚至进行了一次无效的代码的修改:
OpenAI内部使用与早期用户反馈
OpenAI自身的工程师团队早已成为Codex的深度用户。他们普遍使用Codex来处理那些重复性高、边界清晰的任务,例如代码重构、变量重命名、测试用例编写等,这些往往是打断心流的“杂活”。同时,Codex在辅助开发新功能、连接不同模块、修复错误以及起草初步文档方面也表现出色。团队成员分享,他们甚至会利用处理协调工作的间隙,快速将一些代码修改或功能想法交给Codex处理,稍后便能收获已完成的、有时甚至是数百行的高质量代码差异。
外部的早期测试伙伴也纷纷给出了积极的评价:
- Cisco:作为设计合作伙伴,深入探索了Codex如何帮助工程团队更快地将宏大构想转化为实际代码。
- Temporal:利用Codex显著加快了功能开发、问题调试、测试用例编写与执行的速度,并将其应用于大型代码库的重构工作,Codex在后台处理复杂任务的能力让工程师得以保持专注。
- Superhuman:借助Codex自动化处理了大量小型重复性任务,如提升测试覆盖率和修复集成过程中的小故障,甚至赋能产品经理在工程师少量审查的前提下完成一些轻量级的代码修改。
- Kodiak:在其自动驾驶技术的研发中,使用Codex编写调试工具、改进测试覆盖范围以及重构代码,并将其作为理解陌生代码库的辅助工具。
综合这些实践经验,OpenAI建议用户可以尝试同时向多个Codex智能体分配定义清晰的任务,并通过多样化的任务类型和提示方式,来充分发掘其潜力。
社区伙伴们纷纷提交他们的使用体验,也让奥特曼频繁转帖:
AGENTS.MD:与Codex智能体的高效沟通秘钥
为了更好地引导和配置Codex的行为,使其更贴合具体项目的需求,OpenAI引入了文件的概念。开发者可以在项目的代码仓库中放置这样一个Markdown文件,用以向Codex提供详细的指令和上下文信息。
AGENTS.MD
这包括但不限于:
- 代码库的整体结构
- 运行测试的具体命令
- 项目应遵循的编码规范和代码风格指南
- 甚至可以包含一些趣味性的指示,比如在终端打印特定的ASCII艺术图案。
演示中,agents.md 甚至指示 Codex 在终端打印一个 ASCII 艺术猫咪,趣味十足。
OpenAI还大方公开了Codex的系统指令(System Prompt),让开发者能更深入地理解其默认行为模式,并基于此进行个性化调整,例如在时间紧张时指示Codex跳过中定义的某些测试。
Codex CLI本地开发体验再次升级
与云端Codex智能体并行,OpenAI也对本地开发工具Codex CLI进行了重要升级。此前,Codex CLI已允许开发者在本地终端直接运行强大的AI模型。此次更新的核心是引入了专为CLI优化的模型。这是的一个基于o4-mini架构的小型化版本,针对低延迟的代码问答和编辑场景进行了特别优化,同时保留了出色的指令遵循能力和代码风格感知力。该模型目前已成为Codex CLI的默认选项,并且也通过API对外提供。
codex-mini-latest
codex-1
登录体验也得到了简化:开发者现在可以直接使用自己的ChatGPT账户登录Codex CLI,并选择希望关联的API组织,系统会自动完成API密钥的生成和配置。为鼓励早期采用,OpenAI还为通过ChatGPT账户登录CLI的Plus和Pro用户分别提供了5美元和50美元的免费API额度(有效期30天)。
上手Codex:费用、可用性与当前边界
对于广大开发者而言,最关心的莫过于如何以及以何种成本用上Codex。OpenAI给出的方案是:从今天开始,将向全球范围内的 ChatGPT Pro、Enterprise 和 Team 用户开放 Codex。在接下来的几周内,用户可以免费畅享 Codex,探索它的各项功能。在此之后,将会引入速率限制,并提供灵活的按需购买选项,以满足不同用户的使用需求。
模型的API调用价格设定为:
codex-mini-latest
- 每百万输入Token:$1.50
- 每百万输出Token:$6.00
- 并享有75%的提示缓存折扣
需要明确的是,Codex目前仍处于研究预览阶段。这意味着它尚不具备某些高级功能,例如直接处理图像输入(这对于前端开发等场景可能有所限制),也暂时无法在任务执行过程中接受实时的指令修正。
此外,将任务委托给云端智能体处理,其响应速度会慢于交互式编辑,用户可能需要一段时间来适应这种异步协作的工作模式。
现在的Codex只是一个在线CodeReview工具吗?
尽管OpenAI对Codex的发布充满信心,并展示了其作为AI编程智能体的诸多潜力,但业界的讨论中也浮现出一些值得关注的质疑与探讨。
定位与价值的模糊性:“全能”还是“平庸”?
部分观点认为,Codex当前的市场定位略显模糊。它被描述为一个云端软件工程智能体,能处理从代码分析到生成PR的多种任务,但又并非一个功能完备的IDE或其插件。这种“似乎什么都能做,但又没有绝对突出亮点”的特性,让一些人觉得它“样样通,样样松”,难以清晰界定其不可替代的核心价值。与已深度集成于IDE、解决开发者本地实际痛点的工具(如Cursor AI)相比,Codex的云端线上模式被一些早期评论戏称为“返祖”。
沙盒环境的“乌托邦”与真实世界的鸿沟
Codex引以为傲的云端沙盒环境,在确保安全的同时,也带来了核心的功能局限:任务执行期间无法联网,不能访问外部API。这与现代软件,尤其是分布式、微服务化应用的开发运维现实存在显著差异。
- 真实依赖的缺失
- 现代应用(如电商系统)高度依赖内部多服务间的复杂交互及外部API(支付、地图、第三方认证等)的实时调用。
- 模拟环境的失真
- 网络延迟、数据格式差异、安全策略、服务实时性变化等真实世界因素,在隔离的沙盒中难以精确模拟,可能导致测试结果与线上实际表现不符。 “正经人做开发,哪个会用纯线上的沙盒?”——这种声音代表了对沙盒实用性的核心疑虑。
对“软件工程”完整性的理解
有评论指出,奥特曼过于强调Codex的代码生成或“制作不同软件”的能力,可能窄化了对“软件工程”这一系统性学科的理解。软件工程远不止于编码,它是一个包含需求分析、系统设计、编码实现、全面测试、部署运维等环节的成熟体系,每个环节都有其专业工具与方法论。目前,Codex似乎更偏重于编码及相关辅助环节。
基准测试之外的真实价值
对于Codex在SWE-Bench等基准测试中的表现,一些从业者持保留态度,认为真正的“SWE-Bench”是市场和开发者的实际选择与付费意愿。工具的真实价值,最终要体现在能否高效解决实际问题,并被广泛接受和使用。
潜在的真实用户与场景:高级辅助而非普适工具?
综合来看,一些批判性观点倾向于将Codex的当前形态更多地视为一个高级的“代码审查”(Code Review)辅助工具。其目标用户可能并非编程新手,而是有经验的开发者,用于代码重构、生成PR等特定场景。其最终效果,仍需依赖OpenAI模型在这些具体任务上的能力表现。
未来之路:迈向人机协同的统一编程范式
尽管存在一些初期的局限,OpenAI对Codex的未来发展蓝图充满信心。其长远目标是构建一个开发者能够专注于核心创新与高层设计,而将大量常规编码、测试、维护等任务有效委托给AI代理的全新工作模式,从而根本性地提升整个软件行业的生产力与创造力。
未来OpenAI计划对Codex进行以下升级:
- 融合交互模式:本地同步的Codex CLI操作与云端异步的Codex智能体委托将趋于融合,形成一个无缝衔接的统一工作流程。正如Greg Brockman所畅想的,未来的AI助手既能像“远程同事”一样独立完成你分配的任务,也能在你编码时“站在身后”实时提供建议与支持,甚至在你中途离开时无缝接管。
- 深化生态集成:当前与GitHub的连接仅仅是开始。未来,Codex计划与主流IDE、更多的版本控制系统、Jira等项目管理与事务跟踪工具,以及CI/CD(持续集成/持续部署)系统等进行深度整合,让开发者可以在日常工作流的各个环节便捷地分配和管理AI任务。
- 增强交互与灵活性:开发者将能够在AI执行任务的过程中提供更实时的指导,与AI共同制定和调整实施策略,并能主动接收到关于任务进度的更新。
Sam Altman所推崇的“你只管做就行”(You just do it)的理念,正通过Codex这样的产品,以一种前所未有的方式赋予AI及其用户。
Statista 预测,2025年AI编程工具用户将突破5000万,Codex会是领跑者吗?
参考资料:
https://www.youtube.com/watch?v=hhdpnbfH6NU
https://openai.com/index/introducing-codex/