Vibe Coding is kind of like borrowing
TL;DR
Vibe Coding 就像贷款、花呗,只是没有标注还款额和期限。
选了 borrowing 这个单词是因为它既有贷款的含义,也有借用的含义。
结果还是过程?
对于这样的现象,我先下一个结论:软件开发向来是为了解决问题(Problem Solving),重要的是解决问题的结果,而不是解决的方式。
大模型的出现让重复基础编码任务的意义快速贬值,但是开源协同的形态并没有因此发生巨变。对于个人而言,此时应该做的是尽快掌握大模型制导的编程能力,将自己从繁琐的重复编码任务里解脱出来,集中注意力投入到其他高价值目标上去。
否则,这就像十年前别人开发 Java 都用 JetBrains 自动生成模板,自动补齐代码,流畅 DEBUG,光速跳转定义;而你还在手敲每一个符号名,全局搜索文本找代码,不停吐槽为什么别人写的类名方法名都要全拼
[Claude Code] has the potential to transform all of tech. I also think we’re going to see a real split in the tech industry (and everywhere code is written) between people who are outcome-driven and are excited to get to the part where they can test their work with users faster, and people who are process-driven and get their meaning from the engineering itself and are upset about having that taken away.
[Claude Code] 有潜力改变整个科技行业。我还认为,我们将在科技行业(以及所有编写代码的地方)看到一种真正的分化:一方面是那些以结果为导向、兴奋于更快地将工作交给用户测试的人;另一方面是那些以过程为导向、从工程本身中获取意义、并对这种被剥夺感到不安的人。
我不排斥也不反感 AI 这个技术,过度批判技术变革带来的改变是弱者的借口,哪怕 AI 真的一无是处。以后完全杜绝 AI 就好像现在完全不使用智能手机和电子设备一样荒谬。工业革命、自动化会让许多人失去现在的岗位,但它同样也提供了更多岗位和需求。
我不是程序员,也不是相关行业的,编程只是一个爱好。
编程作为一个爱好、技能,和软件工程、软件开发,是完全不一样的心态。
对于工程实现,我觉得 AI 的参与完全没有问题。否定它未来的可能性就好像现在关闭所有工厂回到手工制作。让 LLM 来做一些总结、编排的杂活,并行 review 多个项目,这是传统自动化很难实现的。以前需要人力完成的,十分之一不到成本的 token 可能就可以做到。
软件开发,团队项目是靠产品说话的,这些更注重结果。就像现在的大语言模型和 Claude Code,产出让用户觉得好用的产品才是第一位的。至于这个大语言模型是如何训练出来的,Claude Code 是如何实现的,普通用户其实并不关心,比竞品好用用户就会选择。
我不喜欢 LLM 代码生成
但对于 Vibe Coding 和 LLM 代码生成,我始终不太喜欢。
I think the job of being paid money to type code into a computer will go the same way as punching punch cards […] in six years time, I do not think anyone will be paid to just to do the thing where you type the code. I think software engineering will still be an enormous career. I just think the software engineers won’t be spending multiple hours of their day in a text editor typing out syntax.
我认为,作为一份工作,拿钱在电脑上输入代码的工作将在六年后与打孔卡一样消失,我认为到那时不会有人仅仅为了输入代码而获得报酬。我认为软件工程仍将是一个巨大的职业。我只是认为软件工程师不会花费多小时在文本编辑器中输入语法。
via: https://simonwillison.net/2026/Jan/8/llm-predictions-for-2026/
对于工作,我赞同 Simon 大佬的这个言论,但我认为 LLM 代码生成绝对和打孔卡的取代不是一回事。手拿普通锯子(打孔卡),手拿电锯(现代编程语言),电锯自己动(LLM 生成),这之间的区别不是明摆着的么?
本质上,编程就是自动化,把需要实现的结果,用代码固定下来,编译好让机器自动化执行。AI(大语言模型)则通过神经网络,让自然语言成为了代码的“解释器”。
但AI 生成和 AI 自动化有本质上的区别,用 AI 生产内容和用 AI 来管理流程是两码事。
LLM 生成代码这个过程中,它始终是一个概率结果。传统自动化工具指向一个确定的结果,而 LLM 生成得到的始终是一个随机区间,即使这个随机区间对于简单的代码复制、修剪工作来说,很小,很稳定;即使通过高超的 prompt 技巧、炉火纯青的 AI 技术,得到非常准确的代码。概率性是 LLM 生成始终无法回避的问题。
编程现在对我而言,是一种自我表达,它有着艺术该有的所有特性。
把这些交给 AI 来生成给我一个结果,不是我想要的,也很不“自我”。啪啪啪,生成了一些质量也不错的代码,但这太不好玩了,带给不了我什么乐趣。我很享受敲代码的时候键盘敲击的声音,像弹吉他一样,思维和想象力的轨迹在指尖游走,具象化的表现出来。
编程语言本身也就是一种语言,为什么必须要用自然语言来和计算机对话?
这是一次进化,但也是退化。当一种语言被另一种语言同化,也就意味着它的消亡。(现代编程语言和汇编、机器码之间的关系和这个不一样)
为什么现在许多软件开发者,甚至是行业大佬,本身代码能力就很强,但还是会在 AI 代码生成上过于夸大其词,甚至是炫耀高超的 AI 生成技巧,好像是在追逐创造一种流行趋势和潮流。值得拿出来炫耀的不应是自己本身就有的编程能力么?
我觉得这才是真正的 SKILL,而不是变成了写 prompt、文档和各种 AGENTS.md 来安排 AI 的“架构师”。能用自然语言来编码绝对不是一个值得这么高兴的事情。
对于代码能力本身很强的人来说,AI 能解放双手,同一时间可以并行构建多个项目。确实现在还是如此,代码能力能纠正 LLM 生成的代码,没有 AI 也还是能写出高质量的代码。
当 AI 生成的代码比自己还要好的时候,当自己已经无法理解 AI 生成的可运行物件的时候,又该如何?还会觉得这些是在自己的思维主导下创造出来的么?自己不写代码了,还怎么去评判 AI 代码的质量和品味?
当 LLM 生成的代码质量像现在的工业制造一样,品质可控,误差降低到非常低,软件开发进入 AI 工业时代,现在声称的编程和代码品味还存在么?
所以,从 Vibe Coding 这个概念出现到现在一直的争论里,我觉得关键还是在于判断:AI 生成代码是否只是一种工具的使用。
我的答案是:显然不是。
一个很简单明了的逻辑判断:
如果 AI 的生成只是工具和智慧劳动的结合,那么离开了它,你还能实现这个结果么?换一个模型,还能生成同样质量的内容么?能找到另一个替代它来帮你完成这个工作的工具么?如果有,那么为什么必须要用 AI 生成?
用电子画笔画画,算法摄影,这些虽然都有科技技术的融合,但是他们和 AI 生成还是很不一样,这些带有思维创造比重较大的行为,在工具技术的加成下,还是人在主导,它们还是工具。
再强大的电子画笔,不会画画还是画不出来;再昂贵的相机,没有审美还是拍不出好照片。
我不会把 AI 生成完全当作是自己思维的创造,这些生成的内容依靠的是模型和神经网络完成的概率计算,它是概率结果,它无法复现,更不是一种技能。
它们就像贷款,让 AI 帮自己做的越多,将来要还的就越多。
即使现在的数码摄影如此发达了,胶片仍然有它独特的味道和价值。
我相信编程里这些无法被替代的东西会有人继续坚持下去,当狂潮退去,能让内心继续跟随的只有热爱。