ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">先说说我对 Codex 评测结果:如果说 ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);">Cursor是个需要我们结对编程才能干活的实习生,那么 ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);">Codex就更像个外包员工:任务甩过去,基本不用管,等它完成后验收一下。不合格再让它重做,直到满意为止。最关键的是,你可以同时拥有无数个这样的外包员工。
ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">但目前 Codex 明显还是个半成品,有很多限制,比如安装好虚拟机环境后就不能联网,有严格的运行时长限制,单次能处理的任务也很有限,还不值得专门为了它去开 ChatGPT Pro 的会员订阅。
ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">打个比方,这个外包员工的电脑不能联网,只能靠项目现有的代码和自己的经验去修改程序,完全凭自己的理解去交付任务结果。而且外包任务是一锤子买卖,出来什么结果你要么全盘接受,要么全盘拒绝,无法进行小幅二次修改。更麻烦的是,这位外包员工还比较懒,时间一到就立刻罢工,每一次任务还会随机换人,项目经验完全无法积累,好在它会严格遵守你提供的文档规范(比如 AgentS.md)。 ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;display: table;padding: 0.3em 1em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);border-radius: 8px;box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px;">什么是 Codex?
ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">昨天 OpenAI 发布了 ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);">Codex,一个强大的云端软件工程智能助手,由专门针对编程及工具调用进行了大量强化学习的 codex-1 模型驱动,能并行处理多个任务。开发者可以同时部署多个 Codex 智能助手,协作高效完成任务。
ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">年初时就记得 Sam Altman 提到过这个智能体,说它能像真正的软件工程师一样在后台为你工作。当时我就很期待,因为这意味着很多繁琐的事情可以交给它来做,正好我也需要这样一个帮手。
ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">昨天起,ChatGPT Pro 的订阅用户可以开始体验,于是我花了几个小时,深入反复地测试了一番。Codex 工作原理 Codex 核心由两部分组成:Codex-CLI 和基于 Docker 的虚拟机技术 。
Codex-CLI 是 OpenAI 最近发布的一个基于命令行的 AI 编程智能体。它能阅读你的代码,根据要求来解释、修复 Bug、更新代码。作为智能体,它自然也可以调用命令行工具,比如检索文件、创建文件、安装依赖包、运行测试等等。Codex-CLI 背后可以接入不同的大语言模型,比如 OpenAI 的 o3 或者 Claude 3.7 sonnet 等。
虚拟机则提供了任务执行的环境,使用 Docker 技术实现,每一次任务开始都会创建一个全新的虚拟机,支持 Python、Node.js、Swift、Rust、Go、Bun、Java 等语言环境。需要强调的是,这个虚拟机环境一开始是可以联网的,但在自动下载项目代码和安装完所需的第三方库之后,就会彻底断开网络连接 ,后续再也不能访问互联网。
目前,OpenAI 的云端 Codex 和 Codex-CLI 稍有区别:
• 云端 Codex 是在虚拟机上自动运行的,不需要你自行搭建环境,每次任务都自动帮你初始化一个新环境。 • 虚拟机环境开局联网,但安装完项目依赖后立即断网,后续只能连接大语言模型。 • 云端 Codex 使用专为编程任务强化训练过的 codex-1 模型,更擅长写代码、调用命令行工具。 云端 Codex 的优缺点 明确了 Codex 背后的工作原理后,你更容易理解它的优缺点。
优势明显: • 无需自建环境,随时随地甚至手机上都能启动任务。 • 完成任务后自动提交 Pull Request。 限制同样明显: • 完全不支持联网任务,无法查阅在线文档或更新依赖库版本。 • 不能访问本地内网资源,只能读取托管在 GitHub 仓库中的文档。 • 每次任务都会重新初始化环境,中断后无法在原结果上继续。 • 单次任务执行时间受限,最多交互数次就强制结束。例如,我用 Codex 做文件翻译任务,每次只能翻译约5个文件,无法连续执行,需提交 PR 后再重开任务。 • 只能自动提交 PR,无法读取 PR 评论或 GitHub Issue 的信息,需人工复制任务细节。 • 单个文件处理长度受限,文件稍长就无法处理,具体上限还未测试清楚。 • 当前虚拟机环境仅限 Python、Node.js、Swift、Rust、Go、Bun、Java 这几种语言。 • 每次任务的输出字节数受限,由于 Codex 依赖 Codex-CLI 的 shell 命令输出,单次命令行最长输出仅 1600 字节,超出即报错:Error:Outputforsession'shell2'containedalineexceedingthemaxof1600bytes... Codex 适用场景 根据我自己和其他用户的测试反馈,目前 Codex 的可用场景其实不多,适合用在:
•代码解释与梳理 ,帮你搞清楚结构(但受限于单次处理长度)。 •代码审查 ,阅读代码给出改进建议(同样不能太长)。 •小型 Bug 修复 ,简单且明确的小 bug,非常适合交给 Codex 完成。 •小功能迭代 ,如语言国际化、样式调整。但涉及网络更新(比如升级 Next.js)则无法完成。 •生产环境紧急修复 ,比如休假时紧急故障处理,只带手机也能用 Codex 快速提交 PR 更新线上环境。 其他场景暂时还真不好想太多,毕竟 Codex 目前只是“Research Preview”,技术限制不少。
只有等 OpenAI 后续逐步放开联网限制,增加任务执行时长,并允许虚拟机更灵活的定制,Codex 才能逐渐具备实际生产的高效能。
Codex 这类 AI 编程智能体的未来:会替代程序员吗? 以现状来看,Codex 离取代程序员(哪怕是初级)还有相当远的路要走,不必过度期待。但未来,它或许会改变软件开发模式,让 AI 编程变得如同今天的 AI 绘图一样:一个简单的任务,只需要不断地“抽卡”提示词就能完成。当然,这一切的前提是,你背后需要专业的软件工程师或更高级的 AI 来帮你规划任务,合理拆分工作流程。
一些案例 分析代码库并根据建议更新 readme ✅ 分析代码库还是不错,能逐个文件阅读,然后汇总,最后能直接给出一些修改建议
根据建议,让它更新了一下 Readme,这种简单任务还是不错,能根据项目情况分析,然后更新说明文件
升级nextjs版本 ❌ 我想让它帮我升级nextjs版本,但有点坑的是它配置完运行环境后不能联网,所以最终它无法帮我完成这个简单但是常见的版本升级任务
处理 PR Review 结果 ❌ Codex 能提交 PR,但是对于 PR 里面的评论无法直接处理,也就是它不能阅读 PR Review 的结果,只能在它的对话框中说明
批量转换代码语言 ✅ ❌ 我想让 Codex 帮我把一个项目从 ReScript 重写成 TypeScript
1. 每次执行任务算力有限,一次只能处理一部分文件 2. 执行完一次任务后,需要先提交代码合并 PR,否则在同一会话中继续新的任务,之前的修改是不会应用的。这点和使用 Cursor 之类的 IDE 差别很大,Cursor 里面你一次交互完,再次交互之前的修改还在,而 Codex 里面每次交互,都是一个全新的虚拟机 引用外部文档 ❌ 我让它初始化一个 React Router v7 + cloudflare 的项目,显示给它提供文档链接,无法阅读,只能按照自己的知识库去生成,但是不是我想要的。然后我直接告诉它要执行的命令行,但是它不能联网所以无法正常用命令行初始化项目
长文翻译 ✅❌ 测试了一下长文翻译能力,其实和写代码没关系,纯粹为了试试 Codex 的另类用户,放了一个 300 多行的 Markdown 英文文件,让它翻译。一开始它刷呼呼的写 python 脚本去安装 Google 翻译,后来发现自己不能联网,最后才翻译过来自己就能翻译
然后又发现文件太长,于是把300多行拆成几次翻译,翻译到第三段的时候,命令行 shell 溢出了(超出 1600 字节)没办法继续翻译,新开命令行窗口,内容少一点继续翻译
翻译到 255 行的时候,说时间到了,得提交代码了!
准点下班!
最终只是翻译了一部分内容,但是你如果没有仔细看日志,或者去检查结果,你是不知道它其实偷工减料了的!
又多测试了一次,这次让它直接翻译不要使用外部工具,倒是少走了点弯路,但是结果也只是翻译了一部分
结论 开头已经总结的差不多了,现阶段可用性还不高,只能做一些简单的不需要联网的任务,但未来可期,可以让它在后台执行多个任务,人只需要去验收结果就好。