氛围编程(vibe coding)是由 Andrej Karpathy 带火的一个热词,已经成为了相当流行的编程方式。然而,这种编程方式的流行程度目前还没有可靠的统计数据。不过,近日在 Reddit 上的一篇热帖可以让我们窥见一些端倪:氛围编程可能比我们预想的更受欢迎,FAANG 等大型科技公司也不乏氛围编程的实践者,尽管人们对这种工作流程是否真正属于氛围编程存在很大争议。

这篇帖子发布在 r/vibecoding,发帖者 u/TreeTopologyTroubado 自称是一位拥有十多年工作经验的 AI 软件工程师,其中有约一半的时间在 FAANG(即 Meta、亚马逊、苹果、Netflix 和 Alphabet 五大科技巨头)工作。虽然他职业生涯的前半段是系统工程师,但现在已有约 15 年的编程经验。
在帖子中,他分享了使用 AI 开发产品代码的方法。简单来说,就是始终从可靠的设计文档和架构开始,然后在此基础上逐步构建,先编写测试。
具体步骤如下:
- 从技术设计文档开始。设计文档是工作的主体,最初是一份提案文档。如果能够获得足够多利益相关者的认可,就可以开始开发系统设计本身,包括完整的架构、与其他团队的集成等。
- 在开发前进行设计评审。高级工程师会彻底评估团队的设计文档,这有助于减少开发过程中的问题。
- 通过审核后,开始开发工作。最初的几周,将针对各个开发团队即将构建的子系统编写更多文档。
- 待办事项开发和冲刺规划。开发人员需要与项目经理和技术项目经理协作,确定各个开发人员需要处理的独立任务及其执行顺序。
- 软件开发。终于可以开始处理任务单了。使用测试驱动开发(Test Driven Development),让 AI 编程智能体先为要构建的功能编写测试,之后再使用该智能体构建功能。
- 代码提交审核。在将代码合并到人工代码之前,需要两名开发人员进行审批。AI 在协助审核方面也展现出巨大潜力。
- 在预发布版本中进行测试。如果预发布版本一切正常,就可以将其推送到生产版本。
该帖在 Reddit 和 X 上引起了广泛讨论。其中一个讨论点是,FAANG 等大型科技公司竟然允许员工使用氛围编程!即便谷歌曾宣称其现在大约一半的代码都是 AI 编写的,但这一说法也备受质疑。一些开发者表示谷歌可能把自动代码补全的部分也算作 AI 生成的代码,还有不少人质疑谷歌在生产环境中实际部署了多少这些 AI 生成的代码。
不过,也有人认为,根据帖子的描述,这个流程其实不能称为「氛围编程」,因为其中依然有大量环节需要人类参与。这或许是该帖子最引人争议的地方。

这表明,即便有 AI 加持,大型科技公司繁琐的流程还是会拖延研发速度。这对独立创始人来说可能是件好事,因为独立开发者可以更加灵活地运用 AI 工具,提升开发效率。
然而,也有不少开发者从中看到了可取之处。例如,开发者 Frank Lin 认为这可以成为使用 AI 的最佳实践,即详细的技术规格,在编程之前先审查解决方案,并首先编写测试代码。编程是最轻松和乏味的阶段,工程师的价值则在于设计、头脑风暴、编写规范、测试等方面,也就是要弄清楚需要编写什么代码。

有人分享了自己的经验,表明这种混合方法在实际开发中确实有效。通过充分利用 AI 的优势,同时保持人类工程师的创新和判断,可以在保证代码质量的同时提高开发效率。





尽管如此,氛围编程仍有其局限性。如何平衡 AI 的辅助与人类的创新,是未来开发模式中需要持续探讨的问题。



对此,你怎么看?或者有什么经验与我们分享吗?
https://www.reddit.com/r/vibecoding/comments/1myakhd/how_we_vibe_code_at_a_faang/
https://x.com/Yuchenj_UW/status/1959661025319608603
https://x.com/rohanpaul_ai/status/1959414096589422619