关于 OpenAI 的一些思考
三周前,我离开了 OpenAI。我于 2024 年 5 月加入这家公司。
之所以想分享我的这些思考,是因为围绕 OpenAI 的所作所为有太多的迷雾和噪音,但却鲜有亲身经历者讲述在那里工作的文化究竟是何种感觉。
Nabeel Quereshi 写过一篇很棒的文章,名为《对 Palantir 的反思》,他在文中深入探讨了 Palantir 的特别之处。我想趁着记忆犹新,为 OpenAI 也写一篇同样的文章。你在这里不会看到任何商业机密,更多的是在这样一个极其有趣的时期,对这个历史上最引人入胜的组织之一的当前迭代的一些反思。
开门见山地说:我离开的决定并非出于任何个人恩怨——事实上,我对此深感矛盾。从一个自主创业的创始人,转变为一个拥有 3000 名员工的组织中的一员,这很难。眼下,我渴望一个新的开始。
工作的质量完全有可能吸引我回来。很难想象有什么比构建 AGI 更具影响力的事业了,而 LLM 无疑是这十年来最重要的技术创新。我很幸运能亲眼见证一些进展,并参与了 Codex 的发布。
显然,这些并非公司的观点——作为观察,它们仅代表我个人。OpenAI 是一个很大的地方,而这只是我窥探它的一个小窗口。
文化
关于 OpenAI,首先要知道的是它成长得有多快。我加入时,公司只有 1000 多人。一年后,员工超过 3000 人,而我的任期已经排在前 30%。几乎所有领导层的工作都与他们大约 2-3 年前的工作截然不同。1
当然,当你扩张得如此之快时,一切都会崩溃:公司如何沟通、汇报结构、如何交付产品、如何管理和组织人员、招聘流程等等。团队文化差异很大:有些团队一直在全力冲刺,有些团队则在照看大型计算任务,还有些团队则以更稳定的节奏前进。没有单一的 OpenAI 体验,研究 (research)、应用 (applied) 和 市场推广 (GTM) 的运作时间范围也大相径庭。
OpenAI 的一个不寻常之处在于,所有事情,我是说所有事情,都在 Slack 上运行。没有电子邮件。我在那里的整个时间里大概只收到过 10 封邮件。如果你没有条理,你会觉得这极度分散注意力。但如果你精心管理你的频道和通知,就可以让它变得相当可行。
OpenAI 极其自下而上,尤其是在研究领域。我刚来的时候,就开始问下个季度的路线图。我得到的答案是:“这东西不存在”(尽管现在有了)。好的想法可以来自任何地方,而且通常很难预先判断哪些想法会最有成效。与其说是一个宏大的“总体规划”,不如说进展是迭代式的,随着新研究成果的出现而不断被揭示。
得益于这种自下而上的文化,OpenAI 也非常精英化。从历史上看,公司领导者的晋升主要基于他们提出好点子并执行的能力。许多能力超强的领导者并不擅长在全体会议上演讲或进行政治操纵。在 OpenAI,这些没有在其他公司那么重要。最好的想法往往会胜出。2
这里有强烈的行动偏见(你可以直接动手做)。相似但无关联的团队在各种想法上不谋而合的情况并不少见。我最初参与了一个与 ChatGPT Connectors 类似但属于内部的并行项目。在我们决定推动发布之前,大概有 3-4 个不同的 Codex 原型在流传。这些项目通常由少数几个人在未经许可的情况下进行。一旦显示出前景,团队往往会迅速围绕它们形成。
Andrey(Codex 的负责人)曾经告诉我,你应该把研究人员看作是他们自己的“迷你高管”。这里有一种强烈的倾向,即致力于自己的事情,看看结果如何。这里有一个推论——大多数研究都是通过“nerd-sniping”(用一个有趣的技术问题吸引一个技术专家)一个研究员来解决特定问题。如果某件事被认为是无聊或“已解决”的,它可能就不会有人去做了。
优秀的研究经理影响力巨大,但数量也极其有限。最优秀的那些能够将许多不同的研究工作联系起来,并促成一个更大的模型训练。优秀的 PM 也是如此(向 ae 致敬)。
我合作过的 ChatGPT EM(Akshay、Rizzo、Sulman)是我见过的最酷的客户之一。感觉他们在这个时候已经见识过一切了 3。他们中的大多数人相对放手,但会招聘优秀的人才,并努力确保他们为成功做好准备。
OpenAI 改变方向的速度极快。这是我们在 Segment 非常看重的一点——当你获得新信息时,做正确的事情,远比仅仅因为有计划而坚持原定路线要好。像 OpenAI 这样规模的公司仍然保持着这种精神,这很了不起——Google 显然没有。公司决策迅速,一旦决定追求某个方向,就会全力以赴。
公司受到了大量的审视。我来自 B2B 企业背景,这对我来说有点震惊。我经常在媒体上看到尚未在内部宣布的新闻。我告诉别人我在 OpenAI 工作,得到的会是一个对公司预先形成的看法。一些 Twitter 用户运行着自动机器人,检查是否有新功能即将发布。
因此,OpenAI 是一个非常神秘的地方。我不能详细告诉任何人我在做什么。有少数几个具有不同权限的 Slack 工作区。收入和烧钱的数字被更严密地守护着。
OpenAI 也是一个比你想象中更严肃的地方,部分原因是赌注感觉真的很高。一方面,目标是构建 AGI——这意味着有很多事情要做对。另一方面,你正在努力构建一个被数亿用户用于从医疗建议到心理治疗等各种事情的产品。再者,公司正在世界最大的舞台上竞争。我们会密切关注 Meta、Google 和 Anthropic 的动态——我相信他们也都在做同样的事情。所有主要的世界政府都在密切关注这个领域。
尽管 OpenAI 经常在媒体上受到诽谤,但我遇到的每个人都真正在努力做正确的事情。鉴于其以消费者为中心,它是大型实验室中最引人注目的一个,因此也招致了很多诽谤。
话虽如此,你可能不应该把 OpenAI 看作一个单一的整体。我认为 OpenAI 是一个像洛斯阿拉莫斯一样起步的组织。它是一群科学家和修补匠,在探索科学的前沿。这个团体碰巧意外地催生了历史上最具病毒性的消费级应用。然后发展到有向政府和企业销售的雄心。因此,不同任期和组织不同部门的人有着非常不同的目标和观点。你在那里待得越久,就越有可能从“研究实验室”或“为善的非营利组织”的视角看待事物。
我最欣赏的一点是,公司在分享 AI 收益方面“言行一致”。尖端模型并不会被保留给某个需要年度协议的企业级服务。世界上的任何人都可以登录 ChatGPT 获得答案,即使他们没有登录。有一个你可以注册使用的 API——而且大多数模型(即使是 SOTA 或专有的)往往会很快进入 API,供初创公司使用。你可以想象一个与我们今天所处的体制截然不同的替代方案。OpenAI 在这方面值得极大的赞誉,这仍然是公司 DNA 的核心。
如果你经常阅读 Zvi 或 Lesswrong 的文章,你可能会猜想安全实际上比你想象的要重要得多。有大量的人在致力于开发安全系统。鉴于 OpenAI 的性质,我看到更多关注实际风险(仇恨言论、滥用、操纵政治偏见、制造生物武器、自残、提示注入)而不是理论风险(智能爆炸、权力寻求)。这并不是说没有人在研究后者,绝对有人在关注理论风险。但从我的角度来看,这不是重点。大部分完成的工作都没有发表,OpenAI 真的应该多做些工作来公布它们。
与其他在每个招聘会上都免费分发周边商品的公司不同,OpenAI 并不怎么送周边(即使是对新员工)。取而代之的是,会有“上新”活动,你可以订购库存商品。第一次活动就因为需求太大而导致 Shopify 商店崩溃。内部流传过一个帖子,教大家如何 POST 正确的 JSON 负载来绕过这个问题。
与 GPU 成本相比,几乎所有东西都是四舍五入的误差。给你一个概念:作为 Codex 产品一部分构建的一个小众功能,其 GPU 成本足迹与我们整个 Segment 基础设施 相当(规模不及 ChatGPT,但承载了相当一部分互联网流量)。
OpenAI 或许是我见过的最雄心勃勃得可怕的组织。你可能认为拥有地球上顶级的消费级应用之一就足够了,但它渴望在数十个领域展开竞争:API 产品、深度研究、硬件、编程代理、图像生成,以及一些尚未公布的领域。这是一片沃土,可以让你把想法付诸实践。
公司非常关注 Twitter。如果你在 Twitter 上发布了与 OpenAI 相关且走红的内容,很有可能有人会读到并加以考虑。我的一个朋友开玩笑说:“这家公司靠 Twitter 的氛围运作”。作为一家消费品公司,这或许不无道理。当然,仍然有很多关于使用情况、用户增长和留存率的分析——但氛围同样重要。
OpenAI 的团队比其他地方流动性大得多。在发布 Codex 时,我们需要一些经验丰富的 ChatGPT 工程师的帮助才能按时发布。我们与一些 ChatGPT 的 EM 开会提出了请求。第二天,我们就有了两位厉害的同事准备好投入并提供帮助。没有“等待季度规划”或“重新调整人力”。一切进展得非常快。
领导层相当引人注目且深度参与。在像 OpenAI 这样的公司,这可能显而易见,但每位高管似乎都非常投入。你会看到 gdb、sama、kw、mark、dane 等人定期在 Slack 上发言。没有缺席的领导者。
代码
OpenAI 使用一个巨大的 monorepo,其中大部分是 Python(尽管有越来越多的 Rust 服务和少数用于网络代理等功能的 Golang 服务)。这会产生很多看起来很奇怪的代码,因为编写 Python 的方式太多了。你会遇到由有 10 年经验的 Google 老兵设计的可扩展库,也会遇到刚毕业的博士生写的用完即弃的 Jupyter notebook。几乎所有东西都围绕 FastAPI 创建 API 和 Pydantic 进行验证。但没有在全公司范围内强制执行的风格指南。
OpenAI 在 Azure 上运行所有东西。有趣的是,我认为值得信赖的服务只有三个:Azure Kubernetes Service、CosmosDB(Azure 的文档存储)和 BlobStore。没有真正等同于 Dynamo、Spanner、Bigtable、Bigquery、Kinesis 或 Aurora 的服务。很少会去考虑自动伸缩单元。IAM 的实现往往比 AWS 提供的要有限得多。而且有一种强烈的内部实现倾向。
在人员方面(至少在工程领域),存在一条非常重要的 Meta → OpenAI 输送管道。在许多方面,OpenAI 都像早期的 Meta:一个轰动一时的消费级应用,初生的基础设施,以及快速行动的渴望。我所见过的从 Meta + Instagram 带来的大多数基础设施人才都相当强大。
把这些放在一起,你会看到很多基础设施的核心部分都让人联想到 Meta。有一个内部重新实现的 TAO。一个在边缘整合身份验证的努力。我相信还有很多我不知道的。
Chat 的影响非常深远。自从 ChatGPT 一炮而红后,大量的代码库都是围绕着聊天消息和对话的概念构建的。这些基本元素已经根深蒂固,你最好不要忽视它们。我们在 Codex 中确实有所偏离(更多地借鉴了 responses API 的经验),但我们利用了大量现有技术。
代码为王。决策通常由计划执行工作的团队做出,而不是由某个中央架构或规划委员会做出。结果是,这里有强烈的行动偏见,并且代码库中经常有许多重复的部分。我肯定见过不下六个用于队列管理或代理循环之类的库。
在一些领域,快速扩张的工程团队和缺乏工具导致了问题。sa-server(后端单体)有点像一个垃圾场。CI 在 master 分支上崩溃的频率比你想象的要高得多。即使并行运行并考虑一部分依赖项,测试用例在 GPU 上也可能需要约 30 分钟才能跑完。这些并非无法解决的问题,但它提醒我们,这类问题无处不在,而且当你超高速扩张时,它们可能会变得更糟。值得称赞的是,内部团队正投入大量精力来改善这种情况。
我学到的其他东西
一个大型消费品牌是什么样的。直到我们开始做 Codex,我才真正理解这一点。所有事情都以“专业版订阅数”来衡量。即使对于像 Codex 这样的产品,我们也主要从个人使用的角度来考虑上手过程,而不是团队。这有点颠覆了我这个主要来自 B2B/企业背景的人的认知。你按下一个开关,从第一天起就有流量进来。
大型模型是如何(在宏观层面)训练的。这是一个从“实验”到“工程”的光谱。大多数想法都始于小规模实验。如果结果看起来有希望,它们就会被整合到一个更大的运行中。实验既是关于调整核心算法,也是关于调整数据组合和仔细研究结果。在大的方面,进行一次大的运行几乎就像是大型分布式系统工程。会出现奇怪的边缘情况和意想不到的事情。你需要去调试它们。
如何进行 GPU 数学计算。作为 Codex 发布的一部分,我们必须预测负载容量需求,这是我第一次真正花时间对任何 GPU 进行基准测试。要点是,你实际上应该从你需要的延迟要求(总延迟、令牌数、首个令牌时间)开始,而不是自下而上地分析 GPU 能支持什么。每个新的模型迭代都可能极大地改变负载模式。
如何在一个大型 Python 代码库中工作。Segment 是微服务和主要使用 Golang 和 Typescript 的结合体。我们没有 OpenAI 那么广的代码。我学到了很多关于如何根据贡献代码的开发者数量来扩展代码库的知识。你必须为“默认可用”、“保持 master 分支干净”和“难以误用”之类的事情设置更多的护栏。
发布 Codex
我在 OpenAI 最后三个月的一个重要部分是发布 Codex。这无疑是我职业生涯的亮点之一。
背景是,早在 2024 年 11 月,OpenAI 就设定了在 2025 年推出一个编程代理的目标。到 2025 年 2 月,我们已经有了一些内部工具在很好地利用这些模型。我们感到了推出一个专门针对编程的代理的压力。显然,模型已经发展到对编程非常有用的地步(市场上涌现出大量新的氛围编程工具)。
我提前结束了陪产假,回来参与 Codex 的发布。我回来一周后,我们进行了一次(有点混乱的)两个团队的合并,并开始了一场疯狂的冲刺。从开始(写下第一行代码)到结束,整个产品只用了7 周时间就构建完成了。
Codex 的冲刺可能是我近十年来工作最努力的一次。大多数晚上都工作到 11 点或午夜。每天早上 5:30 被新生儿吵醒。早上 7 点又去办公室。大多数周末都在工作。我们整个团队都拼尽全力,因为每一周都很重要。这让我想起了在 YC 的日子。
很难夸大这种速度有多么不可思议。我从未见过任何组织,无论大小,能在如此短的时间内从一个想法变成一个完全发布并免费提供的产品。范围也不小;我们构建了一个容器运行时,对仓库下载进行了优化,微调了一个自定义模型来处理代码编辑,处理了各种 git 操作,引入了一个全新的界面,启用了互联网访问,最终得到了一个使用起来非常愉快的产品。4
不管你怎么说,OpenAI 仍然有那种发布精神。5
好消息是,对的人可以创造奇迹。我们是一个由约 8 名工程师、约 4 名研究员、2 名设计师、2 名 GTM 和一名 PM 组成的资深团队。如果没有这个团队,我想我们已经失败了。没有人需要太多指导,但我们确实需要大量的协调。如果你有机会与 Codex 团队的任何人合作,请记住,他们每个人都很棒。
发布前一晚,我们五个人熬到凌晨 4 点,试图部署主单体(一个需要数小时的工作)。然后回到办公室参加早上 8 点的发布公告和直播。我们打开了功能开关,开始看到流量涌入。我从未见过一个产品仅仅因为出现在左侧边栏就获得如此迅速的增长,但这就是 ChatGPT 的力量。
在产品形态方面,我们选择了一种完全异步的形式。与 Cursor(当时,它现在支持类似模式)或 Claude Code 等工具不同,我们的目标是允许用户启动任务,让代理在自己的环境中运行。我们的赌注是,在最终阶段,用户应该像对待同事一样对待编程代理:他们向代理发送消息,代理花一些时间完成工作,然后带着一个 PR 回来。
这有点像一场赌博:我们今天处于一个有点奇怪的状态,模型不错,但还不够好。它们可以一次工作几分钟,但还不能工作几小时。用户对模型能力的信任程度差异很大。我们甚至不清楚模型的真正能力是什么。
从长远来看,我确实相信大多数编程会更像 Codex。与此同时,看看所有产品将如何发展将会很有趣。
Codex(也许不足为奇)非常擅长在大型代码库中工作,理解如何导航。我看到的与其他工具最大的区别是能够一次启动多个任务并比较它们的输出。
我最近看到有公开数据比较不同 LLM 代理创建的 PR。仅从公开数据来看,Codex 已经生成了 630,000 个 PR。这大约是自发布以来的 53 天内,每个工程师7.8 万个公开 PR(你可以自己猜测私有 PR 的倍数)。我不确定我这辈子是否做过如此有影响力的事情。
临别赠言
说实话,我最初对加入 OpenAI 有些顾虑。我不确定牺牲自由、有老板、成为一个更大机器中更小的一部分会是什么样子。我一直对加入这件事保持低调,以防它不适合我。
我确实想从这次经历中得到三样东西……
- 建立对模型如何训练以及能力走向的直觉
- 与优秀的人一起工作并向他们学习
- 发布一款出色的产品
在反思这一年时,我认为这是我做过的最好的决定之一。很难想象在其他任何地方能学到更多。
如果你是一个创始人,并且觉得你的创业公司真的毫无进展,你应该要么 1) 深入重新评估你如何能有更多尝试的机会,要么 2) 去加入一个大型实验室。现在是构建的绝佳时机。但也是窥探未来走向的绝佳时机。
在我看来,通往 AGI 的道路目前是三强争霸:OpenAI、Anthropic 和 Google。这些组织中的每一个都将根据其 DNA(消费者 vs 企业 vs 坚如磐石的基础设施 + 数据)走上不同的道路。6 在其中任何一个地方工作都将是一次大开眼界的经历。
感谢 Leah 在深夜里给予的难以置信的支持和承担了大部分育儿工作。感谢 PW、GDB 和 Rizzo 给了我一个机会。感谢 SA 团队的队友们教我入门:Andrew、Anup、Bill、Kwaz、Ming、Simon、Tony 和 Val。感谢 Codex 核心团队给了我一生难忘的经历:Albin、AE、Andrey、Bryan、Channing、DavidK、Gabe、Gladstone、Hanson、Joey、Josh、Katy、KevinT、Max、Sabrina、SQ、Tibo、TZ 和 Will。我永远不会忘记这次冲刺。
wham.
脚注
1.每当有领导离职时,人们很容易试图解读出很多戏剧性,但我会把其中约 70% 归因于这个事实。↩︎
2.我确实认为我们正处于一个轻微的阶段性变化中。公司外部正在进行大量高级领导的招聘。我总体上赞成这一点,我认为公司从注入新的外部 DNA 中获益良多。↩︎
3.我感觉,扩展有史以来增长最快的消费产品往往能锻炼出很多能力。↩︎
4.当然,我们也站在巨人的肩膀上。CaaS 团队、核心 RL 团队、人类数据和通用应用基础设施使这一切成为可能。↩︎
6.几周前我们看到 Meta 有一些重要的人事变动。xAI 推出的 Grok 4 在基准测试中表现良好。Mira 和 Ilya 都有优秀的人才。也许这会改变局面(人才是好的)。他们还有一些追赶工作要做。↩︎