---
author: Best Partners TV
date: '2026-03-28'
guest: ''
layout: post.njk
source: https://www.youtube.com/watch?v=w_XtnRX4mO0
speaker: Best Partners TV
tags:
  - ai-development
  - software-engineering
  - career-advice
  - deep-learning
  - code-generation
title: AI 时代工程师的终极底牌：对话前 Meta E9 与 OpenAI Codex 负责人
summary: 本文访谈前 Meta E9 杰出工程师、OpenAI Codex 项目技术负责人迈克尔·博林，探讨 AI 是否会取代程序员。博林分享了他从底层技术攻坚到拥抱 AI 的职业历程，强调深度技术理解和沟通协调能力是 AI 时代工程师的核心竞争力，并介绍了 Codex 如何重塑开发流程。
insight: ''
draft: true
series: ''
category: ai-application
area: tech-engineering
project: []
people:
  - Michael Bolin
companies_orgs:
  - Meta
  - OpenAI
  - Google
products_models:
  - Chickenfoot
  - Buck
  - Nuclide
  - Eden
  - Codex
media_books:
  - Operating System Concepts
status: evergreen
---
### AI 时代的前奏

**主持人**: 大家好，这里是最佳拍档。最近有一个很火的话题：AI 到底会不会取代程序员呢？从 GitHub Copilot 到 Claude Code，AI 写代码的速度和效率越来越高，这让很多身处行业内的工程师感到焦虑，甚至有刚入行的年轻人开始怀疑，花费大量时间学习数据结构、算法、底层原理，到底还有没有意义？今天我们就通过一位顶级工程师的职业经历来解答这个问题。他是前 Meta E9 杰出工程师，也是 OpenAI Codex 项目的技术负责人迈克尔·博林。作为硅谷底层技术领域的扫地僧，他曾经一手重构 Facebook 的 Android 构建系统，甚至为了解决代码库过大的问题，在操作系统底层搞出了虚拟文件系统。但就是这样一位以写代码著称的技术大佬，却坦言现在自己 80% 到 90% 的代码都由 AI 生成。从这期访谈中，我们或许能够知道，AI 时代工程师不被淘汰的唯一底牌到底是什么。

### 早期探索：Chickenfoot

**主持人**: 迈克尔·博林的技术生涯，从一个充满前瞻性的硕士毕设项目开始，这个项目就是 **Chickenfoot**，一款基于 Firefox 浏览器的扩展插件，也是他在研究生阶段的核心研究成果。在当时，用 JavaScript 为 Firefox 编写这样的插件，属于绝对先锋的技术尝试。而这个项目的核心理念，是为 Web 提供终端用户编程，这个理念甚至和现在的 AI Agent 有着异曲同工之妙。Chickenfoot 集成在 Firefox 的侧边栏中，是一个小型的编程工具，它提供了 `enter`、`click` 这类简单的宏命令。用户只需要输入 `enter` 并传入字符串参数，工具就能自动在网页上寻找对应的输入框并完成填充；或者输入 `click search`，工具就会精准点击网页的搜索按钮。在这个看似简单的功能背后，是大量复杂的启发式算法，这些算法会解析网页的 DOM 结构，识别各种文本信息，定位到距离文本最近的输入框，再通过 JavaScript 完成自动操作。为了提升识别的准确性，博林的团队还充分利用了网页的可访问性标签、图片的 alt 文本等所有可抓取的信息，这让 Chickenfoot 在 Craigslist 这类界面简陋的网站上也能完美运行，甚至有他的朋友利用这个工具，编写了一个自动化脚本实现了盈利。现在回头看，这个十几年前的项目，已经具备了现在 AI Agent 的核心逻辑：用简单的指令实现网页的自动化操作。唯一的区别只是，当年靠的是粗糙的 JavaScript 脚本，而现在靠的是大语言模型。

### 谷歌的文化熏陶

**主持人**: 完成硕士阶段的研究后，博林的第一份业界工作选择了 **Google**，并且一入职就负责 **Google Calendar** 项目。这个选择和他对 Google 工程文化的认可密不可分。上世纪 90 年代，互联网刚兴起时，搜索引擎还处于百家争鸣的阶段，想要找到一条有效信息，需要同时打开 Yahoo、Lycos 等五六个搜索引擎。而在 2000 年 3 月，博林从室友口中得知了斯坦福大学推出的 Google 搜索引擎。试用后他发现，这款搜索引擎不仅搜索质量远高于同类产品，页面更是极其简洁，没有 Yahoo 首页那些眼花缭乱的广告和门户链接。这种专注技术质量而非短期流量的文化，让他下定决心加入 Google。而 Google Calendar 团队，也给了他施展才华的最佳舞台。当时微软的 IE 浏览器占据绝对的市场统治地位，甚至一度砍掉了 IE 的后续开发计划，网页端应用的发展环境极其恶劣。而且在那个年代，JavaScript 的工程质量极差，行业内普遍认为写前端代码就是在写玩具代码。但是 Google Calendar 团队却聚集了一批顶尖工程师，他们的目标是打破这种局面，把桌面级应用的体验，比如日程的拖拽操作和页面的无刷新加载，搬到网页端，这在当时是极具开创性的尝试。博林在这个团队的经历，让他深刻理解了技术突破的价值，也为他后续解决大厂底层技术难题积累了核心经验。

### Meta：底层技术攻坚

**主持人**: 在 Google 积累了足够的技术经验后，博林跳槽到了当时如日中天的 **Facebook**，也就是现在的 **Meta**，而这个阶段，成为了他职业生涯中最具有代表性的“底层攻坚期”。当时的 Facebook 正处于战略转型的关键节点，公司明确提出“移动端才是未来”的口号，这个决策直接关系到公司的生死存亡。而作为一名顶级的 JavaScript 专家，博林最初的规划是开发一套类似 **PhoneGap** 的框架，用 HTML5 技术开发移动版 Facebook。毕竟 PhoneGap 作为早期将网页打包成原生应用的技术，是当时的主流选择之一。但是在实际开发过程中，基于 HTML5 的移动应用暴露了严重的性能问题，体验糟糕到难以投入使用。最终 **马克·扎克伯格** 亲自拍板，废弃了 HTML5 方案，全线转回纯原生开发。这个决策让博林面临职业选择：要么硬着头皮，学习自己并不喜欢的 **Objective-C** 语言做原生开发；要么寻找公司发展中的其他技术痛点。幸运的是，他很快发现了 Facebook Android 团队的核心问题，那就是构建系统的效率低下。当时 Facebook 的 Android 团队使用的是基于 **Ant** 的老旧构建系统，这套系统没有模块化设计，也没有缓存机制。工程师修改一行代码后，系统需要重新编译整个庞大的代码库，而编译后在模拟器中看到结果的迭代周期，正是决定工程师生产力的核心指标。博林凭借自己的 Java 技术功底，决定接手这个底层的脏活累活。原本他只是想修复几个 Bug，但是深入研究后发现，这套系统的底层架构已经彻底失效，唯一的解决方案就是推倒重来。当时很多从 Google 跳槽到 Facebook 的工程师提出，直接照搬 Google 的构建系统就可以解决问题。博林的团队也确实做过尝试，甚至在内部复刻了一个微型的 Google 构建系统版本，但最终还是放弃了。核心原因有两个：一是 Facebook 的 Android 代码库和 Google 的代码库结构截然不同，Google 的代码库规范且模块边界清晰，而 Facebook 的代码库背负着大量历史包袱，各类资源文件和定制化的脚本交织在一起，强行套用 Google 的架构需要重写所有底层逻辑；二是时间不允许。当时 Facebook 正处于移动端转型的关键期，管理层的要求是立刻提升迭代速度，哪怕只有一点点，团队根本没有时间花一年去搭建一套完美的架构。正是在这样的背景下，博林主导开发了 Facebook 的开源构建工具 **Buck**。团队最初只是用 Python 写了几个简单的脚本，尝试缓存编译的中间结果，但是这种修修补补很快达到了极限。于是在一次 Facebook 的黑客马拉松活动中，博林决定彻底抛弃 Python 脚本，用 Java 重新开发了一套强类型、高并发的构建系统雏形。而这个雏形带来的效果超出了所有人的预期，让编译速度直接提升了两倍，原本需要 4 分钟的编译过程被压缩到了 1 分钟。这让原本对底层工具重构毫不在意的 Android 团队，瞬间成为了 Buck 系统的忠实信徒。解决了构建系统的问题后，博林并没有停下脚步，因为 Facebook 的代码库还在以指数级速度膨胀，新的规模诅咒很快出现：编译速度提升了，但是工程师连代码库都打不开了。当时 Facebook 使用的是 **Eclipse IDE**，而公司采用的是单一代码库模式，整个代码库有几千万行代码。用 Eclipse 打开这个项目，光是建立索引就要花费半个小时，期间电脑风扇狂转、内存被完全占满，整个机器彻底卡死。工程师们的核心抱怨变成了：“构建是快了，但代码根本打不开”。当时业界针对这个问题有两种解决方案：一种是彻底抛弃本地 IDE，把开发环境搬到云端的基于 Web 的 IDE；另一种是选择轻量级的本地编辑器。而博林的团队选择了一条中间路线。当时 **GitHub** 刚推出 **Atom** 编辑器，也就是 **VS Code** 的前身。这款编辑器基于 Web 核心技术开发，具备极高的灵活性。团队决定在 Atom 的基础上，开发一套专门针对 Facebook 巨型代码库的 IDE 插件系统，这就是 **Nuclide**。Nuclide 的核心设计思路是远程算力加持，团队把语言解析、代码自动补全、跳转定义这些极其耗费性能的功能，全部剥离出来放到远程的高性能服务器上运行，本地的 Nuclide 编辑器只负责展示 UI 和接收用户的键盘输入，相当于给每一位工程师配备了一台看不见的“超级计算机”，完美解决了本地 IDE 处理超大代码库的性能问题。而 Nuclide 解决的只是 IDE 的问题，Facebook 的单一代码库模式还带来了一个更棘手的问题，那就是代码库的物理体积过大。作为单一代码库，Facebook 把 Facebook、Messenger、Instagram 等所有产品的代码都整合在一个仓库中，这个仓库最终膨胀到包含几百万个文件、几十 GB 数据。传统的版本控制系统 Git 和 Mercurial 在这样的规模下彻底崩溃。最直观的问题就是，新员工入职后，哪怕只是想修改一行前端代码，也必须把几百万个文件、几十 GB 的数据完整克隆到本地笔记本，这个过程需要耗费几个小时。而更让人崩溃的是，工程师每次运行简单的 `git status` 命令，系统都要遍历几百万个文件检查变动，直接导致终端卡死。面对这种极致的规模问题，常规的优化手段已经完全失效，博林的团队只能深入到操作系统的最底层寻找解决方案，而最终的成果就是 **Eden** 虚拟文件系统，后来演变成了 **Miles**。Eden 的核心实现，是利用 **Linux** 的 Fuse 机制，以及 Mac 系统上的类似机制，直接拦截操作系统的文件读取请求。在工程师的笔记本上，看似能看到几百万个文件的完整目录结构，但这些文件其实都是占位符，硬盘中并没有实际的文件数据。只有当工程师双击打开某个文件，或者编译器需要读取某个文件时，Eden 才会瞬间触发网络请求，从服务器上把对应的文件加载到本地。这个设计带来的效果堪称魔法：原本需要几个小时的代码库克隆时间被压缩到了几秒钟，原本会导致终端卡死的 `git status` 命令实现了瞬间响应。团队在操作系统底层，成功骗过了所有的上层应用，彻底解决了单一代码库的规模诅咒。

### 职业转折：E9 晋升之路

**主持人**: 解决了构建系统、IDE、文件系统这一系列大厂最硬核的底层难题后，博林迎来了职业生涯的一个重要节点：从 Meta E8 首席工程师向 E9 杰出工程师的晋升。而这个过程，被他称为“血肉之路”，也让他彻底理解了大厂高级工程师的晋升真相。Meta 的 E9 职级，是技术岗的天花板。而在晋升之前，博林满心以为自己能顺利通过，毕竟他解决的都是关系到公司发展的核心底层问题。在他看来，自己作为超级码农，写代码的效率和质量远超同行，晋升是水到渠成的事。但现实却是，他的晋升申请被无情的驳回了，这让他陷入了极度的愤怒和不解。直到他和几位 Meta 的 E9、E10 资深大佬深入交流后，才发现了自己的核心问题，那就是陷入了“英雄主义陷阱”。在早期的职级晋升中，从初级到高级工程师，拼的是写代码的能力，是技术硬实力。但是当职级达到 E6 Staff 甚至 E8 Principal 后，只写代码反而会成为晋升的最大阻碍。博林当时的工作模式，是发现问题后闭门造车，用自己的顶级技术水平从零开发一个全新的工具，然后直接推给团队使用。这种做法看似高效，实则充满了技术傲慢。当公司拥有几千名工程师时，强行推行一个新工具，意味着打破所有人的现有工作流，必然会遭遇巨大的阻力。而 Meta E9 职级的核心要求，从来不是造一个新轮子，而是能解决那些无人认领的、丑陋的系统性难题，并且能带着所有人一起往前走，需要从一名纯粹的技术极客，转变为具备政治手腕和布道能力的技术领袖。这次晋升失败，成为了博林职业生涯的重要转折点。他收起了自己手撸代码的骄傲，开始把大量精力放在非标准自动化和跨部门协调上。而 Eden 虚拟文件系统项目，就是他转型后的核心实践。Eden 项目的推进，面临着前所未有的阻力。这个项目不仅需要修改底层的客户端代码，还需要后端存储团队的全力配合。更重要的是，它需要改变全公司几千名工程师的开发习惯。为了推动项目落地，博林花了数月时间，不再写 C++ 或 Java 代码，而是疯狂地撰写技术文档和战略规划。他需要在文档中向公司高管证明，这个看似冒险的项目是解决代码库规模问题的唯一方案；需要亲自游说后端存储团队，让他们相信为 Eden 开发专属 API 是值得的；还需要安抚一线的业务工程师，承诺新系统上线后不会丢失任何数据。用他的话来说，这就是一场“拼凑积分”的游戏：找到公司级别的核心痛点，把分散在各个团队的资源像拼图一样整合起来，最终推动项目落地。而当他带领团队，彻底清理掉 Eden 项目背后那座牵扯无数利益、极其丑陋的遗留屎山后，他的 E9 晋升申请也顺理成章地通过了。这也印证了大厂晋升的核心真相：高级工程师的价值，不在于写了多少优秀的代码，而在于能通过技术和协调能力，解决公司的核心系统性问题。

### 奔赴 AI 前沿：OpenAI

**主持人**: 在 Meta 达到技术职级的天花板后，博林做出了一个让所有人意外的决定：离开自己奋斗了 11 年的 Meta，加入当时规模还远不及现在的 **OpenAI**。而这个决定的背后，是职业倦怠和对新技术浪潮的向往。在 Meta 的最后一年，博林陷入了明显的职业倦怠。他在底层架构领域深耕多年，已经看到了技术的天花板。所有的优化工作都进入了边际收益递减的阶段，哪怕再花一年时间，也只是能把某个系统的性能提升 5%。这种修修补补的工作，让他失去了当初那种改变世界的技术兴奋感。而就在此时，2023 年底，大语言模型的浪潮彻底爆发。博林开始在业余时间疯狂阅读关于 Transformer、注意力机制的论文。他突然意识到，大语言模型带来的是一种全新维度的计算范式，如果错过了这波浪潮，自己的技术生涯可能就会止步于此。而恰逢 OpenAI 正在招募懂大规模工程底层的资深工程师，博林毫不犹豫地投出了简历，开启了自己的 AI 领域探索之路。

### Codex 的诞生与影响

**主持人**: 从 Meta 到 OpenAI，博林遭遇了前所未有的文化冲击。这种冲击来自于传统互联网大厂和 AI 实验室的核心文化差异。在 Meta、Google 这样的传统大厂，奉行的是工程主导的文化，软件工程师是公司的核心资产。产品经理提出需求后，由工程师决定技术架构、项目排期，最终完成代码开发和上线，公司的所有光环、资源和晋升通道都是围绕工程师建立的。但是 OpenAI 奉行的是研究主导的文化，这里的核心王牌是那些拥有数学、物理学背景的研究员，他们的日常工作是推导数学公式、调整模型结构、观察 loss 曲线。而像博林这样拥有光鲜履历的大厂顶级工程师，在 OpenAI 的定位更像是辅助人员。他们的核心职责不再是决定产品的发展方向，而是像后勤部队一样，搭建极致的分布式计算集群、优化 GPU 的显存利用率、搭建数据清洗的流水线。所有的工程努力，都是为了让研究员能顺利跑通下一次模型实验。对于那些渴望个人英雄主义、希望掌控产品的工程师来说，这种落差会让人极度痛苦。但是博林却非常享受这种状态。在大语言模型这个全新的领域，他放下了 Meta E9 的身份，以一个小学生的心态重新学习，学着和研究员对话，学着把那些天马行空的数学理论，转化为能在成千上万张 H100 显卡上稳定运行的 C++ 和 Cuda 代码。而这种全新的技术挑战，让他重新找回了技术探索的乐趣。在 OpenAI，博林主导的核心项目就是 **Codex**。Codex 的诞生，源于一次 OpenAI 内部的黑客马拉松活动。其实在这之前，OpenAI 的工程师已经开始使用早期的代码生成模型辅助工作。但是博林和团队突发奇想：如果把这个模型封装成一个可以在命令行直接调用的工具，会带来什么样的效果呢？于是他花了很短的时间，写了一个简陋的终端封装程序，而这个程序的运行效果，让所有人都感到震惊。工程师只需要在终端里用自然语言输入需求，比如：“帮我把当前目录下所有扩展名为 .txt 的文件重命名为 .md，并且去掉文件名里的空格”，Codex 就能瞬间生成一段可以完美运行的 Python 或 Bash 脚本。这个工具很快在 OpenAI 内部像病毒一样传播开来，它也证明了一个核心事实：AI 不仅仅能辅助工程师写代码，还能直接替工程师完成那些繁琐的代码杂活。也正是因为这个原因，博林的团队后来决定将 Codex 的测试套件完全开源。他们希望让整个开源社区看到，AI 代码生成不是魔术，而是有实实在在的工程标准可循，而团队也试图通过这种方式，定义未来 AI 代码助手的行业评估标准。

### AI 驱动的开发新范式

**主持人**: Codex 的成功，也彻底改变了博林的工作流。作为一名深耕底层二十年的顶级工程师，他现在几乎不再手写代码，甚至坦言自己亲手敲的代码连 10% 都不到，很多时候这个数字接近于零。他现在的工作模式，已经完成了从代码编写者到代码审查者的彻底转变。首先，在编辑器中写下一段极其详尽的英文提示词，在注释中清晰描述需要实现的数据结构、接口逻辑和边界条件，然后按下快捷键，AI 就能在几秒钟内生成几百行代码。接下来，他就会运用自己二十年的系统工程经验，对 AI 生成的代码进行全面审查，检查代码是否存在内存泄漏的风险、是否有并发死锁的隐患、是否忽略了某个边缘测试用例。如果发现问题，就向 AI 提出修改要求，让 AI 重新生成代码。而最让他感到解脱的是，AI 包揽了他曾经最讨厌的工作：写单元测试和配置 CI/CD 脚本。现在他只需要向 AI 提出“为上面的函数生成 100% 覆盖率的测试用例”，AI 就能生成极其完备的测试代码，甚至还能自动生成伪造的 Mock 数据。这种工作模式的改变，让他彻底从繁琐的代码语法细节中解放出来，拥有了大量的时间去思考更高维度的系统架构设计，而这也是 AI 时代工程师工作的核心趋势。

### AI 时代工程师的护城河

**主持人**: 博林的经历，让很多年轻工程师感到恐慌：连顶级的 E9 工程师都不手写代码了，那我们拼命学习数据结构、算法、底层原理，还有什么意义呢？针对这个问题，博林给出了明确的答案：在很长一段时间内，深厚的技术基本功，依然是工程师最坚固的护城河。核心原因在于，现在的大语言模型本质上还是基于概率的模型，它存在一个无法避免的问题，那就是“幻觉”。它会生成看似语法完美、逻辑通顺的代码，但这些代码中可能隐藏着致命的 Bug。如果一名初级工程师完全依赖 AI 写代码，当系统在线上发生崩溃，面对几千兆的日志和乱码般的堆栈报错时，他会束手无策，因为他根本不知道代码的底层发生了什么。而博林之所以能自信的让 AI 生成 90% 的代码，核心在于他拥有那 10% 的底层掌控力。他懂 C++ 内存分配的底层原理，懂操作系统的线程调度机制，懂汇编语言的核心逻辑，所以他能在一眼扫过 AI 生成的代码时，瞬间判断出代码是否在胡说八道。他用一个形象的比喻来形容 AI 和工程师的关系：AI 是工程师手里一把无限子弹的机枪，威力巨大；但是如果工程师不知道该瞄准哪里，甚至不知道怎么处理卡壳，这把枪最终会变成杀死自己的武器。

### 核心价值与未来方向

**主持人**: 对于想要提升自身能力的工程师，博林也分享了自己的独家经验。首先，他强烈建议想提升系统底层理解的工程师去参与网络安全夺旗赛 CTF。这是他提升底层能力的核心方法。在 CTF 比赛中，工程师需要解决各类极其复杂的底层安全漏洞，这会逼着你深入理解汇编语言、寄存器的工作原理、网络协议的每一个字节。这种带有极强目标感、像解谜游戏一样的训练方式，比干巴巴地啃教科书有效一百倍。其次，他推荐了两本核心技术书籍：一本是关于操作系统底层的经典著作，也就是被行业称为“恐龙书”的《**Operating System Concepts**》；另一本则是关于技术写作的书籍。很多人会觉得技术写作并不够硬核，但是博林认为，技术写作恰恰是最高级的硬核能力。就像他在 Meta 晋升 E9 的经历一样，当你想要推动一个几百人的跨部门大项目时，写的代码再好也没用，你需要用清晰、有煽动性、逻辑严密的技术文档，去说服那些根本不懂代码的公司副总裁和财务总监，让他们认可你的技术规划。如果一名工程师只会写代码，那他充其量只是一个高级工匠；但如果他能用文字构建起一个宏大的技术愿景，并且让所有团队心甘情愿地追随，那他才是真正的技术领袖。迈克尔·博林的职业经历，是一个从传统软件时代到 AI 时代的工程师缩影。他的故事也为所有身处行业内的工程师指明了方向：AI 确实会取代大量繁琐的代码编写工作，但是也会让工程师的核心价值更加凸显。对于每一位工程师来说，与其焦虑 AI 会取代自己，不如沉下心来打磨底层能力。因为在 AI 时代，程序员真正的核心竞争力，从来都不是写代码的速度，而是对技术底层的理解和掌控力。感谢收看本期视频，我们下期再见。