这篇帖子发布在r/vibecoding板块,发帖者自称是一位拥有十多年工作经验的AI软件工程师,曾在FAANG(即meta、亚马逊、苹果、Netflix和Alphabet)工作过半数职业生涯。他分享了自己在AI辅助下开发产品代码的方法,这一流程引发了广泛讨论。
发帖者详述了从可靠的设计文档和架构开始,逐步构建产品的过程。他强调,技术设计文档是工作的核心,需要获得利益相关者的认可,并经过高级工程师的评审。一旦设计通过审核,开发团队会针对各个子系统编写更多文档,并进行待办事项开发和冲刺规划。随后,开发人员会拿起键盘,开始处理任务单。
值得注意的是,发帖者提到他们在软件开发阶段使用了测试驱动开发(Test Driven Development)的方法,即让AI编程智能体先为要构建的功能编写测试,然后再使用这个智能体来构建功能。代码提交前,还需要两名开发人员进行审批,AI在协助审核方面也展现出巨大潜力。
然而,尽管这一流程中AI扮演了重要角色,但关于它是否构成氛围编程却存在争议。有观点认为,由于流程中仍需要大量人类参与,因此不能称之为氛围编程。这一观点引发了热烈讨论,一些人甚至质疑FAANG等大型科技公司是否真的允许员工氛围编程。
尽管如此,仍有不少开发者从中看到了可取之处。他们认为,这一流程结合了AI的优势和人类的专业知识,可以成为使用AI的最佳实践。详细的技术规格、事先审查解决方案以及首先编写测试代码等步骤,都有助于提高开发效率和代码质量。而编程本身则成为了相对轻松和乏味的阶段,工程师的价值更多地体现在设计、头脑风暴、编写规范和测试等方面。
一些开发者还分享了自己的经验,认为在AI辅助下,他们能够更加高效地完成任务,同时保持代码的质量和可读性。他们强调,AI不是取代人类开发者,而是作为强大的工具来辅助人类工作。
氛围编程的争议和实践仍在继续,但不可否认的是,AI已经在编程领域发挥了越来越重要的作用。随着技术的不断进步,我们有理由相信,未来将有更多创新的方法将AI与人类专业知识相结合,共同推动编程领域的发展。