二、自动驾驶最危险的时候,不是它完全不能开,而是它大部分时候都能开
如果一个自动驾驶系统完全不好用,用户反而不会依赖它。真正危险的是:它大部分时间都表现得很好。
它能跟车,能过弯,能识别车道线,能自动刹车。于是你开始信任它,甚至开始分心。但问题是,自动驾驶最难的不是 95% 的正常路况,而是剩下那 5% 的异常场景。比如施工路段、临时变道、鬼探头、车道线混乱、前车突然急刹、路边有人横穿。这些情况不一定天天出现,但一旦出现,就要求人必须马上接管。
Vibe Coding 也是这样,AI 写代码最可怕的地方,不是它完全不会写,恰恰相反,它大部分时候都写得“看起来挺对”。变量名合理,结构完整,注释也有,甚至还能跑起来,于是你很容易进入一种状态:
“差不多可以。”
“先这样。”
“反正能跑。”
“后面再看。”
但软件项目的问题,往往不在于代码第一眼能不能跑,而在于后面会不会炸。
权限有没有漏?
异常有没有处理?
数据边界有没有考虑?
并发会不会出问题?
状态会不会混乱?
以后别人能不能维护?
这些东西,AI 不一定不会处理,但它不会天然替你承担责任,它可以生成代码,但它不会真正拥有业务上下文。它可以修改文件,但它不会为系统长期可维护性负责,最终负责的人,还是你。
三、Vibe Coding 的失控感,往往不是突然发生的,而是慢慢累积的
很多人说 Vibe Coding 会失控,我觉得这个说法很准确,但这种失控通常不是某一刻突然发生的,它更像是这样一步步来的:
一开始,你让 AI 改一个小功能,它改得很好。然后你让它再改一个,也还不错。
再然后,它开始跨文件修改。
再然后,它重构了一些你没要求它重构的地方。
再然后,它为了修一个 bug,引入了另一个 bug。
再然后,你发现项目里有一堆你没仔细看过的代码。
最后,你打开 diff,发现已经很难 review 了。
这时候问题就出现了:
代码是 AI 写的,但锅是你的。
逻辑是 AI 改的,但上线是你负责。
文件是 AI 动的,但系统坏了还是你来修。
这就是 Vibe Coding 里很典型的“失控”,它不是工具突然变坏,而是你在连续放权的过程中,逐渐失去了对系统的细节感知。
四、无法 Review,是 Vibe Coding 最大的隐性成本
我觉得 Vibe Coding 最大的问题,不是 AI 写错代码,写错代码其实并不可怕。真正可怕的是:它写得太快,快到你来不及理解。
过去我们自己写代码,虽然慢,但写的过程本身就是理解的过程。
你写一个函数,就会思考它的输入输出;你改一个接口,就会知道它影响哪些地方;你处理一个异常,就会理解业务边界在哪里。但 AI 编程不一样,它可以一分钟改完你半小时要写的东西,表面上你省了时间,但如果你没有认真 review,这些省下来的时间其实不是真正消失了,而是变成了债务。我把它叫做:Review 负债。
今天你没有 review 的代码,明天可能会以 bug 的形式回来找你。
今天你没有理解的逻辑,后天可能会以维护成本的形式回来找你。
今天你没有确认的边界,未来可能会以线上事故的形式回来找你。
Vibe Coding 最大的诱惑在于,它让你感觉自己开发效率提升了 5 倍,但如果没有良好的控制方式,它也可能让你的技术负债积累速度提升 5 倍。
五、时间负债比技术负债更隐蔽
技术负债大家都知道,代码写乱了,架构不清晰,命名不统一,逻辑重复,这些都算技术负债。
但 Vibe Coding 还会带来另一种负债:时间负债。什么叫时间负债?
就是你现在看似节省了时间,但未来要花更多时间来还,比如:
你让 AI 快速写了一个功能,10 分钟搞定,但因为没有仔细看,后面调试花了 2 小时。你让 AI 重构了一段代码,看起来更优雅,但它改变了隐藏逻辑,后面排查问题花了半天。你让 AI 自动补了一堆测试,但测试用例没有真正覆盖关键场景,最后你还要重新梳理。
这就像自动驾驶开长途,你觉得自己轻松了,但如果你一直处在半接管状态,大脑其实并没有真正休息。甚至因为你要时刻判断系统是否可靠,精神负担可能更重,Vibe Coding 也是一样,它不是简单地把开发工作减少了,而是把一部分“写代码的工作”,转移成了“判断代码是否可信的工作”。这种判断能力,反而对开发者提出了更高要求。
六、好的 Vibe Coding,不是放手,而是分级接管
自动驾驶有不同等级,有的是辅助驾驶,有的是部分自动化,有的是高度自动化。
Vibe Coding 其实也应该有不同等级,比如:
低风险任务,可以让 AI 多做一点;中等风险任务,可以让 AI 先给方案,再小步修改;高风险任务,只让 AI 做分析、建议和局部代码,不允许它大范围自动改。这背后有一个核心原则:
不要让 AI 一次性修改超过你能 review 的范围。
这是我认为非常重要的一条。AI 生成代码的速度很快,但人的理解速度没有同步提升。所以真正成熟的 Vibe Coding,不应该是“让 AI 尽可能多写”,而是“让 AI 每次只写到我能掌控的程度”。
小步提交。
小步验证。
小步 review。
保留测试。
保留回滚。
明确边界。
这才是更健康的使用方式,一种快速小步迭代的工作流。
七、未来开发者的核心能力,不是写得比 AI 快,而是判断得比 AI 准
AI 出现之后,很多人会焦虑:以后是不是不需要程序员了?我倒觉得,程序员的价值不会消失,但会迁移。过去一个开发者的价值,很大一部分体现在“能不能写出来”。以后开发者的价值,会越来越体现在:
能不能定义清楚问题。
能不能拆出合理边界。
能不能判断方案好坏。
能不能识别隐性风险。
能不能控制系统复杂度。
能不能对结果负责。
AI 可以帮你踩油门,但不能替你判断路况。
AI 可以帮你生成代码,但不能替你理解业务。
AI 可以帮你提高速度,但不能替你承担后果。
所以,Vibe Coding 不是让开发者变得不重要,而是让“有判断力的开发者”变得更重要。
八、把方向盘交出去之前,先问自己三个问题
如果把 Vibe Coding 看成一种“代码自动驾驶”,那每次使用前,我觉得可以问自己三个问题:
第一,这个任务的边界是否足够清楚?
如果需求本身都很模糊,AI 很可能会按照自己的理解补全,而这个补全不一定符合真实业务。
第二,这次修改是否在我可 review 的范围内?
如果 AI 一次改了几十个文件,而你根本看不过来,那就已经进入危险区。
第三,如果它写错了,我能不能快速发现并回滚?
如果不能,那就不要让它在关键路径上自动狂奔。
这三个问题,本质上都是在确认一件事:你是否还掌握控制权。
九、结语:工具越强,人越不能放弃判断
自动驾驶的终点,不是让人永远不看路,至少在现阶段,它更像是一个很强的辅助系统,它能减少疲劳,提高效率,但人仍然需要理解系统边界,并且在关键时刻接管。
Vibe Coding 也是如此,它确实能大幅提高开发速度,尤其对独立开发者、小团队、外包交付、MVP 验证来说,非常有价值,但它也会带来新的问题:失控感、Review 负债、时间负债、上下文错位、代码可信度下降、系统复杂度失控。所以,我越来越觉得,Vibe Coding 的关键不是“敢不敢用 AI 写代码”,而是“你有没有能力管理 AI 写出来的代码”。真正好的状态,不是完全手写,也不是完全放飞。而是你知道什么时候让它开,什么时候自己开,什么时候必须踩刹车。因为不管是自动驾驶,还是 Vibe Coding,最危险的状态都不是系统不够强。而是系统看起来很强,强到你开始忘记:你才是那个最终负责的人。