Codex 与人工智能驱动的编程未来 — OpenAI 播客 Ep. 6




内容概要

在本期播客中,OpenAI 的联合创始人 Greg Brockman 和 Codex 工程负责人 Thibault Sottiaux 深入探讨了人工智能在编程领域的演进历程,从 GPT-3 最初展现出的编程火花,到如今能够处理复杂重构任务的 GPT-5 Codex 智能体 (agent)。他们讨论了“Harness”这一重要概念的构建、智能体编程 (agentic coding) 的兴起、代码审查 (code review) 领域的突破,以及未来几年人工智能将如何重塑软件开发,包括计算 (compute) 的未来和学习编程的现实意义。

目录

  • AI 编程在 GPT-3 时代的最初火花

  • 为何编程成为 OpenAI 最核心的关注领域

  • 什么是“Harness”及其对智能体的重要性

  • 从 GitHub Copilot 中汲取的经验与延迟的权衡

  • 在终端、IDE 和异步智能体上的实验

  • 内部工具 10x 与 Codex 代码审查

  • 为何 GPT-5 Codex 能在复杂任务上运行数小时

  • 重构与企业级用例的兴起

  • 智能体软件工程师的未来

  • 安全、监督与智能体的人类意图对齐

  • 2030 年的编程(与计算)展望

  • 建议:为何现在仍是学习编程的好时机

开场

Andrew Maine: 大家好,我是 Andrew Maine,这里是 OpenAI 播客。在本期节目中,我们将与 OpenAI 联合创始人兼总裁 Greg Brockman 以及 Codeex 工程负责人 Thibault Sottiaux 对话。我们将探讨智能体编程 (Agentic coding)、GPT-5 codecs 以及 2030 年技术可能的发展方向。我们坚信,更强大的智能终将胜出,并且它已经为人们在 Codex 中使用 GPT-5 的方式进行了优化。你如何确保 AI 产生的内容是正确的?我们今天来聊聊 Codex。实际上,我从在这里工作开始就在使用它的第一个版本。

现在你们推出了新版本,我整个周末都在体验,印象非常深刻。这项技术在短短几年内取得了惊人的进步。我很想了解它早期的故事,比如用语言模型来编程这个想法最初是怎么来的?

AI 编程在 GPT-3 时代的最初火花

Greg Brockman: 我还记得在 GPT-3 时代,第一次看到生命的迹象:输入一个文档字符串 (docstring) 和一个 Python 函数名定义,然后看着模型补全代码。当你看到那一幕时,你就知道这事能成,而且会产生巨大的影响。我记得当时我们讨论过一些宏伟的目标,比如想象一下,如果能让一个语言模型写出上千行逻辑连贯的代码,那将是多么了不起。这曾是我们的一个远大目标。而奇妙的是,这个目标不仅实现了,甚至早已被超越,我们现在对此已经习以为常了。在开发这项技术时,你往往只看到其中的漏洞、缺陷和不足。但偶尔停下来回望,你会意识到我们已经取得了多么不可思议的进展。

我们已经习惯了技术的持续进步,它已经融入了我们的日常生活。当你回想一个月前,很多事情甚至都无法实现,而这种进步还在不断发生。人类适应新事物的速度之快,实在令人着迷。

为何编程成为 OpenAI 最核心的关注领域

Greg Brockman: 我们一直面临的一个难题是,是否应该在某个特定领域深入发展。因为我们的最终目标是通用人工智能 (AGI),所以本能上我们会希望同时提升所有能力。但编程一直是个例外。我们投入了非常不同的资源来专注于编程,包括编程数据、代码指标,并努力理解我们的模型在代码上的表现。虽然我们也开始在其他领域这样做,但编程一直是我们特别关注的焦点。在 GPT-4 上,我们确实实现了一个全方位的飞跃,打造了一个单一的强大模型。但在 2021 年左右,我们其实也训练了 Codex 模型,我记得当时还做了一个专注于 Python 的模型,我们当时真的在努力提升编程能力。

我记得当我们进行 Codex 演示时,那或许可以称得上是今天我们所说的“氛围编程”(vibe coding) 的首次展示。我当时在构建那个界面时意识到,对于标准的语言模型任务,接口或“Harness”可以非常简单,你只是在补全内容,或许再加一轮对话。但编程不同,代码是“活”的,需要被执行,需要与各种工具连接。这时你就会发现,“Harness”对于模型可用性的重要性,几乎与智能本身相当。从那一刻起,我们就意识到了这一点。有趣的是,随着今年我们拥有了更强大的模型,我们的关注点也发生了变化,不再仅仅是追求原始能力,比如如何在编程竞赛中获胜,而是如何让它变得实用。我们开始在多样化的环境中进行训练,将它与人们的实际使用方式联系起来,并着力构建“Harness”,Thibault 在这方面付出了巨大的努力。

什么是“Harness”及其对智能体的重要性

Andrew Maine: 你能用简单的话解释一下什么是“Harness”吗?

Thibault Sottiaux: 当然,它其实很简单。你有一个模型,这个模型只能进行输入和输出。我们所说的“Harness”,就是如何将它与基础设施的其他部分集成起来,让模型能够真正在其环境中行动。它包括一套工具,以及模型的循环方式,我们称之为智能体循环 (agent loop)。本质上它很简单,但当你开始将这些部分整合在一起,并进行端到端的训练时,就会看到一些神奇的行为。模型展现出行动和为你创造事物的能力,成为一个真正的协作者。你可以把它想象成,Harness 是你的身体,而模型是你的大脑。

Andrew Maine: 是的,看到它发展得如此之快,真的很有趣。在 GPT-3 时代,你必须写下注释,比如“这个函数的功能是……”,然后加上 Python 代码。而现在,模型已经能自然而直观地理解编程了。你提到过,在通用模型和专注于代码之间做选择,那么当时是外部需求驱动,希望模型能更好地编程,还是内部需求,因为你们自己想更多地使用它?

Greg Brockman: 两者都有,绝对是两者都有。

从 GitHub Copilot 中汲取的经验与延迟的权衡

Greg Brockman: 我记得大概在 2022 年,我们与 GitHub 合作推出了 GitHub Copilot。那次合作非常有意思,因为它让你第一次真正感受到,在编程工作流中有一个 AI 是什么感觉,以及它能如何提高你的效率。我记得当时关于最佳交互界面有很多讨论:你是想要以幽灵文本 (ghost text) 的形式直接补全,还是想要一个包含多种可能性的下拉菜单?但有一点非常明确:延迟是一个产品特性。对于自动补全这类功能,1500 毫秒是一个硬性约束,你必须在这段时间内给出结果。任何比这更慢的响应,哪怕结果再出色,也没人愿意干等着。所以,无论是用户、产品经理还是所有思考产品的人,给我们的明确指令都是:在满足延迟限制的前提下,拿出最智能的模型。

接着我们有了像 GPT-4 这样更智能的模型,但它无法满足延迟预算。怎么办?它是个无用的模型吗?当然不是。你需要做的是改变“Harness”,改变交互界面。我认为这是一个非常重要的主题:你需要围绕模型的能力,共同演进交互界面和使用方式。因此,速度超快且智能的模型固然很好,但那些极其智能但速度稍慢的模型也同样有价值。我们一直坚信,智能带来的回报是值得的。虽然在当下这并不总是显而易见,因为你可能会觉得它太慢了,谁会想用呢?但我们的方法一直是:相信更强的智能最终会在长远发展中胜出。

Andrew Maine: 当时在做 GitHub Copilot 时,我很难想象这一切的未来走向。那时我们习惯了“请求-完成”的模式,你提出一个请求,它完成一个任务。我当时并未真正理解通过构建“Harness”、增加各种功能,能带来多大的价值,似乎觉得有模型就足够了。但现在我意识到,工具和其他一切都至关重要,能产生巨大的影响。

在终端、IDE 和异步智能体上的实验

Andrew Maine: 你提到了模态 (modalities) 的概念。现在我们有了命令行界面 (CLI) 版本的 Codex,我可以在命令行中使用它。还有 VS Code 的插件,我也可以在那里使用。此外,我还可以将内容部署到 Web 上。我感觉自己还没有完全理解这些功能的价值。你们自己是如何使用和部署这些工具的?你觉得它们在哪些方面最有用?

Thibault Sottiaux: 回顾一下我们最初看到的迹象,公司内外的很多开发者,包括我们的用户,都在使用 ChatGPT 来帮助他们调试非常复杂的问题。我们清楚地看到,人们试图将越来越多的上下文信息,比如代码片段、堆栈跟踪 (stack traces) 等,输入到 ChatGPT 中,然后将这些信息呈现给一个非常智能的模型以寻求帮助。这种交互变得越来越复杂,直到我们意识到:或许不应该由用户来主导,而是让模型自己来主导交互,自己寻找上下文,从而独立解决那些棘手的问题,这样用户就可以坐下来,看着模型完成工作。

正是这种交互模式的转变,促使我们更多地思考“Harness”,并赋予模型行动的能力。我们迭代了不同的产品形态。我记得在今年年初,我们有几种不同的方法:一种是异步的智能体 (agentic) “Harness”,另一种是本地体验,并且还有几种不同的实现方式。我们甚至尝试过在终端 (terminal) 中运行它。但后来我们觉得这不够“AGI 化”,我们需要它能够大规模、远程地运行,用户可以合上笔记本电脑,让智能体继续工作,甚至可以在手机上跟进并与之交互。这听起来非常酷,所以我们朝这个方向努力。但实际上,我们当时已经有了一个完全可以在终端中运行的原型。

Greg Brockman: 当时在 OpenAI,人们已经很高效地在使用那个原型了。但我们最终决定不将它作为产品发布,因为它感觉还不够完善。那个工具叫 10x,因为我们觉得它给我们的生产力带来了 10 倍的提升。

Thibault Sottiaux: 后来我们决定尝试不同的产品形态,最初全力投入到异步模式中。现在我们又有所回归和演进,认为这个智能体可以被带回到你的终端和 IDE 中。我们真正想要实现的是,这个实体,这个协作者,能与你协同工作,并出现在你作为开发者已经习惯使用的工具里。

Greg Brockman: 是的,我们还有其他的尝试。比如,我们有一个版本,其中一个远程守护进程 (daemon) 会连接到一个本地的智能体,这样你就能兼得两者的好处。我认为,这种演进的一部分在于,部署一个工具的方式几乎构成了一个矩阵:有异步的,它在云端有自己的计算机;有本地的,它在本地同步运行;你也可以将两者结合。还有一个问题一直困扰着我们:我们应该在多大程度上专注于构建一个可外部化的、适用于各种环境的工具,还是应该专注于我们自己的环境,让它对我们的内部工程师特别好用?挑战在于,我们想做到这一切。我们最终希望工具对每个人都有用,但如果你连为自己打造一个好用的工具都做不到,又怎么能为其他人做出极其有用的东西呢?所以,我们面临的挑战之一就是确定重点,以及如何以最有效的方式投入我们的工程力量。

对我来说,一个贯穿始终的重点是:我们知道,编码和构建强大的智能体是今年我们能做的最重要的事情之一。今年年初,我们设定了一个公司目标,即在年底前实现一个“智能体软件工程师”(agentic software engineer)。弄清楚这具体意味着什么,如何实现它,以及如何整合我们拥有的所有机会和计算资源来解决这个问题,这一直是 OpenAI 许多人的一项重大任务。

Andrew Maine: 你提到你们有一个内部工具 10x,后来觉得它对其他人也很有用。决定何时将内部工具对外发布,何时不发布,以及如何确定优先级,一定很困难。我们看到 Cloud Code 变得非常强大,我猜它可能也有类似的故事,从内部使用到最终部署。当你们考虑下一步计划时,如何决定方向和重点?你之前提到,我现在可以在云端运行任务,执行这些类似智能体的操作,然后就可以走开。但对我来说,这是一种全新的模式,很难去思考。有时候,这些新事物需要时间沉淀,让人们自己去发现它们的价值。你们在内部有发现过这种情况吗?比如有人突然说“啊,我现在明白了”?

Greg Brockman: 当然有。我的看法是,我们大致知道未来的形态。从长远来看,很明显你会需要一个拥有自己计算机的 AI,它能够运行并委派任务给一系列智能体,并行解决多个问题。你应该早上醒来,一边喝咖啡,一边回答你的智能体提出的问题,提供一些审查意见,比如“啊,不,这不是我想要的样子。”这个工作流程是必然会发生的。

但目前模型的智能程度还不足以让这种方式成为主流的交互模式。因此,让一个智能体出现在你的终端和编辑器里,以一种与一年前非常相似的方式帮助你完成工作,这才是当下。所以,我们看到的情况是,未来与现在正在交融。我们需要思考如何将 AI 融入代码审查,让它能主动出现并为你做有用的工作。同时,这也带来了新的挑战:如果你有大量的拉取请求 (PRs),如何从中筛选出你真正想要合并的那些?我们看到了所有这些机会,也看到 OpenAI 内部的开发方式甚至代码库的组织结构都在发生变化。

Thibault Sottiaux: 是的,我认为有两件事共同影响了这一点。首先,基础设施是个难题。我们当然希望每个人的代码、测试和包都能完美地容器化,以便我们能大规模运行它们。但现实并非如此。人们有非常复杂和详尽的配置,可能只在他们自己的笔记本电脑上才能运行。我们希望能利用这一点,在用户所在的地方为他们提供支持,这样他们就不必为了使用 Codex 而专门配置。这提供了一个非常简单的入口,让人们体验到一个强大的编程智能体能做什么。

同时,这也让我们能够试验什么样的交互界面是合适的。六个月前,我们还没有玩过这类工具,这一切都非常新,而且发展迅速。我们需要不断迭代和创新,找到正确的交互界面和与这些智能体协作的正确方式。我们觉得还没有完全找到最佳方案,它会继续演进。但是,通过提供一种零配置、开箱即用的方式,能让更多人从中受益、进行尝试,我们也能获得反馈,从而继续创新。这非常重要。

Greg Brockman: 我记得今年年初和我们一位非常出色的工程师聊天,他提到我们为 ChatGPT 做了一个集成,能自动看到他终端里的上下文。他说这简直是颠覆性的,因为他再也不用复制粘贴错误信息了,可以直接问“嘿,这个 bug 是什么?”,然后就能得到答案。这太棒了。你意识到,这个我们构建的集成之所以具有变革性,并不是因为它基于一个更智能的模型。我认为人们很容易被误导,只关注其中一个维度,然后纠结哪个更重要,但答案是,它们都很重要。

我一直这样看待这个问题。我记得在 2020 年我们最初发布 API 时,我就认为,一个 AI 是否受欢迎取决于两个维度:一个是智能,可以看作一个坐标轴;另一个是便利性,可以包括延迟、成本、可用的集成等等。存在一个“可接受区域”。比如,如果一个模型非常智能,但运行一次需要一个月,你可能仍然会用它,前提是它能产出极其有价值的代码,或者能治愈某种疾病。反之,如果一个模型不太智能,能力有限,那你只希望它能做自动补全,那么它就必须极其便利,让你在使用时几乎不需要思考。我们现在正处于这个光谱的某个位置,拥有了更智能的模型,虽然便利性不如自动补全,但至少比等上一个月才能得到答案要好得多。所以,我认为我们的许多挑战在于,决定何时投入资源去提升便利性,何时去提升智能。这是一个巨大的设计空间,也正是其乐趣所在。

Andrew Maine: 不知道你是否还记得,我在 2020 年发布会时做过一个应用,还被推荐了,叫 AI Channels。当时的挑战是,GPT-3 应用虽然功能强大,但我需要写 600 词的提示词 (prompt) 才能让它工作。考虑到每千个 token 6 美分的成本和延迟,我觉得当时还不是它的时代。

Greg Brockman: 是的。

Andrew Maine: 接着是 GPT-3.5 和 GPT-4,突然之间,所有这些能力都涌现出来。我很难说清为什么,但你就是看到所有事情都水到渠成了。你提到,让模型能看到你工作环境的上下文。我记得当我还在用 ChatGPT 复制粘贴代码到我的工作区时,那感觉就像去超市购物却拒绝用购物车,非要抱着所有东西去结账一样。这效率太低了。一旦你把东西放上轮子,一切就顺畅多了。我认为我们现在正看到各种各样的这种“解锁”。

我现在面临的问题是,当我坐下来工作时,我该用 CLI、VS Code 插件、Cursor 还是其他工具?你们是怎么解决这个问题的?

Thibault Sottiaux: 目前,我们仍处于实验阶段,正在尝试让你与智能体交互的不同方式,并把它带到你已经高效工作的环境中。例如,Codex 现在已经集成到 GitHub 中,你可以通过提及 (mention) Codex 来让它为你工作。如果你输入 @Codex 修复这个 bug将测试移到这里,它就会在我们的数据中心里,用它自己的“小笔记本电脑”去执行任务,你完全不用操心。但如果你在处理文件夹里的文件,那你就要决定是在 IDE 里做还是在终端里做。我们观察到,高级用户 (power users) 更倾向于在终端里创建非常复杂的工作流。

Andrew Maine: 嗯。

Thibault Sottiaux: 而当你真正在处理一个文件或项目时,你可能更喜欢在 IDE 里操作。它的界面更精致,你可以撤销操作,可以看到编辑过程,而不是让代码在屏幕上飞速滚动。终端也是一个很棒的“氛围编程”工具,如果你不太在意生成的代码细节,你可以用它快速生成一个小应用。它更侧重于交互本身,而不是代码。所以,这取决于你想做什么。但我们仍处在实验阶段,正在尝试不同的东西,并且会继续下去。

Greg Brockman: 是的,我非常同意。我也认为我们未来的一个重要方向是加强这些工具之间的整合。人们能够使用多种工具,你有你的终端、浏览器、GitHub 网页界面、本地的代码仓库等等。人们已经学会了在合适的时机选择合适的工具。因为我们正处于实验阶段,这些工具可能会感觉很分散、很不同,你需要学习每种工具的新技能和特性。我认为,随着我们的迭代,我们的责任是思考如何将它们整合在一起。你已经能看到一些迹象了,比如 Codex ID 扩展能够运行远程的 Codex 任务。我认为,我们最终的愿景是,应该有一个 AI,它既能访问自己的计算机和集群,也能在你身边“看着你”,在本地帮助你。这些不应该是相互独立的。它应该是一个统一的编程实体,随时准备帮助你、与你协作。

Thibault Sottiaux: 就像我与 Greg 协作时,我不会抱怨他有时在 Slack 上,有时我当面和他交谈,有时通过 GitHub 的代码审查进行互动。当你与人类协作者互动时,这看起来非常自然。这也是我们思考 Codex 的方式——一个智能体实体,旨在在你努力实现目标时为你提供强大的支持。

Andrew Maine: 我们来谈谈它的一些使用方式,比如 agents.md。你能解释一下吗?

Thibault Sottiaux: agents.md 是一组你可以提供给 Codex 的指令,它与你的代码放在一起,这样 Codex 就能获得更多关于如何最好地导航代码和完成任务的上下文信息。我们发现,在 agents.md 中放入两类信息特别有用。首先,它像一种压缩,让智能体直接读取 agents.md 比探索整个代码库更高效。其次,是一些在代码库本身中不明确的偏好设置,比如你可以指定“测试应该放在这里”,或者“我喜欢用这种特定的方式来完成任务”。这两类信息——偏好设置和高效导航代码库的说明——在 agents.md 中非常有用。

Greg Brockman: 是的,我认为这里有一个非常根本的问题:你如何向一个没有任何上下文的智能体传达你的意图和偏好,以节省它像人类一样需要的那种“启动时间”。我们为人类也做同样的事情,比如我们写 readme.md,这只是一个约定俗成的文件名,让智能体知道去哪里查找信息。但这也有些“一次性”。现在的智能体记忆力并不好。比如,当你第十次运行你的智能体时,它是否从前九次解决难题的经验中获益了呢?我认为,我们需要进行真正的研究,来思考如何实现记忆,如何让一个智能体能够去探索并深入理解你的代码库,然后利用这些知识。这只是众多例子之一,我们看到了未来研究进展将带来的巨大成果。

内部工具 10x 与 Codex 代码审查

Andrew Maine: 现在的竞争非常激烈。曾几何时,OpenAI 对许多人来说像是凭空出现的,突然间就有了 GPT-3,然后是 GPT-4。现在,Anthropic 也在构建很棒的模型,Google 的 Gemini 也变得非常出色。你们如何看待这个格局?你们如何定位自己?

Greg Brockman: 我认为还有很大的进步空间。我不太关注竞争,而更关注潜力。我们在 2015 年创立 OpenAI 时,就认为 AGI 可能会比人们想象的更早到来,我们希望在它的发展过程中扮演一个积极的角色。思考这意味着什么,并将其与实际执行联系起来,一直是我们的主要任务。当我们开始弄清楚如何构建既强大又有用、能真正帮助人们的模型时,将它带给人们就成了一件至关重要的事情。你可以看看我们一路走来做出的选择,比如发布 ChatGPT 并广泛提供免费版本。我们这样做是出于我们的使命,因为我们真心希望 AI 能普及、普惠,让每个人受益。所以,在我看来,最重要的事情是继续保持指数级的进步,并思考如何以积极和有用的方式将它带给人们。

目前,我们已经有了像 GPT-4 级别的预训练模型,并在其之上应用了强化学习,使其更加可靠和智能。这就像,如果你只是阅读了整个互联网,观察了大量的人类思想,然后第一次尝试写代码,你可能会很吃力。但如果你有机会去解决一些困难的编程问题,有一个 Python 解释器,能使用人类所用的工具,那么你就会变得更加稳健和精通。我们现在已经将这些部分协同工作,但我们必须继续将它们推向新的水平。很明显,像重构大型代码库这样的任务,还没有人完全攻克。但没有根本性的理由说我们做不到。我认为,一旦你做到了这一点,代码重构将成为企业的杀手级应用。如果你能将代码迁移的成本降低一半,我认为最终的迁移量会增加十倍。想想那些还停留在 COBOL 的系统,现在已经没有人在培养 COBOL 程序员了。这种依赖性对世界来说,无疑是在积累负债。唯一的出路就是构建能够解决这些问题的系统。所以我认为这是一个巨大的开放空间,指数增长仍在继续,我们必须坚持下去。

Andrew Maine: 今天我最喜欢的一件事是 OpenAI 发了一条推文,教人们如何使用 CLI 从 completions API 切换到 responses API。这是一个很好的用途。我期待看到更多这样的例子,比如给 Codex 特定的指令去可靠地执行重构任务,然后你就可以放手让它自己完成。这真是太棒了。

Thibault Sottiaux: 代码迁移是最糟糕的事情之一,没人想做。没人愿意把一个库换成另一个,然后还要确保一切正常。如果我们能将大部分过程自动化,那将是一个非常美好的贡献。

Greg Brockman: 是的,我认为还有很多其他领域。比如,安全补丁很快会变得非常重要,我们正在非常审慎地考虑这个问题。还有,让 AI 能够创造新工具。想想 Unix 的标准工具集有多么重要,如果 AI 能构建对自己、对你都有用的工具,你就能建立一个复杂性或实用性的阶梯,不断推动效率的飞轮。AI 不仅能写代码,还能执行任务,比如管理服务或做 SRE (网站可靠性工程) 工作。所有这些都已初现端倪,但还没有达到我们期望的水平。

Thibault Sottiaux: 我们在 OpenAI 内部攻克了一个大难题,并最终决定将其作为“代码审查”功能发布。我们注意到,随着代码量的增加,代码审查成了我们的一大瓶颈,团队成员需要做大量的审查工作。因此,我们决定专注于开发一个高信噪比的 Codex 模式,它能审查一个拉取请求 (PR),深入思考你想要实现的契约和意图,然后检查代码,验证意图是否在代码中得到了匹配和实现。它能深入多层,查看所有依赖项,思考契约,并提出一些连我们最优秀的员工、最顶尖的审查者都可能需要花费数小时深入思考才能发现的问题。

Greg Brockman: 我们首先在 OpenAI 内部发布了这个功能,非常成功。当它出问题时,人们甚至会感到不安,因为他们觉得失去了那个安全网。它极大地加速了包括 Codex 团队在内的所有团队。在我们发布 IDE 扩展的前一天晚上,我团队里的一位顶尖工程师提交了 25 个 PR,Codex 自动发现了不少 bug。结果,我们第二天发布的 IDE 扩展几乎没有 bug。所以,它的效率是惊人的。

Thibault Sottiaux: 有趣的是,对于这个代码审查工具,人们起初非常紧张,不愿意启用它。因为我们以前所有自动代码审查的尝试,结果都是一堆噪音。你只会收到一封来自某个机器人的邮件,然后像对待其他垃圾邮件一样忽略它。但我们现在的发现恰恰相反。这表明,当一项技术的能力低于某个阈值时,它感觉完全是负资产,你不想听也不想看。一旦它跨过那个实用性的门槛,人们就会突然需要它,如果被拿走还会非常沮愈丧。

Greg Brockman: 而且我们的观察是,如果某项 AI 技术现在“还行”,一年后它就会变得极其可靠,成为关键任务的核心。我认为代码审查正朝着这个方向发展。

Thibault Sottiaux: 代码审查的另一个有趣之处在于,它能让人们参与进来,成为一个真正的协作者。我们思考了很多,如何呈现这些发现,让你愿意去阅读,甚至能从中学到东西,即使它有时是错的。你能理解它的推理过程,而大多数时候——实际上超过 90% 的时候——它是对的。无论你是代码的作者还是帮助审查的人,你常常能学到新东西。

Greg Brockman: 回到我们之前谈到的进步速度,有时停下来回想一下过去是很有趣的。我记得在 GPT-3 和 GPT-4 的时候,我们很关注“固执己见”的问题。你还记得吗?如果 AI 说错了,你指出它的错误……

Andrew Maine: 哦是的,它会跟你争辩。

Greg Brockman: 对,它会试图说服你它是对的。我们现在已经远远超出了那个阶段。我敢肯定在某些偏僻的边缘情况下,它可能还会这样,就像人类一样。但令人惊奇的是,我们现在已经达到了一个水平,即使它没有完全命中要害,它指出的问题也都是有意义的,并且有相当合理的思考。我每次看完这些代码审查,都会觉得:“嗯,好吧,这确实是个好观点,我应该考虑一下。”

为何 GPT-5 Codex 能在复杂任务上运行数小时

Andrew Maine: 我们现在正进入 GPT-5 的发布阶段,在录制这期播客时,我们已经有了 GPT-5 Codex,对此我们非常兴奋。那么,先生们,我为什么应该对此感到兴奋?请说服我。

Thibault Sottiaux: GPT-5 Codex 是我们为 Codex 优化的 GPT-5 版本。我们前面谈到了“Harness”,它就是为“Harness”而优化的。我们把它看作一个完整的智能体,模型与工具集紧密耦合,从而更加可靠。这个模型的一个特点是能够持续工作更长的时间,在处理复杂的重构任务时展现出所需的那种“毅力”。但同时,对于简单的任务,它的响应速度又非常快,几乎不假思索。所以,它就像一个出色的协作者,你可以问它关于代码的问题,找到需要修改的代码片段,或者更好地理解计划。同时,一旦你让它开始处理某件事,它会持续工作很长时间。我们内部观察到,它在处理非常复杂的重构任务时,最长工作了七个小时。我们以前没见过其他模型能做到这一点。我们还在代码质量上做了大量工作,它针对人们在 Codex 中使用 GPT-5 的方式进行了深度优化。

Andrew Maine: 当你说它能工作更长时间,比如长达七个小时,这不仅仅是说它在不断地将内容重新放入上下文,而是它在做决策,判断什么是重要的,并向前推进吗?

Thibault Sottiaux: 是的。想象一个非常棘手的重构任务。我们都遇到过这种情况:你觉得你的代码库已经无法维护,需要做一些改动才能继续前进。于是,你制定一个计划,然后让模型——让 GPT-5 Codex 去执行。它会逐一解决所有问题,让测试运行起来,让测试通过,最终彻底完成重构。这是我们观察到它能做到的事情之一,最长可持续七个小时。

Andrew Maine: 哇。

Greg Brockman: 是的,我觉得最了不起的是,这些模型的核心智能实在是太惊人了。我觉得,即使是三到六个月前,我们的模型在导航我们内部代码库以查找特定功能方面的能力,就已经比我强了。

Andrew Maine: 这需要非常高的技巧。你会不会因此解雇自己?你会说:“Greg,对不起……”吗?

Greg Brockman: 这正是我想要的,因为我能做更多的事情。我难道想把时间花在查找代码库的功能上吗?我难道希望人们因为这个记住我吗?当然不。这并不是我定义自己作为工程师的价值,也不是我想花时间做的事情。

重构与企业级用例的兴起

Greg Brockman: 我认为这才是核心。这种惊人的智能,首先能帮你摆脱所有那些单调乏味的工作。当然,有些部分也很有趣,比如思考系统架构,它是一个很好的合作伙伴。但我可以选择如何分配我的时间。我可以思考,需要多少个智能体来处理什么任务?我该如何分解问题?所以,我把它看作是为程序员扩展了机会。我是一个忠实的 Emacs 用户,但也开始使用 VS Code、Cursor、Windsurf 这些工具,部分是为了尝试新东西,部分是因为我喜欢工具的多样性。但要让我离开我的终端,真的很难。

Andrew Maine: 哇。

Greg Brockman: 但我发现,我们现在已经跨过了一个门槛。我现在做一些重构时会想:“我为什么还在手动输入这些东西?”或者,当你试图记起某个特定的语法,或者做一些非常机械化的事情时,我会觉得,我真希望有个实习生来帮我做。但现在,我的终端里就有这么一个“实习生”。我们能拥有这种核心智能,并且可以选择何时以及如何使用它,这真是太神奇了。

Andrew Maine: 请也把 Whisper 加到扩展里吧,因为我现在就喜欢对着模型说话,让它做事。

Greg Brockman: 是的,你应该能和你的模型进行视频聊天。我认为我们正朝着一个真正的协作者、一个真正的同事的方向发展。

智能体软件工程师的未来

Andrew Maine: 是的,我们来谈谈未来。你认为未来会是怎样的?智能体的未来有什么激动人心之处?我们将如何使用这些系统?

Thibault Sottiaux: 我们坚信,未来的方向是大量的智能体在云端的某个地方运行,而我们,作为人类、团队和组织,来监督和引导它们,以创造巨大的经济价值。所以,几年后,情况会是这样:数以百万计的智能体在我们的或公司的数据中心里做着有用的工作。现在的问题是,我们如何逐步达到那个阶段,以及如何试验正确的形态和交互模式。

安全、监督与智能体的人类意图对齐

Thibault Sottiaux: 其中一个极其重要、需要解决的问题是所有这一切的安全性、保障和对齐 (alignment),这样智能体才能在安全的前提下做有用的工作,而你作为操作者,作为人类,始终能保持控制。这就是为什么在 Codex CLI 中,智能体默认在沙箱 (sandbox) 环境中运行,不能随意编辑你电脑上的文件。我们将继续大力投入,确保环境安全,研究何时需要人类引导,何时需要人类批准某些操作,并提供越来越多的权限,让你的智能体有自己的一套权限,在你允许的情况下使用,并在需要执行风险更高的操作时,可以申请提升权限。我们需要构建起整个系统,使其成为一个多智能体、可由个人、团队和组织引导的系统,并将其与组织的整体意图对齐。在我看来,这就是未来的方向。虽然有点模糊,但也非常令人兴奋。

Greg Brockman: 是的,我认为完全正确。从微观层面看,有很多技术问题需要解决,就像 Thibault 提到的可扩展监督 (scalable oversight)。你作为一个人类,如何管理那些在外面大量编写代码的智能体?你可能不想逐行阅读所有代码。

Andrew Maine: 大概现在大多数人也不会读这些系统产出的所有代码。

Greg Brockman: 但你如何……

Andrew Maine: 我当然会读。

Greg Brockman: 没错。但你如何保持信任?如何确保 AI 产生的东西是正确的?我们有技术方法来解决这个问题,大概从 2017 年起,我们就开始思考这类问题,并首次发表了一些策略,探讨如何让能力较弱的人类或 AI 去监督能力更强的 AI,从而逐步确保它们在执行重要任务时,我们能保持信任和监督,并真正掌握主导权。这是一个非常重要的问题,在思考更强大的编程智能体时,它以一种非常实际的方式体现出来。但我认为还有其他容易被忽略的维度。因为在 AI 能力的每个阶段,人们都容易过度拟合他们所看到的,认为“哦,这就是 AI,AI 就应该是这样”。但我们还没看到的是 AI 解决真正困难的新问题。现在,你可能会想,我需要做一个重构,你至少对它的大致形态有个概念。它会帮你做很多工作,节省大量时间。但如果是解决那些用其他任何方法都无法解决的根本性问题呢?

我不只在编程领域思考这个问题。想想医药领域,开发新药;想想材料科学领域,创造具有新特性的新材料。我认为,即将出现的大量新能力将解锁这类应用。所以,对我来说,一个重要的里程碑是,AI 第一次创造出一个本身就极具价值和趣味性的东西,不是因为它是由 AI 创造的,也不是因为它生产成本更低,而仅仅因为它本身就是一个突破,是新颖的。这个创造物甚至不一定需要由 AI 自主完成,而是在与人类的合作中产生,并且 AI 是其中不可或缺的一环。我们已经开始看到这方面的迹象。在生命科学领域,人类实验者向 GPT-3 询问五个实验方案,他们尝试了这五个方案,四个失败了,但有一个成功了。我们收到的反馈是——这还是在 GPT-3 时代——其结果的水平相当于一个三、四年级的博士生,这太疯狂了。

Andrew Maine: 那还是 GPT-3 时代。

Greg Brockman: 在 GPT-5 和 GPT-5 Pro 上,我们看到了完全不同的结果。我们看到科研人员说:“好的,这确实在做一些真正新颖的东西。”有时,它并不是独立解决了什么宏大理论,而是在合作中,将人类的能力延伸到远超以往的领域。对我来说,这是我们需要继续推动和做好的关键事情之一。

2030 年的编程(与计算)展望

Andrew Maine: 当我和人们谈论未来时,我面临的一个挑战是——我也想听听你们的看法——人们倾向于想象未来只是现在的样子加上一些闪亮的衣服和机器人。他们会想,当机器人编写所有代码时会发生什么?你提到了一个事实,有些事你喜欢做,有些事你不在乎。到 2030 年,我们会是怎样的?五年前是 GPT-3 的时代,现在,五年后,2030 年会是怎样的?我们六个月前甚至还没有这些工具。所以很难想象五年后会是什么样子。

Andrew Maine: 但五年后,我会拿着这段播客从某个角落里跳出来说:“你当时是这么说的。”

Thibault Sottiaux: 到时候你的智能体会替你做这件事。

Andrew Maine: 是的,是的。

Thibault Sottiaux: 有一点很重要,对于那些作为关键基础设施、支撑着社会的代码,我们需要继续去理解,并拥有理解它们的工具。这也是我们考虑代码审查的原因,代码审查应该帮助你理解代码,成为一个队友,帮助你深入研究由别人——可能是在 AI 帮助下——编写的代码。我甚至认为,我们现在已经面临一个问题:有大量的代码并不一定安全。这种情况时有发生。我记得大概是 12 年前的 Heartbleed 漏洞,一个在整个互联网上广泛使用的关键软件出现了严重漏洞。你意识到这并非个例,还有很多漏洞没有被发现。所有那些来自 npm 的包,所有那些 PyPI 包,都可能被植入漏洞。一直以来的模式是,攻击者变得越来越复杂,防御者也变得越来越强,这是一场猫鼠游戏。有了 AI,你可能会想,它会对哪一方更有利?或许它只会加速这场游戏。但我认为,我们有希望通过 AI 解锁一些全新的能力。

比如,形式化验证 (formal verification),这可以说是防御的终极手段。

Greg Brockman: 嗯。我认为这非常令人兴奋。我们不应该只思考如何继续这场永无止境的竞赛,而应该思考如何最终实现更高的稳定性、更好的可理解性。我认为还有其他类似的机会,让我们能够以一种目前几乎超出了人类理解能力的方式,去理解我们构建的传统软件系统。

Thibault Sottiaux: 我们构建 Codex 的原因之一,是为了改善世界上的基础设施和代码,而不一定是为了增加代码的数量。这是一个非常重要的点。它也旨在帮助发现 bug、进行重构、找到更优雅、性能更好的实现方式,以达到同样的目的,甚至实现更通用的功能,而不是最终得到一亿行你根本不理解的代码。我非常期待的一点是,Codex 如何能帮助团队和个人编写更好的代码,成为更好的软件工程师,并最终构建出更简单但功能更强大的系统。

Greg Brockman: 我认为 2030 年的部分前景是,我们将生活在一个物质极大丰富 (material abundance) 的世界。AI 将使创造任何你想要的东西变得比你想象的容易得多,这可能不仅限于数字世界,也包括物理世界,其方式难以预测。但我认为那也将是一个计算资源极度稀缺 (compute scarcity) 的世界。我们在 OpenAI 内部已经对此有所体会。不同研究项目之间对计算资源的争夺,以及研究项目的成功在多大程度上取决于计算资源的分配,这一点怎么强调都不过分。我们将生活在一个你的创造能力部分受限于你的想象力,但部分也受限于其背后的计算能力的世界。所以我们经常思考的一个问题是,如何增加世界上的计算资源供应。我们想提升智能,也想提升智能的可用性。这从根本上说,是一个物理基础设施问题,而不仅仅是软件问题。

Andrew Maine: 我知道 GPT-5 有一点很了不起,就是我们能把它作为免费版和 Plus/Pro 套餐的一部分提供。你可以用 Plus 套餐使用 Codex,获得和别人一样的 GPT-5 版本。这种智能令人难以置信,而且模型本身也非常具有成本效益。

Greg Brockman: 我觉得对我来说,最突出的一点是,模型的能力强了很多,但价格却与之前的模型持平,甚至在某些方面更便宜。这让我觉得“哇,太棒了”。

Andrew Maine: 我认为,我们在提升智能的同时降低价格,这一点很容易被忽略或认为是理所当然的,但实际上这太疯狂了。

Greg Brockman: 我记得我们好像对 GPT-3 做了 80% 的降价。如果你回到你提到的每千个 token 6 美分的 GPT-3 级别的智能,就能体会到。

Andrew Maine: 是的,之前有报纸发文抱怨说,这些推理模型让成本变高了。但他们没有比较过去六七个月里推理模型与推理模型之间的变化,以及它们变得多么高效。

Greg Brockman: 是的,而且这种情况会持续下去。关于计算资源稀缺的问题,我觉得有一个很有启发性的想法。现在人们在谈论构建拥有百万甚至数百万 GPU 的大型集群。如果我们达到一个点——这可能并不遥远——你希望有智能体持续为你工作,那么每个人都希望有一个专用的 GPU 来运行他们的智能体,这是很合理的。这样一来,我们就需要近 100 亿个 GPU。我们离这个数量还有好几个数量级的差距。所以,我认为我们的部分工作是,弄清楚如何供应这些计算资源,如何让它们在世界上存在,以及如何最大限度地利用现有的非常有限的计算资源。这是一个效率问题,也是一个提升智能的问题。但很明显,要实现这一切,需要大量的工作和建设。

Thibault Sottiaux: 关于智能体、GPU 和它们行动之间的关系,有一个有趣的现象。让 GPU 离你更近是非常有好处的。因为当它在几分钟内执行 200 次工具调用时,它总是在 GPU 和你的笔记本电脑之间来回通信,执行调用,获取上下文,然后继续思考。所以,将 GPU 带到人们身边,是一个很好的贡献,因为它极大地降低了整个交互和执行过程的延迟。

建议:为何现在仍是学习编程的好时机

Andrew Maine: 先生们,我们经常被问到一个关于未来、关于劳动力的问题。第一个问题:学编程,还是不学编程?

Greg Brockman: 我认为现在是学习编程的绝佳时机。是的,我同意。一定要学编程,但更要学如何使用 AI。对我来说,这才是最重要的。

Thibault Sottiaux: 使用 Codex 来学习一门新的编程语言,是一种非常愉快的体验。我团队里很多人之前不熟悉 Rust,但我们决定用 Rust 来构建核心的“Harness”。看到他们能如此迅速地掌握一门新语言,真是太棒了。他们通过使用 Codex、提问、探索一个不熟悉的代码库,仍然能取得很好的成果。当然,我们也有经验丰富的 Rust 工程师来继续指导,确保我们保持高标准。但现在确实是一个学习编程的有趣时代。

Greg Brockman: 我记得我学编程的方式是看 W3Schools 的教程,学 PHP、JavaScript、HTML、CSS。我记得在我构建我最早的一些应用时,我试图解决一个问题——当时我甚至不知道这个词叫“序列化数据”(serialize data)。我设计了一种结构,用一个非常特殊的字符序列作为分隔符。但如果你的数据里恰好也包含了这个字符序列怎么办?我们还是别谈这个了。所以我必须用一个非常特殊的序列。这类问题,你在教程里是找不到答案的。但 Codex 在代码审查时会告诉你:“嘿,有 JSON 序列化,用这个库就行了。”绝对会。所以,我认为它能加速学习,让编程变得更容易,你不用再重复造那么多轮子。它能为你提出你甚至不知道需要问的问题,或者回答它们。对我来说,这就是为什么现在是创造的最好时机。

Thibault Sottiaux: 我通过观察它如何解决问题学到了很多东西,发现了新的库、新的方法。我常常喜欢给它一个疯狂的任务,比如“如何只用一千行代码创建你自己的语言模型?”有时它可能会失败,但你可以看看它尝试的方向,然后你会想:“哦,我甚至不知道还有这种东西。”还有一点是,那些用 AI 编程最成功的人,也都是认真学习过软件工程基础知识的人。他们会搭建好正确的框架和架构,思考如何组织代码库,然后在 AI 的帮助下,遵循这个蓝图前进。这能极大地加速你的进程,让你能走得比没有理解代码时远得多。

Andrew Maine: 自从你们发布这个,开放 GPT-5,并能够用 Codex 部署以来,你们看到的使用率如何?

Thibault Sottiaux: 使用量一直在爆炸式增长。我们看到各类用户的使用量增长了超过 10 倍,而且老用户的使用频率也更高了。我们看到了更复杂的使用方式,人们使用它的时间也更长了。我们现在把它包含在 Plus 和 Pro 套餐里,并提供了慷慨的额度,这对它的成功贡献很大。

Greg Brockman: 是的,我认为氛围也开始转变了,人们开始意识到应该如何使用 GPT-5。它的风格有点不同。我们有自己的一套关于“Harness”、工具以及它们如何协同工作的生态系统。我认为,一旦人们领悟了这一点,他们的速度就会变得非常快。

Andrew Maine: 先生们,非常感谢你们来这里和我们聊了这么多。还有什么最后的想法吗?

Greg Brockman: 感谢你的邀请。我们对未来的一切都感到非常兴奋。我们还有很多东西要去构建,指数级的进步仍在继续。我认为,将这些工具带给每个人,让它们变得可用和有用,是我们使命的核心。

Thibault Sottiaux: 是的,感谢邀请。我现在也非常兴奋,因为我们有了 Codex,而且它还在不断改进。我们自己也在加速,每天都在构建更好的 Codex。就我个人而言,我现在和 Codex 交流的时间可能比和大多数人交流的时间都多。这真的让我感受到了 AGI。我希望更多人能从中受益。


AI 前线

DHH:编程的未来、人工智能、Ruby on Rails、生产力与育儿 | Lex Fridman 播客 #474

2026-1-3 2:07:21

AI 前线

Jina Embeddings V4: 为搜索而生,多模态多语言向量模型

2026-1-3 2:07:23

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索