OpenAI Codex 团队:从代码自动补全到异步自主智能体

摘要
本期节目邀请到 OpenAI Codex 团队的 Hansen Wang(研究员)和 Alexander Embiricos(产品负责人),深入探讨了 Codex 从 2021 年的代码自动补全模型演变为能够在云端独立完成编码任务的异步智能体(Agent)的历程。Codex 的核心理念是将 AI 从"结对编程伙伴"转变为"可委托任务的同事"——开发者只需给出任务描述,Codex 会在自己的容器和终端中独立工作,最终返回一个可供审查的 PR。
团队分享了将 O3 推理模型调校为专业软件工程师的关键挑战:O3 擅长竞赛编程,但在生成可合并的、符合工程规范的代码方面表现不佳。Codex 经过强化学习微调(RL Fine-tuning),学会了 PR 描述规范、代码风格适配、测试验证等"职场软技能"。他们还讲述了发布前夜用 Codex 修复关键 bug 的故事,以及"丰盛思维"(abundance mindset)的重要性——同时启动多个任务、接受部分失败、选择最佳结果的工作方式。展望未来,Codex 希望将异步委托与同步协作融为一体,让 AI 伙伴无处不在(IDE、终端、Slack),甚至开玩笑说未来的开发者界面可能更像 TikTok。
正文
Codex 的起源与演进
Codex 这个名字源自 2021 年 OpenAI 推出的原始 Codex 模型——那个驱动 GitHub Copilot 的模型。Hansen 回忆道,当 GPT-3 发布时大家觉得它很酷,但 Codex 的出现才真正让人感到"这东西能改变世界"。Alex 补充说,他当时在红杉的 Arc 项目中,正是用 Codex 做数据分析演示认识了现在的同事。
随着 GPT 的迭代,团队越来越清楚:用 AI 执行智能体类的任务是未来方向。于是他们决定"复活"Codex 这个品牌,将其定位为"云端编码智能体"的新身份。Codex(Code Execution)这个名字既有趣又贴切——执行代码正是它的核心能力。
Codex 智能体的架构与工作方式
Codex 的核心架构与众不同:它不是在开发者的本地环境中运行,而是拥有自己的容器、终端和云端计算环境。开发者给它一个任务描述,它独立工作后返回一个 PR——这是一种"一次性委托"(one-shot delegation)模式。
Alex 强调,这种设计背后是一个思想实验:"如果 AI 在自己独立的电脑上编码,会是什么体验?"这意味着你不是在和它结对,而是在向它委托任务。团队在三个方面下了大功夫:一是计算环境的搭建(让智能体能在自己环境中高效工作),二是模型训练(不只是写出好看的代码,更要写出专业软件工程师认可的、可直接合并的代码);三是训练与推理环境的一致性——用户在 Codex 中运行的环境与训练时的环境完全相同,避免了"但在我机器上能跑"的尴尬。
Codex 与 Codex CLI 的区别
Alex 坦言这个区分还需要进一步收拢。Codex 是"云端自主智能体"的总品牌,Codex CLI 则是嵌入在开发者终端中的 Codex——它使用开发者的本地环境。当前两者还是独立的产品,但未来会逐渐融合:Codex 就是一个统一的体验,可以在 ChatGPT 中使用,也可以在终端中使用。
从 O3 到 Codex:专业软件开发能力的调校
Hansen 解释了从 O3 推理模型到 Codex 的核心差距。O3 在数学和竞赛编程方面表现出色,但在生成"可合并的代码"方面存在不足——它生成的代码往往不符合专业软件工程师的品味和风格预期。
Alex 用了一个生动的比喻:O3 就像一个极具天赋的竞赛编程毕业生,但缺乏在团队中做专业软件工程师的职场经验。Codex 的训练相当于帮它补上那"头几年的工作经验":什么叫好的 PR 描述?PR 标题该怎么写?如何读懂代码库的风格并保持一致?如何做好测试?如何展示测试结果?这些看似琐碎的"软技能"是 Codex 区别于普通编码模型的关键。
神奇的"Aha 时刻":调试 bug
团队发现,Codex 最让新用户惊艳的场景是"找到并修复一个 bug"。因为它不仅能发现代码看起来不对劲的地方,还能实际去尝试重现问题、验证修复方案。Hansen 和 Alex 分享了一个有趣的故事:在 Codex 发布前夜凌晨 1 点,团队被一个动画 bug 卡住了几小时。一位工程师把问题描述输入 Codex,让它"多次尝试"——执行了四次,其中三次失败,但第四次给出了完美的修复方案,最终赶在发布前解决了问题。
这个故事的启示是:使用 Codex 的最佳策略不是精挑细选一个任务然后等待结果,而是采用"丰盛思维"(abundance mindset)——同时启动多个任务、多次尝试,从中挑选最好的结果。
人类角色的转变:从编码到审查
当代码越来越多由 AI 生成,人类的角色将如何变化?Alex 指出,软件工程师只有约 35% 的时间在写代码,其余时间用于构思、设计、规划、测试、部署和维护。Codex 目前擅长"实现+测试"这个小循环,未来将逐步扩展到规划、设计等领域。
Hansen 认为,人类将持续进行代码审查,至少在可预见的未来如此——这不只是为了验证功能正确性,更是为了建立信任。外部上下文(如业务需求、团队约定)往往无法完全包含在初始任务描述中,人类审查者需要在这一层面把关。
展望未来,Alex 描绘了一个多智能体协作的世界:Codex 智能体写代码,Operator 智能体测试,Deep Research 智能体研究背景——所有这些能力最终可能整合到 ChatGPT 中,成为每个用户的统一 AI 助手。
专业开发者数量会上升还是下降?
面对这个尖锐问题,Hansen 的观点是"大幅上升"。他的逻辑简洁有力:越容易编写软件,对软件的需求就越大。今天我们的手机上的应用大多是为百万用户设计的大团队产品,缺乏为我们个人需求量身定制的软件。当编写定制软件变得经济可行时,对软件和开发者的需求只会增加。Alex 补充说,目前 Codex 是"倍增器"而非"替代品"——内部顶级用户每天生成 10+ 个 PR,这显示出 AI 正在大幅提升生产力。
模型深入:环境、多仓库与"耐心"
Codex 在训练中面临的独特挑战之一是构建逼真的训练环境。真实世界的软件仓库千差万别、复杂混乱——许多初创公司甚至没有单元测试。团队必须生成高度仿真的环境供智能体学习,并确保训练和推理使用完全相同的容器化基础设施。
关于长时间运行的任务(有时长达 30 分钟),Alex 指出最大的产品挑战是"用户意图":如何帮助用户描述一个值得 30 分钟投入的任务?团队仍在探索合适的任务粒度。一个实用技巧是:先让 Codex 用"Ask 模式"生成高层计划,你和它迭代完善后,再发送给智能体执行。
Hansen 幽默地透露,即使是 AI 也有"耐心极限"——有时运行 30 分钟后会回来说"抱歉,这太多了,我时间不够",活像一个真实的人类实习生。
未来交互模式:TikTok 式的开发者体验?
Alex 描绘了 Codex 的终极愿景:一个无处不在的 AI 队友。你可以在终端、IDE、问题管理工具、错误告警工具中的任何一个位置向它求助——甚至在它主动发现问题之后。Codex 会自动判断该花多长时间来回答你。
但更令人印象深刻的是 Alex 的"半开玩笑"式预言:未来的开发者体验可能像 TikTok。智能体主动订阅公司信息、提出想法、生成预览视频;开发者左右滑动来决定采纳或拒绝,长按来提供反馈。虽然这是玩笑,但它生动地展现了"人类策划 + AI 执行"的未来协作模式。
对市场的看法
Hansen 分享了一个个人趣事:最近一次坐飞机时没有 Wi-Fi,他发现自己完全不想手动写代码了——因为市场上已经有太多更好的工具。他认为,未来两年编码将彻底改变:目前最有价值的工具是在开发环境中与开发者紧密协作的(Cursor 风格),但即将到来的转变是——大部分代码将由在独立环境中工作的智能体编写。
Alex 补充了让代码库更"智能体友好"的实用建议:使用类型化语言、构建小而模块化且充分测试的组件、为项目取一个独特的内部分代号(方便智能体在代码中搜索)。他们的 Codex 项目内部分代号是 WHAM——经过全局搜索确认没有冲突后才选定的。
闪电问答
- 推荐读物:Alex 推荐 Iain Banks 的《文化》系列科幻小说——一个对 AGI 未来持异常积极态度的太空文明故事。Hansen 推荐 Richard Sutton 的任何文章,尤其是"苦涩的教训"(The Bitter Lesson)——OpenAI 的核心理念来源。
- 最喜欢的 AI 应用:Hansen 说是 GitHub Copilot(每天持续提供价值),Alex 说是 Waymo(自动驾驶),还提到 Linear 的 AI 功能——它默默地从 Slack 对话中生成 bug 报告但从未标注"AI"。
- 机器人技术:两人都看涨。
- 2025 年突破类别:一致认为是"智能体之年"。