Vibe Coding:软件工程2.0的开端

3 阅读9分钟

Vibe Coding:软件工程2.0的开端

一、一个可能不太恰当的类比

1870年代,第二次工业革命悄然展开。

在那之前,工厂依赖的是大量工人——他们操作机械、搬运物料、执行每一个生产环节。工厂主最头疼的问题是招工、管人、防止熟练工跳槽。

然后电来了。

电动机取代了蒸汽机的皮带传动系统,机器可以灵活布置了,流水线拉起来了。工厂从”劳动密集型”转向了”资本密集型”——你不再需要那么多工人,但你需要大量的设备,需要稳定的电力供应。电费成了主要成本,大厂甚至自建发电机来保障产能。

工业2.0的本质,是用机器和电力替代了人力,用标准化流程替代了手工作坊。

现在来看编程的变化,我最近这两三个月,几乎没有手写过一行代码了。AI 编程发展的太快了,这应该是第一个确定AI强过人类的领域,继续发展下去会如何?

我有一个强烈的直觉:软件行业正在经历类似工业2.0的转变。而这一次的”电”,叫做Token。

二、传统软件工程为什么”落地难”

说到这里,我想聊一个软件行业的老问题:为什么那些漂亮的软件工程方法论,总是很难真正落地?

瀑布模型、敏捷开发、Scrum、看板……这些方法论被写进教科书、被培训公司反复宣讲,但真正能在团队里跑顺的有多少?

敏捷宣言说”可工作的软件胜于详尽的文档”,结果很多团队变成了”既没有文档也没有可工作的软件”。Scrum说要有产品负责人、要有Sprint回顾,结果很多团队的回顾会变成了走过场。

计算机科学家Dijkstra曾经毫不客气地批评:”软件工程的章程就是——’如果你不会编程,如何编程’”,,所以这纯属扯淡,他甚至称之为”注定失败的学科”。

为什么会这样?

我认为根本原因是:Coding这个环节太依赖人了。

软件工程的各种方法论,本质上都是在试图”管理”程序员的工作。但程序员不是流水线工人,代码不是标准化零件。每个程序员的水平不同、风格不同、状态不同。你可以规定流程、规定文档、规定代码审查,但你没办法规定一个程序员的大脑是怎么运转的。沟通讨论对齐都需要成本,还得监管避免有人钻空子偷懒。

这就像工业1.0时代的工厂——你可以制定规章制度,但只要还是依赖工人的双手,生产效率就有天花板,质量波动就不可避免。

真正的突破,来自于把”人”从核心生产环节中替换出来。

三、软件工程2.0:一个大胆的猜想

如果我们把工业2.0的逻辑套用到软件行业,会得到什么?

工业2.0软件工程2.0
大量雇佣工人大量雇佣程序员
采购工业设备采购AI Agent
依赖电力依赖Token
自建发电机自建大模型
流水线标准化测试驱动+自动化

这个类比可能不完美,但我认为方向是对的。

软件工程2.0的核心,是把”编码”这个环节从人类手中转移到AI Agent手中。

人类的角色会发生变化:

  • 从”写代码的人”变成”描述需求的人”
  • 从”实现功能的人”变成”验证质量的人”
  • 从”生产者”变成”监督者”

而在这个新范式里,有一件事情变得前所未有的重要:测试。

为什么?因为当代码是AI生成的,你不能指望每一行都被人类理解和审查。你能依赖的,是测试——单元测试、集成测试、端到端测试、性能测试。测试覆盖率将成为质量的核心指标。

讽刺的是,这恰恰是传统软件工程一直强调但很少被认真执行的东西。不是因为大家不知道测试重要,而是因为写测试”太麻烦了”——程序员宁愿把时间花在写新功能上。

说到测试的重要性,有一个极端的例子:Oracle数据库。

一位前Oracle开发者曾在Hacker News上分享过他的亲身经历:Oracle数据库有接近2500万行C代码,代码库中充满了各种神秘的宏和上千个相互纠缠的标志位(flags)。有时候理解一个bug需要同时考虑20个甚至100个不同的flag如何相互作用。

这个产品还能正常工作的唯一原因,就是那数百万个测试用例

每次修改代码后,开发者需要把代码提交到一个由100-200台服务器组成的测试集群。然后回家,等20-30个小时。第二天回来查看结果——运气好的话有100个测试失败,运气不好就是1000个。然后继续调试、提交、等待……一个简单的bug修复可能需要反复迭代两到三周。

听起来简直一坨屎对吧?但这恰恰证明了一件事:在足够完善的测试覆盖下,即使是祖传的屎山代码也能继续跑。

但在软件工程2.0时代,测试不再是”可选项”,而是”必需品”。因为AI可以帮你写代码,但只有测试能告诉你代码是否正确。测试将成为人类与AI协作的接口。

四、古法编程的未来

说了这么多,我并不认为人类程序员会完全消失。

就像工业2.0之后,手工作坊并没有完全消失一样。今天我们依然可以买到手工缝制的皮具、手工打造的刀具、手工酿造的啤酒。它们不是主流,但它们代表了一种品质、一种态度、一种”人味”。

我猜测,”古法”编程——人类程序员手写每一行代码、精心打磨每一个函数——将来也会继续存在。但它会变成一种小规模的、高端的、工艺品式的存在。

某些对安全性要求极高的领域(比如航天、医疗、金融核心系统),可能会坚持要求人类程序员的深度参与。某些追求极致性能的底层系统,可能依然需要人类专家的精细优化。

但大规模的应用层开发——那些CRUD、那些中台、那些业务系统——将逐渐被AI接管。大规模软件生产将由自动化来完成,就像大规模商品生产由工厂流水线完成一样。

五、一些尚未回答的问题

当然,这个愿景还有很多问题没有答案:

关于质量:AI生成的代码会不会埋下大量技术债务?AI会不会引入更多安全漏洞?当开发者不完全理解代码时,如何确保不被AI忽悠,保障代码质量?

关于成本:Token的成本在下降,但自建大模型的成本依然高昂。未来的”Token电厂”会不会像今天的云计算一样,被几个巨头垄断?

关于教育:当 AI 编程的效率远超人工,如何避免学生被AI”开挂”诱惑,认真的完成编程练习?我们都知道这是能力训练的过程,问题在于如何说服学生们。毕竟我儿子问我:”明明可以用计算器,为什么还要学加减乘除?”的时候,我可以揍他一顿并让他好好学习不要瞎想。可大学生们已经成年了。

这些问题我没有答案,也许明年的这个时候会有新的变化。

六、结语

回到开头的类比。

第二次工业革命不是一夜之间发生的。从电动机发明到真正改变工厂,用了几十年时间。期间有质疑、有反复、有失败的尝试。但方向是不可逆的。

Vibe Coding也一样,它当然还有各种问题,还被很多人质疑。但显然在2026年的1月底,随着 AI 编程能力的持续快速提升,质疑的声音越来越少了,信徒越来越多了。

所以我认为它实际上代表了软件工程2.0的开端——一种用AI Agent替代人类编码、用Token替代人力、用测试替代信任的新范式。

过去的软件工程理论,终于有机会真正落地了。不是因为理论变了,而是因为执行理论的不再是那个不可控的”人”,而是可以严格执行指令绝无二心(至少目前是?)的”AI”。

这是危机,也是机遇。

关键在于,你准备好了吗?

参考资料

  1. Karpathy, A. (2025, February). "Vibe Coding" [Tweet]. X (formerly Twitter).
    原文:"fully giving in to the vibes, embracing exponentials, and forgetting that the code even exists."
    x.com/karpathy/st…

  2. Collins Dictionary. (2025). "Vibe Coding" named Collins Word of the Year 2025.
    www.collinsdictionary.com/word-lovers…

  3. Y Combinator. (2025). Winter 2025 Batch Statistics.
    数据显示25%的创业项目代码库95%以上由AI生成。
    www.ycombinator.com/blog

  4. GitHub. (2023). Research: Quantifying GitHub Copilot's impact on code quality.
    研究表明85%开发者对代码质量更有信心,代码审查速度提升15%。
    github.blog/news-insigh…

  5. GitHub. (2022). Research: Quantifying GitHub Copilot's impact on developer productivity and happiness.
    研究显示使用Copilot的开发者编码速度提升55%。
    github.blog/news-insigh…

  6. Dijkstra, E. W. (1988). "On the Cruelty of Really Teaching Computing Science."
    原文批评软件工程为"a doomed discipline"。
    www.cs.utexas.edu/~EWD/transc…

  7. Beck, K. et al. (2001). Manifesto for Agile Software Development.
    agilemanifesto.org/

  8. Wikipedia. Second Industrial Revolution.
    关于第二次工业革命与电气化的历史背景。
    en.wikipedia.org/wiki/Second…

  9. oraguy. (2018). "Life of an Oracle Database Developer" [Hacker News Comment].
    前Oracle开发者分享的Oracle数据库开发真实经历:2500万行C代码,数百万测试用例,每次测试需要20-30小时。
    news.ycombinator.com/item?id=184…