【木子狸的Vibe Coding随笔】04 始于乐趣,成于责任

前面讲了“主权”“拒绝”和“约束”,这一篇想讲更接近 Vibe Coding 起点的东西:我们很多项目都不是从商业计划书开始的,而是从“这个东西好像很好玩,我想试试”开始的。但如果它最后真的被别人用上了、被团队依赖了、甚至成为了某个流程里不可替代的一环,那么我们就必须承认它已经不再是你一个人的小玩具,它已经进入了公共世界,而进入公共世界的东西就必须承担起责任。

好玩

“为了好玩写代码”是不需要辩护的,它是很多真正创造的起点。我们只是真的想知道“这东西到底能不能这样做”,这种动机带来的专注和耐心往往远高于任务式开发,这也是为什么《只是为了好玩》里 Linus 一开始并没有背负“重塑世界”的想法,他只是想要一个能折腾 386 的系统,于是 Linux 在“娱乐”中奠定了 Linux 的基石。

如果没有这种玩心,Vibe Coding 根本就不成立,因为 Vibe 的核心并非“偷懒”,其实它是“好奇心驱动下的快速探索”。我们不断提问、不断试错、不断推翻刚刚写好的版本。这个过程并不规整,甚至有点混乱,但它让我们在短时间里摸到问题的边界、看到方案的轮廓、感受到系统的脆弱点,所以我不想假装成熟地说“工程只需要规范不需要热情”。没有热情的人可以维护系统,但很难打开新局面。

爽感

问题出在另一面:写代码时,爽感是即时反馈,责任是延期结算。前者几秒钟就能兑现,后者往往几周几个月后才来找你。而人天然会偏向前者,尤其在 AI 时代,这种偏向被放大了,因为你输入一句话就能得到十个文件、三十个函数、看起来“像那么回事”的目录结构,你会误以为自己已经完成了开发,实际上你只是完成了生成。

《黑客与画家》里有个我很认同的点:创造者最终得学会换位思考,画家面对的是观众,程序员面对的是用户和维护者,而在今天还要再加一个对象叫“未来的你自己”。你今天为了快而接受的含混命名、重复逻辑、隐式依赖、无测试分支,都会在未来某个凌晨以“为什么这里一改全炸”的形式回到你面前。所以只追求“我现在写得爽”,本质上就是把痛苦转移支付给后来者,哪怕那个后来者就是你自己,这种行为在个人项目里也许只是低效,在开源或协作场景里就是不负责任。

转折

Linus 在 1.0 之后强调“不能随便破坏接口”,这句话我认为是整个“始于乐趣,成于责任”的转折点。因为它告诉我们:当别人开始依赖你的软件,你就失去了任性重写一切的权利,你可以继续创新,但你必须对兼容性、迁移成本、行为稳定性负责,你可以说“这个实现不优雅我要重构”,但你不能说“我想怎么玩就怎么玩,用户自己看着办”。

这就是工程和玩票的边界,不是看你有没有写测试,不是看你有没有 CI ,而是看你是否愿意为后果买单,是否愿意在每次改动前问一句“这个变更会不会伤到已存在的使用者”,是否愿意在功能之外投入时间去写文档、做回归、留迁移说明。这些事情确实不刺激,甚至很无聊,但它们决定项目长期存在的根本。

审阅

今天程序员越来越像结构师和审阅者,AI 负责大规模生成,你负责定义标准、发现偏差、拒绝垃圾。这和《人月神话》里讲的“概念完整性”其实是一脉相承的,只是过去你要亲手敲每一行来保证一致性,现在你要用约束、评审和重写来保证一致性。

所以我现在越来越强调两个字:审阅。因为 AI 的生成速度已经不是瓶颈,真正的瓶颈是你能不能在代码看似正确时识别风险,能不能在能跑的代码中保证未来的维护,能不能拒绝 AI 的一次输出,要求第二版、第三版,直到结构清晰、边界明确、依赖可解释为止。

如果我们把“稍后再修”当成默认策略,那基本等于决定永远不修,因为 AI 会持续给你新的即时快感。我们永远有下一段更想生成的代码,但我们却没有任何机制强迫我们进行审阅。技术债不随 Vibe Coding 时的情绪改变,它只会在系统复杂度上升后一次性复利(或者说累积)。这也是为什么《代码整洁之道》的“规范”在今天反而更重要了:每次离开之前,至少把一处脏东西擦干净,不求一次性完美,但必须持续变好。

负责任的 Vibe

我现在对“负责任的 Vibe”的理解很简单:探索阶段可以天马行空,但交付阶段必须有限制;实验分支可以快速迭代,但主干分支必须缓慢更新;允许自己写出草稿,但不允许把草稿伪装成成品交给别人去兜底;我们可以借 AI 的力把门槛压低,但不能把判断力一并外包出去。

具体来说:关键路径必须有最小可读测试,接口变更必须写明影响范围,命名必须让三个月后的自己看得懂,能拆分的逻辑尽量拆成小而明确的单元,任何“我也说不清为什么这样写但先过了再说”的代码都默认要重审一次。

结语

“只是为了好玩”没有错,它给我们的想法各种火花。是我们愿意反复折腾一个想法的根本原因;“对结果负责”也不是束缚,它是确保了最终的安全,是追求速度但不至于车毁人亡的保障。

在 AI 把生成成本近乎为零的今天,我们更需要平衡两点,既保留好奇与创造,也建立工程性的克制与承诺,这样 Vibe Coding 才不会沦为情绪消费,而是产出经得起时间检验的作品。

10 个赞

始于乐趣、成于偶然

6 个赞

也没错 :face_savoring_food:

1 个赞

感谢佬的分享, 写的挺好的

6 个赞

在时间允许的情况下,我是很乐意去重审让它继续迭代的