共计 1877 个字符,预计需要花费 5 分钟才能阅读完成。
机器之心报道
编辑:Panda
氛围编程(vibe coding)这个词汇,因Andrej Karpathy而广受关注,现已成为一种颇为流行的编程方式。然而,这种方式的流行程度究竟如何,似乎并没有确凿的统计数据。不过,最近在 Reddit 上的一篇热门帖子,让我们可以窥见一些端倪:氛围编程的受欢迎程度或许超出我们的预期,FAANG 等知名科技公司中也不乏氛围编程的从业者——尽管对于这一工作流程是否该归类为氛围编程,业界存在不少争议。

该帖子在 r/vibecoding 版块发布,发帖者 u/TreeTopologyTroubado 自述为一名拥有十余年经验的人工智能软件工程师,且其一半的职业生涯是在 FAANG(即 Meta、亚马逊、苹果、Netflix 和 Alphabet 五大科技巨头)中度过的。尽管他职业生涯的前半段是担任系统工程师,而非开发人员,但他现已积累了大约 15 年的编程经验。
随后,他介绍了运用 AI 开发产品代码的过程。简而言之,就是始终要从可靠的设计文档和架构入手,逐步搭建系统,且优先编写测试。
具体而言,流程如下:
- 首先,需要从技术设计文档入手。这是工作的核心。在初期,设计文档应为提案文档。如果你能够说服足够多的利益相关者相信你的提案有价值,则可以开始进行系统设计的开发。这涉及到完整的架构以及与其他团队的整合等。
- 在开发工作开始前,务必进行设计评审。这意味着要让高级工程师仔细评估团队的设计文档。这是一种有效的做法,能够减轻开发过程中可能遇到的困难。
- 一旦设计通过审核,就可以开始开发了。在最初的几周内,我们将为各个开发团队即将构建的子系统编写更多的文档。
- 待办事项的开发及冲刺规划。开发人员需与项目经理和技术项目经理密切合作,明确每位开发人员需要完成的独立任务及其优先级。
- 开始软件开发。终于,我们可以动手编写代码,解决任务单。这正是 AI 发挥其强大能力的时刻。我们采用的是测试驱动开发(Test Driven Development)的方式,首先由 AI 编程助手为需要构建的功能编写测试,随后我才会利用该助手来完成功能的实现。
- 代码提交审核。在将代码与人工编写的代码合并之前,必须经过两名开发人员的审查。AI 在审核过程中也展现出了巨大的潜力。
- 在预发布版本中进行测试。若预发布版本一切顺利,我们就会将其推向生产环境。
该帖在 Reddit 和 X 平台上引起了广泛的讨论。其中一个主要话题是,FAANG 等大型科技公司竟然允许员工进行氛围编程!
尽管谷歌曾表示目前约有一半的代码是由 AI 生成的,但这一说法也遭到质疑。有些开发者指出,谷歌可能将自动代码补全的部分也算作 AI 生成代码,此外,许多人对谷歌实际在生产环境中运用多少 AI 生成代码表示怀疑。

然而,有观点认为,从该帖子中所述的流程来看,称之为“氛围编程”并不恰当,因为其中依旧需要大量人类的参与。这也许正是该帖引发争议的核心所在。





Hyperbolic的联合创始人兼首席执行官金宇辰也指出,这种工作模式对于人类员工而言是相当痛苦的,缺乏良好的氛围。

此外,这也表明尽管有人工智能的辅助,大型科技公司的复杂流程依然会减缓研发的步伐——这似乎对独立创始人而言是个利好消息。

开发者的新视角:AI时代中的编程实践

尽管面临挑战,仍有许多开发者看到了积极的一面。
例如,开发者Frank Lin提出,采用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
