Transcription
(音乐) 真是生逢其时,EJ。
是的。
你能告诉我们一个很多人都在问的问题吗?OpenAI 内部现在正在发生什么?
(笑声) 更具体地说,当涉及到工程师如何构建软件以及整个事情如何变化时。
我很高兴你澄清了有很多事情正在发生。我在那里大约六个月了,我学到的一件事是,从公司正在进行的研究中可以学到很多东西。而展望未来的可能性简直令人震惊。所以我要告诉你,我们编写软件的方式已经发生了根本性的变化,它变化得如此之大,甚至在过去的六个月里,我看到我们从将 Codex 作为工具,到将其作为扩展,现在作为代理,再到作为队友。我完全期望工程师现在会给他们的代理命名,并称它们为他们的队友,这发生得如此之快。我浏览了一些内部使用 Codex 的人的排行榜,一些工程师每周例行达到数千亿个 token。这不仅仅是一个代理。我们说的是,上周我们内部发布了 Codex Box,这是一种让我们可以在服务器上实际预留开发盒子并发出提示的方式,它正在完成工作。当你在笔记本电脑上协调所有这些事情时,它正在完成工作,然后人们关闭笔记本电脑,去开会,回来后所有工作都已完成。所以这正在并行发生。这就是 OpenAI 内部软件发生根本性变化的方式,我迫不及待地想看到所有这一切在硅谷中心发生,然后在几个月内进一步扩展。我认为这将成为常态。每个人都将以这种方式开发软件。这很酷。
所以,如果我回到六个月前,甚至一年前,听到你这么说,我会觉得,哦,这就像一个神奇的童话故事。你编造了一半。然而,实际上我们很多人都在使用它。我正在使用它。我看到了正在发生的事情。我一直在和 OpenAI 内部的工程师交谈。我喜欢和工程师交谈,因为他们直言不讳,这正是务实引擎工作的部分秘密。我与那些没有接受过媒体培训或诸如此类事情的工程师交谈,他们只是 (笑声) 只是告诉我真实情况。在 OpenAI 内部,有一件事让我感到很安慰,老实说,并非所有工程师都用 Codex 编写 100% 的代码,他们都在更多地使用它,但这里有很多层次。然而,有一个团队绝对处于前沿,我又和很多工程师谈过,那就是 Codex 团队,他们甚至领先于 OpenAI 内部的其他团队。所以 Tibo,就像你领导着 Codex 团队一样。你能告诉我 Codex 团队今天是如何运作的吗?以及一个工程师目前(就像昨天或今天早上一样)的典型工作流程是怎样的?
对。这是一个快速演变的情况。Codex 团队运作方式的令人欣喜之处在于,他们几乎每周都在不断地重新发明自己的工作方式。我们追求的是,我们识别每一个小瓶颈,而瓶颈不断变化。所以,以前是代码生成,然后是代码审查,现在更多的是,我们如何更快地理解用户需求?我们如何处理工单?我们如何弄清楚 Twitter、Reddit 以及所有重要平台上大家都在说什么,并将其综合成一个策略,每个人都在使用并试图充分利用代理来实现最佳效果。一个有趣的事情是,前几天,在一次谈判中,有人试图加入评论团队,这个人问我,我将获得多少计算资源来在 OpenAI 构建产品。我当时想,嗯,这是一个有趣的问题。我的意思是,我们确实有很多计算资源,但我从未真正考虑过,所以这就像每个员工的计算资源包。通常这更像是为那些正在训练真正非凡模型的研究人员保留的。所以我认为这里存在这种转变,人们意识到你可以通过各种新颖的方式极大地提升自己,如果你有好的品味、好的想法,你知道如何构建软件,那真是生逢其时,你所能做的一切简直令人难以置信。
而稍微退一步,跳出 Codex 团队,VJ,你对 OpenAI 内部有很多了解,软件工程师或者说产品工程师的工作正在如何变化?OpenAI 一直明确招聘既是软件工程师又是产品工程师的人。他们的工作如何变化?事情如何与产品融合或没有融合?
嗯,根本上我们仍在为人类构建产品。因此,即使在很多情况下,产品直觉也会发挥作用。感谢新的 onep 应用程序,它让每个人都能更容易地开始编码,我一直在使用 Codex。即使在很多情况下,我们必须想象我们必须构建和发布的产品,这就是起点,然后你必须不断调整它以使其达到正确的位置。我不认为这会改变。只要我们继续为人类构建软件。我的意思是,未来某个时候我们可能会为代理构建软件,但那时也许代理会成为产品工程师或产品经理。但是,我认为这种速度使其更具吸引力、更引人注目,老实说也更有趣。我当时在飞机上编码。那时,我无法访问开发盒子,但你有点像保持笔记本电脑开着,当空乘人员过来时,就像你必须关闭笔记本电脑一样。不,不,但我不想让代理停止,所以我让它稍微开着,然后放下。
现在每个人都拿着半开的笔记本电脑跑来跑去,就像。
是的,我们在做什么?我想,我想那,你知道,我实际上认为现在构建软件更有趣,因为满足周期大大缩短了,看到你正在构建的产品,测试它,验证它,然后回到 Codex,这真的很酷。
作为工程师,我们是工程师,你现在开始看到哪些新的、不同的或奇怪的工程实践,尽管奇怪,但它开始变得有意义?以前,你知道,你会有一些困难的技术权衡,然后你可能会做一个设计文档并讨论所有内容,然后你可能会想,哦,还有哪些可行的替代方案,然后你就会放弃它们。我认为令人欣喜的是,现在我看到人们并行探索多种不同的实现方式,然后我们就可以真正专注于我们证明效果更好的那个。另一件事是,我也看到规则变得模糊。所以,我们的设计师现在交付的代码比六个月前工程师交付的还要多。这仅仅是因为模型已经足够好,他们生成的代码实际上是我们愿意直接合并的代码。
在更广泛的 OpenAI 中,你还看到了什么吗?我注意到,我不知道你们是否都记得你使用的每个命令行工具的命令行?我不想挑剔,就像我当时和 Tibo 谈论他的团队编辑视频文件一样,如果你知道 ffmpeg,我想没有人记得那些命令行。Codex 是一个很棒的工具,你可以说“我想做这个”,然后它会生成命令行并执行。所以这些是我们看到人们专门使用 Codex 的新方式。我还认为,我们现在已经从仅仅编码转向代码审查、安全审查,然后就像 Dibo 说的,我们将发现更多瓶颈。所以一旦你解决了编码问题,例如,你现在就让每个工程师的生产力提高了五倍。接下来会发生的是,将会有更多的代码被编写,这意味着代码审查将成为瓶颈,然后代码审查之后,集成和部署 CI/CD 将成为瓶颈。所以我们必须不断去解决下一系列问题,这实际上非常令人兴奋。然后 Tibo,当我们谈论你在 Codex 所做的事情时,我从未听说过的一件非常有趣的事情是这些通宵运行和自测试。你能告诉我们这些吗?因为这真是全新的。
是的,我认为人们很容易陷入“哦,这只是增强版的自动完成,它只会实现一个小功能,肯定会在 10 分钟内完成”的思维定式。但我们看到的是,如果你给模型一个非常大的任务,它的能力会强得多。它能够运行数小时。所以,我们组装了环境和技能,以便 Codex 可以完全自主地测试自己。我们通宵运行它,这样它基本上就像循环进行质量保证,并标记出回归问题。另一件事是,我一直在和团队中实际训练模型的研究员交谈,他总是说,每次我以为我比 Codex 更能干时,我都会发现我错了,我只是没有正确地提示它,或者没有正确设置它。你知道,这既令人兴奋又有点令人沮丧。因为他会说,哦,现在它只是完全独立地训练模型,并在最后写一份小小的 PDF 报告,其中包含自己的见解和发现,然后我们拿走这些,然后找到最有希望进行迭代的东西,然后将其重新输入 Codex。所以,这些非常非常长时间运行的任务和成就,看到一个模型独立完成这些,真是令人难以置信。
是的。我们还谈到了一件事,对我来说有点像科幻小说,你说有时你们开会,Codex 团队开会讨论 Codex 和你们遇到的问题,你告诉我一件有趣的事情,你知道,人们聚集在会议室里,然后你启动 Codex 线程来诊断 Codex 的问题,你能告诉我们一点点这如何运作吗?因为这就像一个自我循环。
是的,我们在这方面做了两件大事。所以我们有每周分析回顾,我们会回顾功能采纳、留存率,我们会分析我们的漏斗,我们总是以我们有一些问题开始会议,这些问题在我们的仪表板中没有答案,或者我们还没有深入研究,我们只是觉得“哦,这看起来很有趣”,然后我们的数据分析师就会说“好的,我们开会吧,我们启动一个小的 Codex 线程在后台运行,你知道,它会在 20 分钟内返回,我们就会有答案”,然后我们可以在会议的最后 10 分钟讨论它。然后我们对房间里人们提出的五六个问题都这样做,这有点像一种神奇的体验,就像有这些小顾问在后台为我们工作。另一件事是,无论什么,就像我们得到报酬一样,Codex 就在那里,帮助找出哪里出了问题,最快的恢复路径是什么,在那里感觉一切都加速了这么多,我们能收集多少信息,以及能多快解决问题。所以这是一个方面,它绝对正在加速,我们也在其他地方看到了这一点。行业中不断出现的一个大问题是,新毕业生怎么办?初级工程师怎么办?我当时和 OpenAI 的工程主管交谈时,他说了一件有趣的事情,那就是你们正在招聘早期职业工程师。你能谈谈这方面的情况吗?很高兴听到这个消息。你能谈谈进展如何,你从他们身上看到了什么?那些担心初级工程师不太好,因为现在高级工程师可以使用 AI 代理的担忧,这些担忧有多大根据,他们是如何快速适应的?
嗯,我们正在招聘很多刚毕业的大学生。我们今年也有一个相当完善的实习项目。我实际上真的相信,正在产生的新软件工程师将是 AI 原生代。他们将以原生方式了解这些工具。他们将能够从第一天起就利用我们的 AI 工具。我认为给予他们机会将是至关重要的,在这种环境中培养他们将是惊人的。我迫不及待地想看到这个。所以今年夏天是我们第一批将进入 OpenAI 的新毕业生,我对此感到非常兴奋。大约会有一百人左右。然后,我想继续发展我们在 OpenAI 的实习项目。所以,是的,在这个时代,这将是一件非常非常酷的事情。
然后 Tibo,你具体是如何让人们适应编码体验的?即使在 OpenAI 内部,我的感觉是 Codex 团队的工作方式可能领先你们几个月或几周。当新人,无论是来自外部还是来自 OpenAI 内部,他们如何快速了解团队如何运作?
所以我们,我以一种非常扁平化的组织方式管理团队,我有 33 名直接下属,他们只是跑来跑去,做一些很酷的事情,你知道,我不想成为瓶颈。我认为这是作为领导者,很容易就不够快地改变组织结构,以适应人们实际构建的速度,而一个人成为每个决策的瓶颈显然不再可行。但人们首先接触到的显然是 Codex 本身,对吧?所以 Codex 负责入职培训,你知道,你只需向 Codex 提问,浏览代码库,了解其他人在做什么,收到每日报告。但负责入职培训、文化和我们如何构建的人,也是最近才加入团队的人。我发现,实际上,谈到新毕业生,我有一个了不起的新毕业生六个月前加入了团队,他表现得非常出色。这有点出乎意料,但我明白,这个人拥有无限的精力,比我多得多。你知道,他超级超级快。我想,我的大脑可能已经开始衰退了。你知道,像 Ahmed 这样的人的大脑正处于绝对巅峰状态。他是一个了不起的人,他在团队中非常成功,这真是令人欣喜。现在扮演一下“魔鬼代言人”(清嗓子),我们很多更有经验的人,他们见过新毕业生成长为非常成功的专业人士,我们看到至少到目前为止,基础非常重要。那么你认为如果我们的新人的基础是使用 AI 编码,并且他们可能跳过了我们做了 10、20 年甚至更久的事情,会发生什么?他们是否正在建立正确的基础,或者我们是否在这里提出了正确的问题?
即使基础仍然非常重要,对吧?所以我们非常注重设计整体代码库,你知道,就像注重整体架构一样。你知道,就像你说的,我们进行代码审查,我们不会完全依赖 Codex 编写所有东西,然后闭上眼睛说“这会没事的”。我们也有最优秀的工程师在做这项工作,但我发现新毕业生能够吸收这些,然后,你知道,如果你的代码库有正确的结构,并且你设置了正确的护栏,那么他们会非常高效。所以我想这只是关于你正在设置的环境,以及提前思考这个代码库将如何演变。
那么,从软件工程师开始的角色与六八个月前相比有何变化?软件工程师做什么?如果你必须向一个新人解释他们会问什么,比如“嘿,VJ,我每天要做什么?”他们会做什么?
是的,我想,基础的概念,基础永远不会过时。所以无论如何都将永远重要。我想我们都在这里,因为我们有强大的基础,这把我们带到了这里。然后就软件工程师的角色而言,它已经改变了很多。我不知道你,我可能暴露了我在这个行业有 25 年的经验,我见过很多范式转变,我实际上在微软从事开发工具工作,编写了 Visual Studio 的编辑器和语言服务。所以当我第一次看到 IntelliSense 时,那是一个非常酷的时刻,你可以输入,然后敲击点,选项就会出现。
是的。但你还记得吗?我大约在那个时候进入这个行业,我周围的开发者都在说,如果你使用 IntelliSense,你就不是一个开发者。
是的。(笑声) 我的意思是,我见过那些,我的意思是,这可能在我那个时代之前,人们可能认为如果你不写汇编语言,你就不是一个好的软件工程师,然后是 C++,然后抽象层不断提高,然后人们曾经抱怨 JavaScript。还记得那些日子吗?我想那些事情真的不重要。关键是,只要你有扎实的基础,只要你有产品直觉,知道你在构建什么,并且能够上下遍历技术栈来解决问题,这些都将是更重要的。我不认为这会过时。我觉得情况会一直如此。
我们这里大部分是工程师、工程领导者,但我们也考虑一下产品经理和设计师。你如何看待他们的角色变化,尤其是在现在工程师和他们都能更快地构建功能的情况下?这如何改变他们的角色,或者我们是否越来越接近,或者在你看来他们仍然扮演着独特的角色?
嗯,我回到那句话,只要我们为人类构建产品,我们就需要人类设计师,我们需要人类产品经理。我想这是一个,你知道,我不知道,产品感或设计感是否有替代品,这些东西会发展,会变得更高效,有更多的抽象,但我们会继续发展,如果说有什么变化的话,那就是他们变得越来越高效。所以产品经理在编写代码,设计师在编写代码,他们将他们的专业设计投入生产,制作原型并在交给工程师之前进行验证。所以我想那些已经变得更高效了。你知道,这可能是,产品经理也在使用 Codex 制作 PowerPoint 幻灯片,我们还有 Excel 插件,所以就像是全方位的,不仅仅是工程师,周围的每个人都在变得更高效。
你在 OpenAI 内部做的一件很酷的事情,我听说过,就是这种内部知识共享,这种展示与讲述,团队展示他们所做的事情。你能告诉我们你是如何想出这个主意的吗?你们实际是如何操作的?你能告诉我们你看到团队展示的一些很酷的东西,以及其他团队可能采纳的东西吗?
是的,这很有趣,因为我们有点像在发现这项技术并使其发展,我们也与它共同发展。所以,你知道,就像你们所有人都在发现“嘿,AI 能为我做什么,这对组织或我的项目意味着什么”一样,我们也几乎同时在发现它。一旦我们有了一些感觉开始奏效的东西,我们就会将其发布到世界,对吧?所以我们只有很短的时间能够比你们所有人拥有更多的“水晶球”。而且,好的想法在组织中传播得非常快,这非常重要。所以,你知道,我们使用 Slack,Codex Slack 频道和热门提示是两个非常活跃的频道,然后,你知道,我们组织定期的黑客马拉松,比如展示与讲述,我们只是试图尽可能快地传播与 AI 合作的新颖方式,这是一个高度创造性的时期。所以我想没有一种真正正确的使用方法。它仍然处于探索阶段,然后我们有一个了不起的产品经理在 Codex 团队,Alexander Emberos,他就是整个 Codex 团队唯一的专业产品经理,他在 Codex 的帮助下极大地提升了自己。就像前几天,他组织了一次 bug 冲刺,大约一个小时,人们检查了我们即将发布的功能,然后他派 Codex 收集所有人的反馈,这最终形成了一个 Notion 文档,然后他派遣 Codex 将功能错误报告和功能改进(如工单)提交到 Linear,然后分配给每个人,并跟进每个人进展如何。所以他通过利用 AI,正在成为一个 10 倍甚至 50 倍的项目经理。我想这很重要,所以再次回到瓶颈问题,你需要不断回顾,你的产品经理不能成为瓶颈,所以你需要以原则性的方式来看待它。
我想补充一点,我参加过这些演示日,我们看到了很多项目正在演示。我记得参加这些黑客马拉松并观看演示。我注意到的一件事是,这些演示的深度一直在持续增加。所以它不仅仅是表面层次的“这是可能的”。其中一些演示实际上是“这是可能的,而且我还处理了所有这些边缘情况,实际上是一个非常可用的产品”。所以,人们正在构建的所有这些产品的深度,即使只是为了展示一些功能,也肯定在日益加深。
我们需要补充的一个免责声明是,在 OpenAI 内部,每个人都可以无限制地使用 token。没有成本,人们在笑,因为这确实是一件大事,对吧?在外部世界,如果你可能,成本仍然是一个问题。你获得了最高订阅,当它用完时,你现在就靠积分了,你知道,有些人对此很满意,尤其是创始人,但有时人们会考虑到很多地方受成本限制,仅仅出于实际目的而提出问题。对于那些受到 OpenAI 团队工作方式启发但又受到这些限制/束缚的人,你有什么建议和策略?
成本是我们不断思考的问题。一个显而易见的是,我们希望让我们的模型越来越强大,并将其提供给我们的用户。然后,我也相信在某个时候思维会转变,因为现在你应该想象你有一个 24/7 为你工作的队友,你可以向你的队友发送指令,比如你可以将 Linear 任务或 Jira 任务分配给你的队友,然后期望,并且你应该完全期望你的队友能够处理这些事情。然后问题就变成了,你会付给这个队友多少钱,而不是你将使用多少 token。所以如果你开始以每个工程师拥有四五个这样的队友的生产力来衡量,那么它就会更有意义。现在你应该让我们负责使这些代理足够强大,能够将它们视为队友。这就是我们正在努力的方向。
是的。我想,思考它如何在公司内部转移成本也是有用的,现在你可以做的事情实际上对你来说非常便宜,比如做市场研究,审查你所有的功能积压,并找出哪些是可以轻松实现的功能。你知道,在那之前,你可能需要分配大约 15 名工程师去查看那个积压,而现在几乎是免费的。显然,并非每个人都能为员工提供无限推理的福利,但我确实认为过早限制它也是一种风险,我们正处于人们能被多大程度地利用的非常非常早期的阶段,所以我肯定会说,嘿,你们公司里有最优秀的人才,给他们提供非常非常舒适的大量推理资源。
反思变化的步伐,我们知道它很快,而且变得越来越快。感觉就是这样,但回顾你在 OpenAI 之前的时期,VJ,你在这个行业已经很久了,超过 25 年。回顾过去,什么时候的变化也感觉很快?我们过去是否见过类似的情况?
我不认为我见过这样的事情。我可以回顾过去 25 年,我见过互联网泡沫破裂,那是在我大学时期,然后我记得千年虫问题,我记得移动革命,我实际上是社交网络革命的一部分,而这次感觉非常不同。这次正在大规模发生,而且发生得非常快。这种发生的速度,有些图表看起来不合理,所以我确实认为这是一些非常非常特别和独特的东西,现在生活在这个时期也很酷。作为一个结束问题,变化很快,但你们两位在 OpenAI 已经有一段时间了,所以我想请你们坦诚地预测一下,两年后软件工程会是什么样子,工程管理会是什么样子,就凭你们所知道的。(笑声)
显然两年是一个太长的时间框架。(笑声) 我想从现在起六个月后,我非常有信心说,我们可能会在速度上再提高一个数量级,那会再次改变事情。另一件我们将要实现的是,像多代理的大型网络,它们可以协作完成非常非常大的目标。例如,在可行范围内,可以说,就像 Cursor 展示的那样,在同一个团队中,“嘿,从头开始重建一个浏览器”,就像你去做,然后 24 小时后,你就有了一个由两百万行代码构建的东西,几乎无法理解内部实际发生了什么。所以我想我们将会开始看到的是,我们将围绕正在构建的东西设置护栏,这样你就不必再看代码了,你可以以某种方式证明它是正确的,或者它以一种安全的方式受到约束,你只需查看输入和输出,然后代码就会被抽象掉,一切都将围绕实际的挑战、事物以及系统的属性。软件的抽象程度不断提高,使我们能够用很少的代码构建大量的产品代码。所以,多年来,抽象程度不断提高,我觉得我们正处于一个抽象程度和变化速度都相当迅速增加的时期。在某个时候我担心,我在这里说出来,因为任何足够复杂或精密的系统都变得更难调试,因此你依赖症状来调试这些东西。所以我想在几年内,我们将达到软件如此复杂,软件拥有如此多层次的程度,我们将非常擅长通过查看症状来识别问题,我们的工具也将在这方面变得非常出色。所以我想那将是软件开发人员需要掌握的独特功能或能力。
嗯,VJ,
我想补充一下未来会是什么样子。我想你将能够呼叫你的助手并检查工作,你将拥有一个专门的个人助手,能够代表所有在幕后为你高效工作的 AI 代理的工作,而不是需要监控和检查一百或两百个单独的小代理。我想这是我们实际上会很快看到的,包括今年。
是的。非常感谢 VJ 和 Tibo 让我们一窥内部实际发生的情况以及你们团队如何运作,这感觉像是领先潮流几个月、几周,有时甚至更久,但它正在发生。也感谢你们分享在这个真正激动人心的时刻我们可能会或可能不会看到什么。非常感谢。
谢谢。谢谢。(音乐) (掌声)