作为一名软件工程师,现在我的每一行代码都是 AI 写的:聊聊 Vibe Coding

作为一名软件工程师,现在我的每一行代码都是 AI 写的:聊聊 Vibe Coding

作为一名有6年多工作经验的软件工程师,我已经一年多没有手写一行代码了。我现在的项目,每一行代码都是 AI 写的。但一年多以前第一次用 AI 写代码时,我只爽了不到三天。

Vibe Coding 是幸福的

还记得去年(2025)六月份,第一次慕名打开 Cursor,这是一个初看和经典代码编辑器 VS Code 差不多的应用,只是多了一个与 AI 交互的侧边栏。

在那之前我对 AI Coding 的印象,还停留在 Copilot 的高级自动补全。然而当我敲下第一条指令,点击发送给 AI,神奇的事情发生了。我看到 AI 在疯狂思考,并且在代码编辑器中飞速写出几十上百行代码,甚至能在不同文件中自如切换并更新,还能直接在终端帮我执行命令。

我现在竟然只用自然语言描述功能需求,AI就能帮我直接创建对应的功能,而不需要亲自写下每一行,也不再是传统的自动补全的逻辑,而是从更高层面彻底接管软件工程师的部分工作。

这一刻我感受到了神笔马良式的魔法,一种看到新世界大门的喜悦。

于是我当时发表了如下的感悟。

Vibe Coding 天然适合 ADHD,传统写代码方式很反 ADHD 个性,Vibe Coding 一下子治好了不爱写测试、抗拒 CSS、老写错变量名、不爱重复琐碎找无聊 bug 的毛病。

现在有 AI 协助,反馈速度变得飞快,成就感满满,越是琐碎重复的部分 AI 越能完成得越好。

然后只用专注于提供大方向、架构设计,持续作为一个项目领导存在了。

我并不想亲自敲下每一个字符,但是我很享受创造作品的乐趣。从汇编到高级语言,程序员创造程序的体验应该是越来越好、效率越来越高的。

现在可以以一个纯粹创造者的视角,而不是搬砖工的感觉去创造程序,作为程序员其实应该是非常幸福的。

Vibe Coding 的边界

这种写法有一个专门的名字:Vibe Coding。这个词是 OpenAI 联合创始人 Andrej Karpathy 在 2025 年 2 月提出的,意思是完全跟着感觉(vibe)走:用自然语言告诉 AI 想要什么,AI 写的代码全部接受,不逐行审查,出了报错就原样丢回给 AI,直到几乎忘记代码本身的存在。

初体验发表完毕上述感慨后,爽了不到三天,我就发现了 Vibe Coding 的边界。

当时的我正在打造一个 App 原型,纯粹的 Vibe Coding 让 AI 根据模糊指令自由发挥,还没加上任何软件工程技巧。于是逐渐地,AI 变得越来越难控制,并且软件架构会变得混乱到难以维护。

于是我推倒重来,以软件工程师的身份,这次重新按照标准工作流程,来进行 AI 辅助开发。

这次我进入了另外一种状态,在保留了大量的 Vibe Coding 乐趣的同时,我加上更严格的代码审查,更清晰的文档,更小的渐进式修改,逐步改进,而不是一次性添加大量功能。这次整体的架构和实现变得高度可控,实现了指哪打哪的痛快感。AI 辅助开发,成为了类似领导指挥实习生的体验。一些细节的事情不用亲自实现,但是依然需要保留架构上的控制,和全局思考能力。

很快我切换到了 Claude Code 进行辅助开发。获得了更精准和强大的控制力,有如神助,我的开发效率获得了好几倍的提升。

软件工程师的未来

「Vibe Coding 会因为可以太快把东西做出来,导致不想去深入学习和研究编程基础,有这种可能吗?」

我认为是非常有可能的!

传统学习编程到做产品的路径,是像台阶一样,一步一个脚印,很多人会从最基础的编程语言课开始,到成为初级工程师,在工作上面对大量实际工程的挑战和实践,慢慢成长为独当一面的软件工程师。这里每一步都会有一定反馈,所以按照大众平均学习能力,进入这个领域不是什么很困难的事情,也有清晰的职业路径。

Vibe Coding 把启动门槛降低到了最低,任何人都可以实现 Demo 水平的产品,但是软件工程是一门需要大量实践性的学科,从 demo 到一个完善的商业化可靠的产品,差不多是 0-1 和 1-100 的区别。

传统职业路径下,能实现 0-1 的人,在这个过程中也基本积累了许多 1-100 必备的基础能力。但是 Vibe Coding 并没有让零基础的人获得这种基础能力,从 1-10 就会遇到断层式的难度门槛,会劝退更多人持续精进。

正因为前面太过轻松,后面遇到更大的困难,靠普通水平的兴趣和学习能力是无法简单跨越的。如果能在后续也轻松跨越,那这个人的学习能力、执行能力、解决问题的能力也一定是顶尖水平,至少是程序员中的前 1%。

也就是说,这一小撮学习能力、执行力很强的人,就算是在前 AI 时代,也有实力成为顶尖工程师。

随着 AI Coding 能力的大幅度提升,行业不再需要初级工程师,职业培训会出现断层,也没有那么多人有机会锻炼和学习技能。

这篇草稿写完一年后,招聘数据开始印证这个判断:

我对于这个领域的未来相当悲观,编程领域在业界,出现两极分化的场景,要么是神仙打架,要么就是很多人出于兴趣做到 demo 水平的玩具。

其他领域也会逐渐步编程的后尘。未来世界一切的轻脑力工作都会被 AI 取代。

连数学这种最依赖原创思考的领域,也在这一年里被 AI 撬开了:

这个系列会写什么

在当下,随着越来越多没有编程经验的人,开始接触 AI Coding,他们可能不知道从哪里开始,或者只是尝试做了一点小项目。他们会发现,自己对于软件工程知识的缺乏,会导致经常不知道自己在做什么,不知道如何拆解问题,如何解决复杂问题,不知道如何指挥 AI 达到想要的目标。

我还注意到,还有很多人的问题,其实源于缺乏逻辑思考,不懂得如何提问,如何批判性思考,不知道 AI 的回答是否正确。

我是一名有 6 年以上经验的软件工程师,借助 AI 完成了多个复杂项目的设计和开发,这些产品也有了不少自己的用户。就像开头说的,我现在的项目每一行代码都是 AI 写的。AI 确实可以帮助开发复杂的项目,前提是开发者知道自己在做什么,并且如何引导 AI 完成工作。AI 只是工具,关键在于人。

AI 时代,传统编程学习的路径将会被推翻。所以,为了响应时代趋势,我准备推出一个系列《零基础 Vibe Coding 完全指南》。

这份指南将会包含几大板块:

  1. 让 AI Coding 融入现代软件工程最佳实践。先理解软件工程是什么,再从零起步,把自己想做的软件亲手做出来。目标是项目不只停留在 demo,而是能长期维护,写起来也如丝般顺滑
  2. 思维和逻辑训练指南,在 AI Coding 的时候如何有效提问,应该避免做的事情,如何有效编写项目文档
  3. 如何对自己的项目和代码进行测试,优化整套工作流,如何在保持架构可靠的同时,不断优化软件质量、功能。在不降低软件质量的情况下,怎么提升开发速度,怎么做出自动化工作流。
  4. AI 编程的最佳技术栈选择,选择什么语言和框架开发,才能尽可能发挥 AI 的能力优势

后记

其实这篇文章的主要内容是一年前(2025 年 10 月)写的,这次重新编辑了一遍,并补充了这一年的招聘数据和 AI 在数学上的突破。当时震惊于 AI 的惊人发展速度,很担心写的东西过几天就过时了,于是短贴文发了很多,正经长篇文章却写得很少。一年过去,重新翻到这篇草稿,发现说得还是相当有道理的,于是整理了一下发出来。未来还是要多写文章,毕竟有人味儿的内容,在未来会越来越稀缺。