我记得很清楚,自己是从哪一刻开始觉得,OpenAI 的天命要易手了。ChatGPT 起飞之后,他们在 AI 编程上攒下的领先,看起来曾经没法追上。那是 2025 年夏天,GPT-5 发布的前一天晚上,我在他们 Mission Bay 的办公室。
楼里有一种嗡嗡的劲。顶灯亮得像舞台灯,人在暖锈色和棕色的走廊里走得比平时快一点。连重力都像更沉了,好像第二天发布的分量,把外面的世界都吸进了它的轨道。
我来要说的话,因此显得有点尴尬。
我办的公司 Every,渐渐有了名气:拿新模型去做真实的工作,再讲清楚它们能做什么、做不到什么。OpenAI 大约在发布前一个月把 GPT-5 给了我们,好让我们帮他们看清模型的长短,并在发布当天刊出我们的 Vibe Check,一篇细评。
我们十个人在纽约州北部的一栋房子里待了一周,做团队静修。一张长木桌,一起吃饭、一起干活;一块大屏幕前的沙发上,测这个盼了很久的模型。我们特别想拿它写代码,那是 AI 当时进步最快的地方。日常用,我们喜欢。放进 Codex 里,反应却淡。
今天,Codex 是 OpenAI 翻盘的核心。这个产品从内部把 ChatGPT 吞了进去,成了公司接下来要做的一切的底座。可那个夏天,它还只是一支要造出 AI 软件工程师的、凑合着干的队伍。几个月前上线的云端版本没找到产品与市场的契合,团队正在中途转向:做一个跑在开发者自己电脑上的版本,在终端里,也在代码编辑器里。
在 Codex 里,GPT-5 很快,看起来也聪明。我们最懂技术的工程师之一 Naveen Naidu,用它追到了语音听写应用 Monologue 里一次说不清的卡死,那东西已经难住他好几天。可它也好像停得太早,过分小心,不肯迈出被允许的范围。感觉上,它是按结对编程的搭档来设计的。
我们团队当时已经走得更远,不再跟模型一步一步协作。用 Anthropic 的终端智能体 Claude Code,Kieran Klaassen 带着一群人,开始把整项任务交给 Opus 4,然后走开,直到一个做完的功能、有时是一整份应用,自己回来。编辑 Katie Parrott 几乎没靠工程师,几天里就做出并部署了她自己的 AI 内容管理系统。有些 bug,可这种东西以前她根本做不到。
跟 Claude Code 里的 Opus 4 放在一起,Codex 里的 GPT-5 像被关在盒子里。
把测试里看到的讲出来,把我带到了 OpenAI 办公室的一间会议室。对面是传播团队的 Lindsay McCallum,旁边是 Codex 团队的 Alexander Embiricos。我感觉得出来,McCallum 对市场上气氛的转向嗅觉很灵,她安排这次谈话,是要我向 Embiricos 解释,我为什么忽然对这种新的干活方式停不下来。
McCallum 坐在会议桌对面,全神贯注地在笔记本上打字。Embiricos 坐在我旁边,边说话边写代码,我把这当成好迹象。他在赶一个 GPT-5 的发布功能:让智能体停下来,向人申请许可,才能去碰沙箱外面的文件,或者在沙箱外面跑命令。
我对 Embiricos 说:「用 Claude Code,你就是放开让它干。GPT-5 显得有点胆小,像被沙箱拽着,好像不敢用自己的力气。」
McCallum 敲键盘的声音慢了下来。我记得她眼睛没离开笔记本,说:「跟 Alexander 讲讲你们这套新的工程流程。」
Embiricos 把椅子转过来,整个人对着我。
我开口:「我们现在其实不怎么看代码了。」话说出口,我脸红了。向 Embiricos 解释智能体委托,我觉得荒唐。造一个能自己干活的编程智能体,本来就是他的工作。那时候我也不确定,我们这套工程做法出了这个很小的团队,还行不行得通。
一声 Slack 提示点亮了 Embiricos 的屏幕,会议室忽然的安静被打破。他把电脑静音,把盖子推到大约四分之三关上,刚好让他的 Codex 智能体继续想。
离开 Mission Bay 那天晚上
那天晚上离开 Mission Bay,我在想,OpenAI 是不是在给一种正在死去的工作流,造一件完美的工具。云端智能体失败过一次,公司看起来退回了代码编辑器:AI 帮程序员一步一步干活。与此同时,Claude Code 在那些把整项任务交出去、然后走开的人中间起飞了。
留在编辑器里,有正当理由。GPT-5 发布之后,Codex 团队做出一个扩展,把 Codex 收进代码编辑器的侧栏。微软的 Visual Studio Code(VS Code)是程序员写代码、运行、调试的地方,Cursor 也是。到去年 10 月,用量涨了十倍以上,编辑器扩展很快超过终端,成了 Codex 用得最多的界面。
在大多数公司,这就是该加倍押注的那门生意。可 Embiricos,以及 OpenAI 里一小群工程师、设计师和研究员,野心更大。
接下来的几个月,Codex 团队训练并迅速改进一条专门的编程模型线,和驱动 ChatGPT 的那些模型分开,又做了一个桌面应用,用来同时管好几个智能体。到 2026 年 6 月,Codex 的每周活跃用户超过 500 万,并且从编程蔓延到别的知识工作。
到 2026 年 7 月,Codex 并进了旗舰的 ChatGPT 桌面应用。它的负责人 Thibault Sottiaux 被提起来,掌管 OpenAI 全部核心产品和平台,包括 ChatGPT、Codex 和 API。今天,Codex 和 ChatGPT for Work 加在一起,每周活跃用户有 4000 万。
不到一年,Codex 团队从一次失败的云端发布,变成 OpenAI 旗舰产品的底座。他们也借此重做了这家公司。
这就是 Codex 是怎么做成的。
Thinking:三种算法
OpenAI 的翻盘,从一行简单的字开始:「Thinking…」
2026 年,你拿任何复杂一点的请求去跟 AI 模型打交道,都会看见这个词,thinking,在答案即将出现的地方发着光。
它看起来像随手一笔:一个词,换掉 macOS 上转个不停的沙滩球,或者 Windows 光标旁边转圈的蓝环。那些都是在说,电脑忙得顾不上回答你。
可在这里,「Thinking」指的是一种新的计算方式。没有它,Codex 不会发生。
第一代大语言模型是外置的处理器。它们没有一块发着光的状态标签,用来显示内部推理。它们的思考,就是直接回答你。无论你让它写一封邮件还是一行代码,它都得一个词一个词把答案做出来,没有机会事先计划,也没有机会事后修改。
这么看,早期的聊天模型像即兴演员。观众给一个提示,他们当场编一场戏。这些工具边跑边写,结果有时惊人,有时又会无意间好笑。它们会坚持 strawberry 里面有两个 r,还把这个词拼出来证明,最后恭喜自己。
早期用户注意到:如果你先让模型一步一步把推理写出来,再给答案,它常常会得到更好的答案。这个办法,和小学数学老师对学生说的是同一句,叫思维链提示(chain-of-thought prompting)。
思维链提示引出了第二代 AI 模型,以及那块发着光的「Thinking」界面。用户不用再自己要求模型一步一步做。OpenAI 把这个行为训练进了模型。回答之前,推理模型先在一块草稿纸上工作,这块草稿纸叫推理轨迹(reasoning trace)。它可以换几个角度攻一道题,从死胡同里退出来,再选一条更可能走通的路。等它选定一个答案,才回答你。
OpenAI 把这类模型的第一个叫做 o1,2024 年 9 月放出预览。在那之前,进步主要靠把更大的模型训练得更久。有了 o1,OpenAI 发现:同一个模型,在一道难题上多花时间,答案就会更好。
有一种工作,从这里得到的好处比别的都多:编程。编程特别适合推理模型,因为它有一个闭合的环。模型可以改代码、跑代码,几秒之内就看见这次改动成不成,于是自己测试、自己修改,不必等人来检查。
理论上,只要让它想得够久,一个推理模型可以自己做完任何编程任务。
Codex 有过很多次开头
在 OpenAI,造一个 AI 程序员这个目标存在了太久,Codex 因此有过很多次开头,从名字就开始了。
第一个 Codex 在 2021 年发布,是 GPT-3 在公开代码上微调出来的版本,驱动了最初的 GitHub Copilot。三年后,o1 的预览显示出推理模型能做什么,领导层的一句提示,让 OpenAI 里好几组人从不同方向再次追这个梦。
其中一次开头,来自 2024 年末的 Embiricos。
他对我说:「对我来说,第一次真正的、巨大的『感觉到 AGI』的时刻,是我看见有人跑着一个连着终端的推理模型。」他说的是那种时刻:AI 不再像一件工具,而像一台能像人一样思考和行动的机器。「我知道现在这已经不新鲜了。」可看着它自己读文件、跑命令、把错误一步步处理掉,「那他妈的太酷了。」
Embiricos 是我在 GPT-5 前夜见过的那位产品负责人。那年稍早,OpenAI 收购了 Multi,他联合创办的、给程序员用的多人屏幕共享工具,他因此来到 OpenAI。在 OpenAI,他追一个相关的想法:让人和智能体在他们正在用的应用里面一起工作。他先在 ChatGPT 桌面应用上追这个愿景,然后是 Atlas,一个 AI 浏览器。当时的模型读用户屏幕又慢又笨,派不上用场。
到了终端里,模型不必读屏幕。它们可以直接在文字和代码里工作。看见一个早期的推理模型待在终端里,Embiricos 确信,它们能撑起一个真正的编程产品。写代码当时还不是他的全职工作,他马上开始画这个产品。他认为,要让它成立,用户得每 30 秒、最多每分钟,看见模型在做什么。
速度又成了问题。当时多数 AI 编程产品长在 VS Code 周围。GitHub Copilot 用扩展加上 AI 自动补全;Cursor 和 Windsurf 在 VS Code 的开源代码上做了自己的编辑器,在程序员干活的旁边加上 AI 聊天。
这些工具靠一条很紧的反馈环。Copilot 补完你正在打的那一行;Cursor 和 Windsurf 几秒内回答问题。没有一个让模型自己干很久,因为模型做不到。OpenAI 早期的推理模型正好反过来:思考时间被砍短的时候,它们又慢又弱。
他能不能把这个缺点,也就是等一个回答要花的时间,变成优点?
没有人决定拆出一条模型线
与此同时,在 OpenAI 的另一处,大家都叫 Tibo 的 Sottiaux,试着把推理模型转回来对准它们自己:用它们的能力,帮研究员造下一代模型。
他对我说:「我是 2024 年 12 月前后开始碰编程智能体的。」我们坐在 OpenAI 的食堂。他光滑的棕发垂向一边,细金属框眼镜映着下午的光。鼻子以上,他像个建筑师;鼻子以下,全是程序员:一圈棕色的短胡茬,深棕色连帽衫上印着「Research and Deployment Co」,手里一片意大利辣香肠披萨。
他咬着披萨告诉我,目标「是帮我们写基础设施,把研究做得更快」。
Sottiaux 职业生涯的很大一部分,是给研究员造基础设施,先在 DeepMind,后在 OpenAI。研究基础设施,是 AI 研究员用来运行、评估、复现和部署实验的那套共享代码。由这样的人最终来领导 Codex,出身看起来有点怪。想到基础设施,你可能会想到服务器和海底电缆,科技世界里的水管:必要,可看不见,直到一根管子漏了。
在 AI 世界里,基础设施,尤其是研究基础设施,才是很多事情发生的地方。你要是能砍掉一次实验要花的时间,就能跑更多实验,更早得到更好的模型。
我问:「你们是什么时候把模型线拆出去的?怎么决定的?」我想快进到正片。Codex 有自己的模型线,我觉得这是它魔力的核心。我脑子里有一场 OpenAI 内部的会,Sottiaux、总裁兼联合创始人 Greg Brockman,或者 CEO Sam Altman,做出那个有远见的选择:把 Codex 和 ChatGPT 的其余部分分开,给团队快速发布的自由,再从内部把公司掀翻。
Sottiaux 平平地说:「没有过拆出模型线这个决定。」一开始,他说,「这是一次研究探索,也是对我们速度的一次优化。」
Sottiaux 的小组没有去造一个给公众用的模型。他们在 OpenAI 的 monorepo 上训练内部的编程智能体。monorepo 是存放这家机构全部代码的那一个仓库。智能体写的是 OpenAI 研究员需要的 Python,用来运行和改进那些造新模型的系统。研究员每天都用这些智能体,团队因此有一条很紧的反馈环。
Sottiaux 说:「我们在编程上看到进展很快。」他的团队频繁训练模型,用的技术和更大的组织给公众训练模型的办法不一样,有一段时间还很难调和。
和 AI 实验室里的每个人一样,Sottiaux 对这些训练技术守口如瓶。可它们显然在起作用:他的小组成功地把模型转回来,对准了造出它们的那个研究过程,研究员正用这些模型做下一代。
工程师把这叫自举(bootstrapping)。先做一个擅长帮研究员跑实验的模型,研究员用它造一个更强的,更强的跑更好的实验,再引出更好的模型,如此往复。
这件事提供了后来成为 Codex 的一半:能改进「造新模型」所用基础设施的智能体。要变成公司其他人也能用、并且最终走出 OpenAI 的产品,它还需要另一半:Embiricos 关于人该怎么和这些智能体一起工作的判断。
几条路汇到一起
探索之后是汇合。
我们可以从上面看 2024 年最后几个月和 2025 年初的 OpenAI。编程成了公司的一级目标之后,包括 Sottiaux 和 Embiricos 在内的好几支由个人组成的队伍,开始从斜着的角度做同一个问题。
Brockman 告诉我,悬着的问题是对的「形态」(form factor):智能体该待在开发者执行命令的终端里,待在他们写代码的编辑器里,还是待在云端、在它自己的电脑上工作。有些路是死胡同,可当时没人知道是哪几条。
2025 年,Altman 在和 Ben Thompson 的访谈里说:「某种意义上,OpenAI 是在押一系列创业公司,只是它们全在内部。」公司里这种平行追问的精神,我采访过的几位内部人有时觉得混乱、浪费。谁愿意待在那支做出了 OpenAI 内部第三好的智能体产品的队伍里?我自己的公司跑过类似的策略,我知道,给探索留出空间,和弄成一团乱,中间只有一条细线。
可看着 OpenAI,尽管我听到过内部的抱怨,我也开始觉得,前沿一直在动的时候,这是必要的。在 AI 里,模型层面快速的「维持性」进步(用已故哈佛教授 Clayton Christensen 的词)不断让新种类的应用成为可能,也不断打乱先来的那些。
一个能写完一行代码的模型,适合做自动补全;一个能想 30 秒的模型,能在聊天侧栏里回答问题;一个能干一个小时的模型,想成为完全不同的东西。围绕上一个模型做成一个成功的产品,并不等于你知道下一步是什么。你需要几支队伍试不同的想法,等看清什么有用,再把工作合到一起。
2025 年初,OpenAI 准备这么做了。Sottiaux 告诉我:「后来我们觉得,该和另一项叫 Scientist Assistant 的工作并到一起。」这次合并把他和 Embiricos 拉到了一处。Brockman 说,在各种内部的编程尝试之间,「我们最后合并了其中两个。然后又合并了另外两个。」合起来的团队很小,学科混在一起:像 Embiricos 这样的技术产品思考者,像 Sottiaux 这样的基础设施和工程高手,还有像 Mia Glaese 这样的研究员。
Glaese 从 DeepMind 来到 OpenAI,在 DeepMind 她做 Gemini 和模型对齐。在 OpenAI,她负责模型训练和对齐用的数据,专长是取得并使用那些会塑造模型具体行为的数据。
在一个层面上,她是彻底不讲情面的经验主义者。访谈里她毫不歉意地定量:「研究里,只信感觉没那么有用。」可她讲造一个模型的过程时,很快就会笑,笑这里面有多少是往未知里跳。
她说:「每次训练一个模型,我们都踏上一次魔法冒险,心里想着,『这玩意儿我们到底怎么做?』」
这种学科混在一起的团队,产品和研究员并排干活,在 AI 里有点不寻常。AI 历来是研究驱动的领域,最好的研究员拿着数百万美元、勒布朗·詹姆斯那种规模的合同,其他人拿的是行业标准的工程薪水。AI 实验室很早就试着压住这种超人明星的气氛:多数技术人员,不管是不是研究员,头衔都叫「Member of Technical Staff」。
和产品团队一起工作,让 Glaese 和其他研究员看见他们的模型被怎么用,也听见人们接下来想让模型做什么。产品的人可以问:「要是模型能做这件事,岂不是很了不起?」研究员再把它做出来。这又是 Sottiaux 的自举环,这一次跑在一个模型和建在它上面的产品之间。
OpenAI 终于有了自己的 Codex 团队:产品、设计、研究,一起干活。现在他们只需要决定造什么。
云端那一版
在 Anthropic,一条有希望的路已经开始起飞。
2025 年 2 月 24 日,这家公司发布了 Claude 3.7 Sonnet,同时放出 Claude Code 的研究预览。和 Cursor 一类工具不同,Claude Code 没有内置的代码编辑器。它跑在终端里,直接改你自己电脑上的文件:你告诉它要什么,它读代码、改代码、跑代码。
因为它跑在你自己的电脑上,它的工作落在你已经在用的那些文件里,用你已经装好的工具,也带着你们到目前为止一起做过的全部上下文。你可以在任务中途打断它。你也可以把这一次会话里学到的带进下一次,于是你的系统会改进,并且随时间累积。Codex Cloud 做不到这一点,它的云端电脑是用完即弃的。
开发者很快就用上了 Claude Code。在 Every,Edmar Ferreira 在 2025 年 3 月的一篇 Vibe Check 里写道:「在智能体这件事上,Claude Code 比我用过的任何东西都好。」团队里其他人也开始同意。
到 2025 年春天,合并后的 Codex 团队,Embiricos、Sottiaux、Glaese,再加上另外几个人,把目光放在软件工程的另一种未来上:Codex Cloud。他们设想云端有一个智能体,能用它自己的电脑,为异步工作而设计,让用户从电脑或手机上把编程任务委托出去。他们给自己大约七周,把它做出来并发布。
你可以在 ChatGPT 的侧栏里点 Codex,打开一个工作区,描述一项任务,再按「Code」。任务剥落到一个队列里,提示框空出来,接下一个。Codex 把你的代码库复制到一台隔离的云端机器上,改文件,跑测试和 linter。linter 是扫描代码里常见错误的工具。它返回一份摘要、一份改动的 diff,和一个打开 pull request 的按钮。
Codex Cloud 在 2025 年 5 月 16 日上线,比我在 Mission Bay 和 McCallum、Embiricos 见面的那个晚上早了将近三个月。Sottiaux 告诉我,它「在内部非常成功」。OpenAI 外面,发布引来了兴趣,持续的使用却很少。
要让它工作,开发者得在云端重建自己笔记本上的软件、权限和设置。这个过程可能要几个小时:你得把凭证拷过去,装上关键的软件包。搭好之后,它能交付一项说清楚了的任务。可你不能中途打断它来纠正方向,哪怕一条后续提示,也会新开一台云端电脑。
我在发布当天的 Vibe Check 里写:「如果你是技术负责人,在已有的代码库上加功能或修 bug,你会伸手去用这个工具。如果你想 vibe code 出一家一个人的、十亿美元的 SaaS 公司,去别处看。」
在 OpenAI 内部,标准化的开发环境让搭建变成自动的,研究员也有定义清楚的工作可以交出去。团队自己的工作环境,把他们对其他人提出的要求藏了起来。
拖住 Codex Cloud 的不只是产品。Embiricos 说:「太早了,因为模型还不够聪明。」
Glaese 告诉我:「我们当时有点按更远的未来在做。我们没有做那种『去人们所在的地方』,而那个地方是『在他们的笔记本上』。」
那 OpenAI 为什么跳过了已经开始对 Anthropic 管用的终端形态?
在食堂的谈话里,Sottiaux 告诉我,说的是一个没有对外发布的内部原型:「我们没有跳过。我们做了一个版本,用了一个月,然后丢掉,去追求完整的云端版本。」
我问:「为什么?」我知道,落地玻璃窗外的某个地方,如果我真的看,大概能在地平线上找到 Anthropic 的办公室。我走路过去也不会太费事。旧金山是个小镇。
他说:「因为我们在优化的,是如果我们愿意在搭建上投很多,我们自己会受益最多的那种东西。」
这个回答后面,是我从 OpenAI 内部的人那里一遍遍听到的一个信念。对他们来说,AI 智能体的理想形态一直是:在云端自主地为你工作,你合上笔记本盖子,它也不停止回应。Brockman 在我们的访谈里说了同一件事:「如果你投向未来,对的形态是云端的一个 AI,它有自己的笔记本。所以我们真的把那个做出来了。」
这个选择也是和模型的限度达成的停战。团队做第一个 Cloud 产品时,选的是能在一项任务上工作更久的模型。
OpenAI 其实在 Codex Cloud 之前整整一个月,2025 年 4 月 16 日,发布过一个小的、开源的 Codex 命令行界面(CLI),让人想起 Claude Code。这是 Codex 许多开头里的又一个。
Embiricos 把那个公开的 CLI 说成一个分开的副业,由「大概两个人,很英勇地」做出来。可 OpenAI 大部分资源和它为 Codex Cloud 训练的专用模型,都不在这个 CLI 上。他说:「你甚至不能在 CLI 里用 Codex 模型。」
在用户的电脑上跑智能体,也引出安全问题。编程智能体能做的不只是建议代码:它能改文件,能在用户的电脑上跑命令。Embiricos 说:「作为一家公司,我们的安全立场非常保守。要舒服地把那种能力部署出去,我们实际上得做很多工作。」早期用户只能拿一个通用模型来跑 CLI,默认是 o4-mini,它并不是按编程智能体来造的。CLI 存在,可团队的注意力,以及它最好的模型,在 Cloud 上。
问题是,它不好用。Cloud 产品没找到产品与市场的契合。团队的工程经理去了 Cursor。Cursor 当时是 AI 编程的领先者,估值 90 亿美元。大约同一时间,据报道 OpenAI 达成协议,以 30 亿美元收购 Windsurf,Cursor 最接近的竞争对手。这笔交易在 7 月散了。
Embiricos 告诉我:「最难的时候,是我们觉得自己不知道该做什么。或者我们知道该做什么,可真的很难看见进展在发生。」
第一次,Codex 团队,以及在一定程度上 OpenAI 更大的编程野心,迷失在荒野里。
转回本地
推理模型之所以强,是它能回头。如果它相信 bug 在代码的某一块,把那一块重写了,结果 bug 还在,它通常不会自信地继续朝错误的方向走。它可以重新考虑自己的假设,把找解法的范围放宽,再根据已经学到的,决定一条更有希望的新路。
用错误来修正方向,这种能力让推理模型找到一开始并不明显的答案。
Cloud 发布之后,2025 年春末和夏天,Codex 团队准备试另一条路。当时这个项目待在 OpenAI 里设计师 Ed Bayes 记得的「没人管的角落」。Bayes 不久前才加入团队。他对我说:「如果你想当那个性感的设计师,你去做 ChatGPT。」
Sottiaux 升进了这个被忽略的前哨,当工程经理。他告诉我:「我接手了团队,然后把方向改了不少。我们转向本地。」
「本地」的意思是,智能体跑在开发者自己的电脑上,像 Claude Code 那样。云端先放一放。他们从本地的 Codex CLI 起步。Embiricos 说过,它是两个人「很英勇地」做出来的副业。Sottiaux 没有马上往上加功能。加功能会很快攒出势头。他走了另一条:决定把智能体重写。
他告诉我:「我们在真正好的 CLI 功能上有点慢,因为我们忙着开发智能体。」
CLI 是用户打交道的界面。Sottiaux 优先的是底下的机器:读文件、跑命令,以及更多事情的那个智能体。他想改进它,并把它和终端界面分开,让它能待在任何地方:代码编辑器里、桌面或手机应用里、云端,或者 ChatGPT 自己里面。
团队用 Rust 重建了这个智能体。Rust 是为速度和安全都要紧的系统设计的语言。同一套机器后来既能驱动终端 CLI,也能驱动再后来的编辑器扩展。
他们仍然缺的,是一个好到能驱动它的模型。
GPT-5 像个结对编程的搭档
Codex 团队在 Sottiaux 的带领下重建智能体的时候,Michelle Pokrass 在让 GPT-5 更擅长真实世界的编程。
Pokrass 领导过 GPT-4.1 的研究。她负责后训练,也就是打磨一个已经训练好的模型的行为,让它能处理真实的编程工作,重点是那些要求更好的交互式编程的客户。
一个编程模型可以像一个 SAT 满分、却从没上过班的学生。OpenAI 的模型在编程竞赛上很出色,这些成绩没有带到日常工程里。Brockman 告诉我:「它们从没见过一团乱的代码库,也没见过程序员会在半路打断它。」
为了给这些书本聪明的模型真实世界的经验,Pokrass 和她的团队坐在程序员旁边看他们工作,看模型在哪里垮掉,再把那些失败变成可以重复的训练任务。
OpenAI 就是这样到达那个模型,也到达那个时刻的。那个时刻把我带到了 2025 年 8 月 Mission Bay 的那间会议室。
从 Codex 团队那个动荡夏天的内部看,我那天晚上在 GPT-5 里感到的谨慎,说得通。Codex Cloud 上试过直接跳到完全自主,被烫过一次;客户又在要一个更好的交互式协作者。OpenAI 造出的模型,擅长和人类程序员一步一步一起工作。它能看懂一团乱的代码库里各块怎么拼在一起,讲出自己的计划,调查一个 bug,并在越界之前停下来问。
和 Claude Code 比,Codex CLI 里的 GPT-5 对我们 Every 来说仍然落后。Kieran 在发布当天的 Vibe Check 里写:「GPT-5 是 Sonnet 3.5 的杀手,不是跳进未来的一跃。」可对当时绝大多数软件工程师来说,一个小心的协作者正是他们想要的。把生产代码委托给自主智能体,在习惯亲手写每一行的程序员中间,仍然常常被嗤之以鼻。
Ruby on Rails 的创造者、工程社区里很有影响的 David Heinemeier Hansson,在 GPT-5 发布前后说:「我不让它开我的代码。程序员的乐趣,我作为程序员的乐趣,是自己把代码打出来。」另外,智能体来开的时候,他说:「我能真切地感觉到,能力正从我的指尖流走。」到 2026 年 1 月,他会写道,AI 智能体「完全有能力对真实代码库做出生产级的贡献」;9 月的 Rails World 上,他宣布自己的公司不再手写代码。
Codex 团队在 8 月末、GPT-5 发布之后跟上一个给 VS Code 和 Cursor 的扩展,那些开发者涌了过来。他们的热情给了 OpenAI 一切理由继续改进这个扩展。每一个新用户、每一条功能请求,都把团队拉向帮助程序员一步一步干活,拉离造出能接下整项任务的智能体。
对 Embiricos 来说,同一次发布却意味着团队可以去追更大的野心。在荒野里待了几个月之后,重建好的本地智能体终于有了一个能驱动它的模型。
他告诉我,一旦他们把 GPT-5 和翻新过的 CLI 一起发出去,「它造出了这个自己会兑现的飞轮。」
他记得自己当时想:「终于可以打了。」
下一笔钱投给桌面应用
Codex CLI 和 VS Code 扩展的人气炸开之后,合乎逻辑的选择是继续在两者上投资。
Codex 团队做了一件出人意料的事。
Sottiaux 告诉我:「我们决定继续维护 CLI,可下一笔最大的、立刻要投的,应该是一个原生桌面应用。」
在 OpenAI 内部,他看得见模型在完成更长的任务,也在取代码库外面的信息,语音和图像还在路上。人们很快会同时跑好几个智能体,一整天都和它们待在一起。他说:「如果你要把全部时间花在里面,它必须是一个非常丰富的界面。」在一个 1970 年代造出来的、只有文字的窗口里,同时应付半打用文字、图像、语音和视频说话的智能体,他觉得很傻。
对 Embiricos 来说,一个本地的桌面应用也指向他们在 Codex Cloud 上没抓住的那种工作流。在 Cloud 里,用户不能在任务中途打断智能体。他想,应用在自己的电脑上,人可以先和智能体紧挨着工作,然后像带一个队友上手那样,学会哪些任务可以交给它。同一个界面,最终可以把 Codex 带到那些永远不会打开终端的人面前。
为了设计和建造它,Sottiaux 请来了 Andrew Ambrosino,设计师、程序员,以前创办过创业公司。
Ambrosino 让我想起《办公室》(The Office)里 B.J. Novak 演的角色:黑头发,浓眉毛,嘴角收着一点笑。当面也好,网上也好,他给人的感觉是心里一直觉得好笑;别人跟不跟他一起笑,是一个考虑,可常常显得没那么要紧。
谁要是跟着他,想从他这里看人工智能的未来,滑他的时间线,可能会看见一条 617 个赞的帖子,全文只有一个词:「ai」。另一条神秘地写着「tibo」(一千多个赞)。
如果你在想「tibo」是什么意思,我可以报告:Sottiaux 似乎一直在他脑子里。我问他欣赏谁的喜剧,他答:「Tibo 是我的喜剧偶像。」这句话到底澄清了多少,留给读者自己判断。
Ambrosino 加入做这个应用的小组时,他们知道要做一个桌面应用,却不知道它长什么样。团队只知道,他们想做一个自己会用的东西。
Ambrosino 告诉我,他们的第一项任务,是让这个应用成为日常工作的主工具。「我们知道自己要一个能当每日驾驶座的界面,可它要比 IDE 更轻。」
Claude Code 起飞的时候,已经有少数应用在试:编程智能体的家,离开终端之后可以长什么样。Conductor 是一个跑编程智能体的 Mac 应用,侧栏是任务,每个任务有自己的智能体和聊天,你可以下指令、跟着工作往下走。ChatGPT 提供了另一个参照:边上是一列对话,中间是一条线程。Ambrosino 说,他们的设计过程里,Codex 应用「从聊天得到的灵感,比从 VS Code 得到的多」。到那个时候,Anthropic 也有了一个 Claude 桌面应用。
团队做得很快,先回答那些基本问题:用户怎么跟上自己的工作(每项任务有自己的一段和智能体的对话),侧栏怎么组织(对话按项目分组),基本界面怎么摆(选中的对话旁边,是一列任务)。
然后是一个更难的问题:智能体做错了的时候,你能不能在 Codex 里面亲手改代码?团队给了一个有风险的答案:不内置代码编辑器。你想改代码,就得去问智能体。
Ambrosino 告诉我:「我们特意想让它成为不一样的东西,和代码编辑器不一样。」让开发者在应用里打代码,他们就会期待编辑器还会做的其他一切:撤销、搜索、键盘快捷键,于是就会注意到 Codex 缺什么。要达到这些期待,更不要说超过,他们这个四人团队得投入巨大的力气。
Codex 不能靠当一个糟糕的代码编辑器来赢。用智能体写代码必须好到开发者不会想念编辑器。
唯一的问题是,他们还在用 VS Code,造一个 VS Code 的替代品。
Ambrosino 说:「Alexander 每天走进来都会说,『我们绕着桌子问一圈。你把这个应用当主力了吗?你把这个应用当主力了吗?』」
一开始答案全是「没有」。没有人把 Codex 当成自己的主编程工具。没有代码编辑器,连一个小修正都得跟智能体说一段话。做开发者体验的 Dominik Kundel 在一条早期 Slack 消息里写,只为了换掉一句话,「就得去提示 Codex,感觉很累赘」。
连 Ambrosino 自己也有疑虑。他 11 月给团队写:「我觉得『不能编辑文件』是我对发布范围最怀疑的一点。」
外面的市场,让去掉代码编辑器这个决定看起来风险更大。2025 年 11 月,Google 发布了 Antigravity,另一个建在 VS Code 上的编程工具,把 AI 智能体和一个完整的编辑器放在一起。
Ambrosino 回忆:「我们就是互相看了看。没去 fork VS Code,是不是犯了个大错?我们在这件事上很矛盾,我觉得团队内部甚至都没达成一致。」
Fork 的意思是,拿一份现有代码库的副本,把它当成自己的来开发。VS Code 的代码是开源的,谁都可以这么做。Cursor 和 Windsurf 都从 fork VS Code 开始:它们从微软那个能用的编辑器出发,在上面做自己的 AI 功能。编辑器本身不用从零写。
驱动这个应用的模型也是问题。OpenAI 在 9 月发布了专门的 Codex 模型线,可到 11 月,它对他们正在做的桌面产品来说仍然不够好。Ambrosino 告诉我,哪怕应用功能齐全,也「因为那个时候模型的质量,发不出去」。
接下来几周,事情开始变。11 月 19 日,OpenAI 发布了 GPT-5.1 Codex Max,它可以一次写好几个小时的代码。12 月 18 日跟上 GPT-5.2 Codex,在大型代码库里做跨很多处的修改,又有了进一步的改进。
Glaese 直接和 Codex 团队的其他人一起工作,把开发者反馈和模型改进之间的环再缩短。关键的是,他们把力气放在让 Codex 对正在用它的人更好。流行评测上的分数先放在后面。因为 Codex 模型线和 ChatGPT 的主模型是分开的,他们可以动得更快,不用担心这些改动会怎样影响正在用 ChatGPT 的 8 亿人。
到 12 月,团队里更多人的日常编码转到了 Codex 应用。代码编辑器退到了后面。Kundel 在 Slack 里写:「我本来很渴望一个代码编辑器。现在我的大多数改动,只留行内评论,而且很快。」Ambrosino 发现自己仍然得给模型掌舵,可他不再需要亲手改它的代码。Glaese 也察觉到,内部的气氛变了。她说:「5.2 是一个转折点,我当时的感觉是,『哇,我很兴奋,这东西能替我做什么。』」
整个行业里,假期成了一个拐点。开发者把圣诞假期用来从头到尾做整份应用,用 Anthropic 的 Opus 4.5 和 OpenAI 的 GPT-5.2,一行代码也不碰。
到 1 月初,整个团队都在用 Codex 应用。现在他们需要知道,OpenAI 的其他人会不会也用。Ambrosino 说,如果不会,就「回到画板前」。
到 2 月,Codex 桌面应用在工程和研究团队里广泛用开了。OpenAI 研究员 Noam Brown 说他「完全切换」了过去。Brockman 是终端和 Emacs 编辑器的忠实用户,他也换了。他说,回到旧的工作流「感觉像回到了过去」。Altman 后来把它描述成「我们有过的、内部最被喜爱的产品」。
Codex 团队做出了 OpenAI 内部的开发者喜欢的东西。可 Codex Cloud 也曾在 OpenAI 内部被拥抱,一发布就扑街。这一次会不一样吗?
2026 年 2 月 2 日,公开
Codex 的 macOS 桌面应用在 2026 年 2 月 2 日对公众发布。它看起来更像一个聊天应用:侧栏放着进行中的和过去的任务,点开一个,就能看见智能体做了什么,也可以再给它指示。代码编辑器的样子,它没有。
你可以让一个智能体去修一个 bug,派另一个去做一个功能,在它们之间移动,回答问题或者看它们的改动。每一个都可以在代码的自己的副本上工作,不会覆盖别人的工作。你可以靠得很近、掌着舵,也可以留下好几项任务在跑,等它们需要你的时候再回来。
当时,这些都算不上特别突破。比如 Claude 桌面应用,已经让懂技术和不懂技术的用户做同样的事好几个月了。可 Claude 桌面应用是一步一步搭起来的,先是 Chat,然后加上 Code,再然后加上 Cowork,界面因此显得混乱,像拼上去的。很难弄清哪一项任务该用哪个标签,每个标签里又有哪一套功能和权限。
Codex 应用没有这些伤疤。我第一次用它的时候,旁边是几天后发布的新 Codex 模型 GPT-5.3 Codex。它快,简单,完全是按智能体原生来的。体验里有一种流动,那种感觉出现在一个产品的所有细节都对的时候。因为团队很早坚持去掉代码编辑器,他们确保 Codex 智能体在应用里几乎能做用户能做的任何事。这意味着你不用翻设置去,比如说,接一个新工具。你直接问智能体就行。
这有一部分是后来者的优势。OpenAI 团队开始做桌面应用的时候,Claude 桌面应用已经为 Claude Code 和 Claude Cowork 都加了标签。Codex 团队因此能看见一条已经被验证过的轨迹。
GPT-5.3 Codex 也是 OpenAI 模型能力的一个转折点。按 Glaese 的说法,这是他们第一次开始让 Codex 这条线从专门针对编程的训练里分出去。他们仍然把它叫做 Codex,她也没有宣称它什么都更强。可团队开始问:一个编程智能体还需要知道什么,才能对各种知识工作都有用。
对我工作流的影响是立刻的:我从几乎只用 Claude,改成把很大一部分工作交给 Codex。在我正在做的文档编辑器 Proof 上,我看着 Codex 自己修复杂的 bug,不怎么需要插手。很快我就让它通宵对付难题。每次碰上特别棘手的任务,我先去 Codex。
3 月初 GPT-5.4 到来,把 Codex 坐实成我的每日驾驶座。它仍然是一个专家级的程序员,可现在它把自己讲清楚,也更懂我想要什么。因为 Codex 应用的界面干净、快,我开始把全部工作都放进它里面。
到那时,Every 的很多人也在每天用 OpenAI 的工具和模型。这是反转。就在几个月前,Claude 还是远远占上风的选择。我们在 GPT-5.4 的 Vibe Check 里这么写:OpenAI 回来了。
同样的事发生在 Every 以外很远的地方。到 3 月 19 日,OpenAI 说 Codex 的每周用户超过了 200 万,而总体用量从年初起涨了五倍。4 月,OpenAI 在应用里加了一个浏览器,于是智能体可以去查东西,并在一个活的网页上检查自己的工作。它也可以跨其他 Mac 应用工作,并展示文档、幻灯片和表格的预览。就算一个从没写过代码的人,也可以要一份演示文稿或一份预算报告,不用离开应用就能看见结果。
到 6 月,Codex 的每周用户超过 500 万,大约五分之一是知识工作者。7 月 9 日,OpenAI 把 Codex 桌面应用做成了新的 ChatGPT 桌面应用,聊天放在它里面。在底层,新的 ChatGPT 仍然告诉你的 Mac,它的名字是 com.openai.codex。
Codex Cloud 是作为 ChatGPT 里面的一个标签发出去的。现在,ChatGPT 跑在 Codex 上。
Ed Bayes 记得,合并宣布的那场全员会结束后,他走出来,想着这支团队走了多远。从「角落里的几个人」开始的东西,现在成了「ChatGPT 的未来」。
他对我说:「这像是美国公司史的一块。」
白板和《创新者的窘境》
GPT-5 发布十个月后,我又和 Alexander Embiricos 坐在一间会议室里。
Embiricos 问:「我就全说实话了,行吗?」
我说:「请讲。」
那是 6 月初,当时已经很热的 Codex 再过一个月就要并进 ChatGPT。我们坐在 OpenAI 曼哈顿下城的办公室。他穿着一件灰色拉链衫,袖子推了上去。他的角色不久前从 Codex 智能体的产品负责人,换成了 OpenAI 的企业产品负责人。他身后是一块白板。
我来问 Embiricos:他的团队怎么从 Codex Cloud 的失败,走到造出后来成为 ChatGPT 底座的东西;他们又怎么避开了我在 Mission Bay 担心的那个结对编程的陷阱。大多数团队沿着正在起作用的东西往上建。Codex 团队没有。是什么让他们能继续动?
Embiricos 拿起一支黑色马克笔,在白板上画出 Codex 的增长。他先为 Codex Cloud 画一条短的、向上的曲线。那是一个好看的尖峰,可很快就平了。
然后他为 GPT-5 之后的 CLI 画一条更陡、更大的曲线;再一条,更高,给编辑器扩展。最后是 5.3 Codex 和桌面应用,一条把其他几条都比下去的曲线。第一笔现在看起来像白板底部附近的一道刮痕。
他在白板上画的曲线,看起来像 Christensen《创新者的窘境》(The Innovator’s Dilemma)里的一张图。
Christensen 有名地追溯过:硬盘和处理器的稳步前进,怎样驱动了从大型机到小型机、到台式 PC、笔记本,最后到手机的转移。底层硬件的每一次跳跃,都让一种更简单的形态成为可能,打开一个更大、技术要求更低的市场,并超过上一个。
传统计算里,这个模式花了半个世纪,发生在一连串新公司里。它的缩小版,在 OpenAI 内部用 10 个月演完了,团队只有几个人。模型一跃再跃,不断长出包围着它们的那些界面:迫使 Codex 团队从代码编辑器的侧栏,移到终端,再移到一个轻的桌面应用,把代码编辑器整个拿掉。
在 Christensen 的书里,骑在一条正在赢的曲线上的团队,几乎从不会去骑下一条。现有产品的成功,会把后面来的东西闷死。Codex 团队避开了这个命运,一部分是因为 OpenAI 的高管在创业世界里长大,研究过的正是这个陷阱。公司的结构,是要表现得像一组合并行的赌注。Codex 团队得到空间,在 ChatGPT 庞大的规模和用户群的约束之外,迭代自己的产品和模型线。
用 AI 来造 AI,也改变了产品开发的物理。在一家传统公司里,开一个新产品要开几个月的会,去赢预算和工程师。这些争论里,正在兴旺的现有产品几乎总是赢。在 OpenAI,因为团队在用 Codex 造 Codex,几个人可以在几周里支起一个新界面。
Sottiaux 曾告诉我:「现在要说服人,需要说的话少多了。」
看着白板,Embiricos 还有一条新曲线要画。既然几百万人已经信任自己电脑上的这个智能体,下一步是回到去年春天失败过的那个愿景:一个智能体,在你走开很久之后还在工作。
他说:「我们要走向异步,这意味着我们得重新吊回云端。」
这一次,我忍不住注意到,他的笔记本就在会议桌上,盖子牢牢地关着。
Dan Shipper 是 Every 的联合创始人和 CEO。他在那里写 Chain of Thought 专栏,也是 The Every Podcast 的共同主持人。
文中访谈来自 Greg Brockman、Alexander Embiricos、Thibault Sottiaux、Amelia Glaese、Andrew Ambrosino 和 Ed Bayes。六个人分别从研究、工程、产品和设计参与了 Codex 的建造。
新手怎么理解
- 这篇按报道来写。 Dan Shipper 用第一人称写他在 Every 怎么用模型,再穿插他和 Codex 团队的访谈。文中的每周用户数、估值和「内部最被喜爱」,都是文中人物或 OpenAI 自己说的,这里没有另做核实。
- 主线是形态跟着模型走。 能补完一行的模型适合编辑器;能想一会儿的模型适合侧栏;能自己干很久的模型,想要一个可以走开的界面。Codex Cloud 先押了最后一种,模型还不够,搭建又重,外面用得少。团队转回开发者自己的电脑,先把智能体用 Rust 重写成可以待在任何界面里的机器。
- 编辑器扩展火了之后,他们没有顺着火的地方加码。 下一笔大投入是一个没有代码编辑器的桌面应用。改代码要去问智能体。模型到 GPT-5.2、GPT-5.3 Codex 之后,团队自己才把它当成主力。
- 2026 年 7 月 9 日,Codex 桌面应用成了新的 ChatGPT 桌面应用。 底层的名字仍是 com.openai.codex。文末 Embiricos 说下一步还是异步、还是云端:人已经信任自己电脑上的智能体之后,再回到去年春天失败过的那个愿景。