OpenAI Codex 实践体验

2025-05-18

我对 OpenAI 的 Codex research preview 进行了实践体验。这是我的想法…… 我想要的界面和我需要等待的性能...

目录

Codex: 工作原理

Codex 目前是一种以聊天为先的体验。 您可以通过被邀请或支付 Pro(每月 200 美元)订阅来获得访问权限。

Codex 现在是一种以聊天为先的体验

获得访问权限后,您首先需要启用多因素身份验证,这是使用 Codex 的必要条件。 接下来,为您希望 Codex 与之协作的每个组织授权 Codex 的 GitHub 应用。

然后,Codex 会将您的存储库克隆到自己的沙箱中,以便它可以代表您运行命令并在您的存储库上创建分支。

如果您维护着大量的公共和私有存储库,那么这种设置非常棒,因为您可以在项目之间跳转,并为每个项目排队任务,而无需离开界面。

如果您只保留一两个存储库,那么这种开销可能会比仅仅向 LLM 寻求帮助或在像 Cursor 这样由 AI 驱动的编辑器中工作更重。

我喜欢 Codex 的地方

意识和愿望是多线程的

Codex 感觉像是为我设计的。

这种 GitHub 连接允许您指定当前指令适用于哪个存储库和哪个分支,因为主要聊天界面被认为是您可以快速向界面发送一整天任务,以便并行启动多个任务的地方。

一个真实的 Codex 任务

我浏览了 Codex 最佳实践指南,该指南鼓励您启动所需的尽可能多的任务。 当前的速率限制支持您这样做。

这是我最喜欢 Codex 的一点,也是我最兴奋的一点,因为随着平台的改进,这与我的工作方式非常吻合。

要求 Codex 解决合并问题

当我开始工作时,我通常会有一个我想完成的待办事项清单,所以通过自然语言并行启动大量任务感觉像是一个合理的界面。

我认为它最终会支持我梦想中的自由工作流

正如我在在树林里与 AI 散步和交谈中写到的那样,理想情况下,我想在办公室开始我的早晨,启动一堆任务,完成一些计划,然后出去在户外长时间散步。

即使在今天,Codex 也可以在我的手机上使用:

Codex 甚至可以在手机上使用

我认为,最终,一旦一些尖锐的边缘被磨平,Codex 将支持我和其他人有效地离开办公桌完成我们的工作。

Codex 和类似的工具最终将支持那些想要在办公桌外有效工作的员工

通过聊天进行跟进

一旦您的初始任务运行了一段时间,您可以单击它以查看其进度,查看日志并通过非常熟悉的聊天界面提出后续请求。

Codex 暴露了一个熟悉的聊天界面

看起来不错 - 发布吧!

一旦您满意,Codex 可以打开您的 PR

一旦您对给定分支上的更改感到满意,您可以告诉 Codex 为您打开 PR,它将自动填写描述。

Codex 努力工作以打开您的 pull request

监控任务的日志和进度

您可以进入任何任务以查看聊天窗格,还可以查看原始日志,其中显示了 Codex 生成命令和 shell 以进行更改。

通过 Codex 启动一个新环境

我等待改进的地方

糟糕的错误处理

启动任务失败。 打开 pull request 失败。

为什么?

Codex 目前显示出不良或不完整的错误处理的证据

谁知道呢。

代码质量和一次性任务执行

在撰写本文时,我已经使用 Codex 进行了大约 3 天的实验。 我还没有注意到 Codex 模型的性能有明显的差异,OpenAI 解释说 Codex 模型是 GPT-3 的后代,并且精通 12 多种编程语言。

目前,感觉我可以并行启动多个任务,并且有 40-60% 的机会我对结果足够满意,以至于可以点击“打开 PR”按钮,而不是请求更改。

到目前为止,Codex 非常适合启动一堆维护级别的更新:小的副本调整、样式更改和其他小事。 我曾尝试让它处理更大的重构,但体验很快变得繁琐。 当前的工作流程希望为每次迭代打开一个新的 pull request,这意味着将后续提交推送到现有分支最多是尴尬的。

在分支上进行多轮更新

更新现有的 PR 很困难。

目前尚不清楚何时或是否会在现有分支上推送更改,并且现在该应用程序鼓励您创建更多的 pull request。 这使得多步骤重构变得棘手,因为您无法在 Codex 中可靠地迭代同一分支。 在此变得更顺畅之前,我计划主要将其用于可以在一次传递中完成的快速获胜。

执行沙箱中缺少网络连接

需要明确的是,我知道这是一种有意的设计选择。 它可以减轻远程代码执行漏洞等。

这目前阻止了 Codex 用于许多工作开发人员想要使用的任务,即通过安装更新版本的软件包并在该过程中重新生成相关的 lockfile 来解决令人讨厌的依赖关系问题。

Codex 现在无法连接到互联网,但它确实可以访问您新克隆的存储库,并将其提供给其执行环境。

这意味着即使您要求它,它也无法 pnpm add @tar-fs@latest。 因此,目前,我仍然会拉取这些分支并在本地修复它们,或者在支持它的 PR 上注释 @dependabot rebase

它为我解锁了疯狂的生产力提升吗?

尚未,但我可以看到它一旦实现以下目标将会如何:

目前,Codex 可用于在一天开始时清除低优先级但数量众多且繁琐的维护任务和小更新。

对于重要的重构或功能构建,我仍然可以通过在具有可选 LLM 支持的 IDE 中自己完成来更好地服务。

我确信即将进行的改进将使 Codex 很快变得更加可用

我相信很快我就能够使用 Codex 作为一个理想的界面来开始一天的工作,并随时关注需要关注的事项以及接下来要做的事情。

如果你到了这里,你就能做任何事情!⚡

我为想要提升技能的开发人员发布技术内容,并为投资者分解 AI、向量数据库和工具。 算我一个

不要错过我的下一篇文章!

zackproser zackproser pinecone-io zackproser zackproser zackproser zackproser