软件圈最近流行起一套奇怪的修辞:用提示词生成代码、不看底层实现的人自封为走在时代前沿的工程师;反倒是那些深究内存布局、死磕系统确定性的手写代码者,被贴上了手工作坊程序员(artisanal coder)的怀旧标签。

博主 purplesyringa 近期撰文发起抵制:工程的核心是约束、严密与长期责任,凭什么盲目生成代码的人夺走了工程师的头衔,而严谨求证的人反而成了玩情怀的手艺人?

社交媒体的迷因,工业界并不买账

社交媒体上的叙事常让人产生错觉,仿佛整个行业已经全面倒向只要感觉对了就能跑的 vibe coding。但跳出信息流,真实生产一线的数据给这种狂欢泼了冷水。

开发者将工具视为补全辅助,但生产把关权依然被物理隔绝
开发者将工具视为补全辅助,但生产把关权依然被物理隔绝

Stack Overflow 2025 年开发者调研呈现了一组耐人寻味的割裂:

  • 84% 的受访者在实际工作中使用或计划使用 AI 工具
  • 只有 29% 的人信任 AI 输出的准确性,46% 明确表示不信任
  • 66% 的开发者认为 AI 最令人头疼的是看似正确但差点意思,45% 抱怨调试 AI 生成的代码极其耗时
  • 77% 的专业开发者明确表示,vibe coding 根本不是他们专业工作的一部分
Stack Overflow 2025:AI 工具的高采用率与信任崩塌 84% 使用或计划使用 生成式 AI 工具已普及 29% 信任其输出结果 46% 明确表示不信任 77% 排斥 vibe coding 绝不作为专业生产方式

大家把工具当成高阶自动补全来用,但绝不敢把系统的把关权交给概率模型。

工程师的本质:责任全周期,而非打字方式

到底什么样的人配被称为软件工程师?

真正的工程学以规范为准绳,核心是对失效模式承担终身兜底责任(示意图)
真正的工程学以规范为准绳,核心是对失效模式承担终身兜底责任(示意图)

软件大师 Martin Fowler 早就划清了界限:仅凭 prompt 随意生成、表面能跑就不看不审的行为是 vibe coding;而由人类牢牢掌控架构边界、辅以严格测试和重构的过程,叫 AI 辅助工程。两者有着本质区别。

独立研究者 Hillel Wayne 在 2019 到 2020 年间做过一项名为 The Crossover Project 的调查,访谈了 17 位从土木、机械、电气等传统工程行当转入软件领域的开发者。其中 15 人非常笃定地确认:软件工程就是真正的工程。

传统工程与软件工程一样,都要在不确定性与物理限制间权衡取舍。电工按规范接线,但电网由电气工程师签名负责。

工程学从来不因生产工具的自动化而褪色,它的核心是对失效模式承担兜底责任。

把不用大模型的手写者贬低为玩木雕的手艺人,是在用审美标签稀释工程责任;而把全凭感觉抽卡的代码搬运包装成现代工程,则是纯粹的修辞降维。

概念区隔:盲目生成 vs 严谨工程验证 Vibe Coding(盲目抽卡) • 交付驱动:表面能跑即万事大吉 • 放弃底层审查,跳过运行细节 • 诱发架构漂移与依赖恶性膨胀 代价:无止境的调试与理解债务 AI-assisted Engineering(严肃工程) • 人类主导系统边界与失效模式 • 依赖类型系统、单测与形式化验证 • 把 AI 当作草稿机而非决策中枢 收益:保持心智模型,持续可维护

免费午餐的代价:透支的心智模型

追求即时反馈是人的本能,AI 编程工具确实给开发者带来了前所未有的心流体验。然而,天下没有免费的午餐。

随意拼接的调试代码如同板上飞线,最终在维护期爆发架构失效
随意拼接的调试代码如同板上飞线,最终在维护期爆发架构失效

学术预印本研究指出,vibe coding 存在典型的心流-技术债权衡。通过多轮对话修补代码,极易诱发重复逻辑、架构漂移与依赖膨胀。更深远的隐患在于理解债务:当一段代码谁也没真正读懂就并入主干,团队就失去了对系统的心智模型。

IEEE 的相关对照研究也印证了这一点:AI 生成的代码在局部复杂度上看似更低,但往往夹杂未使用的构件与硬编码调试逻辑;一旦业务场景变化,碎片化追加 prompt 就会导致系统级的不一致。

Google 针对开发者生产力的研究早已证实,感知到的代码质量提升,必然先于生产力的实际提升。靠生成式工具堆砌出来的短期功能狂飙,最终都要在维护期连本带利地结算。

  • 风险.当团队将关键模块委托给黑盒生成且不加严苛验证时,架构失效与重大安全漏洞的暴露只是时间问题。

软件开发不必退回茹毛饮血的纯手工时代,但也没必要为了赶时髦交出定义权。工具怎么换都可以,只要工程学那套讲求边界、约束与可验证性的底色还在,工程师的名字就绝轮不到盲目生成的狂热者来认领。