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