r/vibecoding · 一线自述

FAANG 是怎么 Vibe Coding 的

How we vibe code at a FAANG —— AI 写生产代码的完整流程,来自一位大厂 AI 工程师
✍️ u/TreeTopologyTroubado(Reddit) 👍 754 赞 · 2025-08-23 🔁 经 Rohan Paul 在 X 转发 🎓 Stanford CS146S · Week 3 读物

「AI 辅助编码不能用于生产代码」——这位有十多年经验、一半时间在 FAANG 的 AI 软件工程师说:这根本不是事实。这篇高赞帖用 7 个步骤讲清他们团队怎么把 AI 引入生产级开发:重心依然在设计文档和评审上,AI 在写码环节做「战力倍增器」,而且永远先写测试。最终效果:从功能提案到上线,整体提速约 30%。

🎤

为什么发这个帖

01

作者开门见山:发这个帖,是因为他见到太多人「开火」(flak)——不相信 AI 辅助编码能用在生产代码上。他的回应很直接:这根本不是事实(This is simply not true)。

👤 作者的背景(他自己给出的可信度依据)
  • AI 方向的软件工程师(AI SWE),十年出头的从业经验,其中一半在 FAANG
  • 职业生涯前半段是系统工程师(Systems Engineer),不是开发;但写程序已有约 15 年

接下来,就是他所说的「我们正开始这样把 AI 用于生产代码」的完整流程。

💬 背景补充:这帖子为什么值得一读?(增补说明)

网络上关于 vibe coding 的争论常在两个极端:「AI 能替代工程师」vs「AI 代码全是垃圾」。这篇帖子的价值在于它是一线大厂工程师对真实生产流程的白描——它展示的既不是「无脑放手给 AI」,也不是「禁止 AI」,而是把 AI 嵌进一套本来就严谨的工程流程里。这也是它被斯坦福 CS146S 课程选为读物、被 AI 博主 Rohan Paul 转发的原因。(此段为帮助理解的增补,非原帖内容。)

🛠️

7 步工作流全览

02

注意一个关键事实:7 步里,AI 真正大显身手的是第 5 步(第 6 步初显潜力);前 4 步——设计、评审、拆解——依然是「人类的主场」,而且作者说,大部分工作量就发生在第 1 步的设计文档里

① 技术设计文档 提案 → 架构与集成设计 大部分工作量在这里 ② 设计评审 资深工程师「撕碎」文档 把痛苦前置 ③ 子系统文档 开发启动后头几周 逐个子系统再写文档 ④ 排期拆任务 与 PM / TPM 一起 拆成离散任务+定顺序 ⑤ 软件开发 🤖 AI 主战场 TDD:先让 AI 写测试 再让 AI 实现功能 AI = 战力倍增器 ⑥ 代码评审 🤖 AI 辅助 两名开发批准才能合入 main AI 辅助评审「前景很好」 ⑦ Staging 测试 → 上线 预发环境验证通过 推向生产(prod) 📐 重心分布:①–④ 人类主导(大部分工作量在①设计文档) · ⑤ AI 主战场 · ⑥ AI 辅助(潜力初显) · ⑦ 收口 从提案到上线整体提速 ~30%
图 1 · FAANG 七步生产流:AI 的「战力倍增」发生在第 ⑤⑥ 步,但整条流水线的地基仍是设计文档与评审
技术设计文档(Technical Design Doc)

一切永远从技术设计文档开始——大部分工作量就发生在这里。文档先以提案(proposal doc)的形式出现;如果能让足够多的利益相关方(stakeholders)认同提案有价值,才进入系统设计本身的展开:完整架构、与其他团队的集成等等。

设计评审(Design Review)

在启动开发之前,先过设计评审:让团队的设计文档被资深工程师「彻底撕碎」(absolutely shredded)。作者说这是好事——他把这看作把痛苦前置(front loading the pain)。

💬 「把痛苦前置」是什么意思?(增补解释)

设计里的错误越晚被发现,修复代价越高:评审阶段改一行文档,开发后期可能就是返工几千行代码。让最挑剔的人在动工前把问题全挑出来,等于把「将来必然要还的债」提前一次还清。(此为帮助理解的增补解释。)

子系统文档(Subsystem Documentation)

通过评审后正式启动开发。但头几周仍在写文档:对每一个将由各开发小组负责构建的子系统,再做一轮更细的文档。

排期与任务拆解(Backlog + Sprint Planning)

开发者与 PM(产品经理)和 TPM(技术项目经理)一起,把工作敲定成一个个离散任务(discrete tasks),并排定各个开发者处理它们的顺序。

软件开发 🤖 AI 主战场

终于,手可以放上键盘、开始「粉碎」任务工单了——AI 在这一步是战力倍增器(force multiplier)。他们采用测试驱动开发(TDD):先让 AI 编码智能体为要构建的功能写测试;只有在这之后,才开始用智能体去实现功能本身

代码提交评审(Code Submission Review) 🤖 AI 辅助

代码要合入 main,必须经过两名开发者批准的评审流程。AI 在辅助评审方面也展现出很大的潜力

Staging 测试 → 上线

staging(预发环境)测试;staging 没问题,就推向生产环境(prod)。

📈

效果:从提案到上线,提速约 30%

03
~30%
从功能提案到上线生产
的整体提速
2 人
代码合入 main 前
需要的开发者批准数
测试先行
AI 智能体先写测试
再实现功能(TDD)

作者的原话:整体上,他们看到从功能提案到功能上线生产,速度提升了约 30%——「这对我们来说是巨大的」(This is huge for us)。

TL;DR:永远从一份扎实的设计文档和架构开始。在此基础上分块构建(build from there in chunks)。永远先写测试
—— u/TreeTopologyTroubado,原帖收尾
🔗 与 Week 3 其他读物的呼应(增补观察)
这套流程与同周读物 《让 AI 在复杂代码库中真正干活》的「研究/计划/实现」异曲同工:都把人类的精力压在上游高杠杆环节(设计文档=计划),都用结构化文档给 AI 提供稳定锚点,都强调测试与评审兜底。一个是创业团队的敏捷版,一个是大厂的流程化版。(此段为编者增补的关联提示,非原帖内容。)
📚

关键术语速查

04
Vibe coding
用自然语言与 AI 对话式地写代码的开发方式;本帖展示的是它在大厂生产环境里的「严肃版」。
FAANG
Facebook(Meta)、Apple、Amazon、Netflix、Google 五大科技公司的统称,泛指美国头部大厂。
设计文档 Design Doc
动工前写清「要建什么、为什么、怎么建」的技术文档;此流程中先是提案,获认同后展开为完整系统设计。
TDD
Test Driven Development,测试驱动开发:先写测试再写实现;此帖中测试由 AI 智能体先行编写。
PM / TPM
产品经理 / 技术项目经理;第 4 步与开发者一起拆任务、排顺序的角色。
Staging
预发环境:仿真生产的最后验证环境,通过后才推 prod(生产)。
Force multiplier
战力倍增器:不改变流程结构、但成倍放大执行效率的因素——作者对 AI 在开发环节作用的定位。

🧭 一句话带走

FAANG 的 vibe coding 不是「跟 AI 聊出一个产品」,而是把 AI 嵌进一条本就严谨的流水线:设计文档打地基、评审把痛苦前置、AI 先写测试再写码、两人评审 + staging 收口——流程没变软,速度却快了三成。