Vibe Coding 离生产级应用有多远?中间隔着一场主动制造的灾难

0 阅读6分钟

封面.jpg 最近 Vibe coding 成了技术圈的一种新狂欢。只要敲几行自然语言,跟着直觉走,AI 就能替你把应用写出来。这种体验确实让人上头,它制造了一种极其逼真的幻觉:似乎只要有想法,任何人都能立刻成为全栈开发者。

但如果你真的试图把这些靠“感觉”写出来的代码推向真实世界的用户,残酷的工程现实会立刻给你一记重锤。

这里有一个必须先说透的核心判断:Vibe coding 让人获得了写代码的能力,但绝对没有让人获得交付软件的能力。

Vibe coding 确实极大降低了原型的构建门槛,让每个人都能在几小时内搭出一个看起来能跑的 Demo。但从一个能在本地跑通的玩具,到一个能扛住真实流量、能长期迭代的生产级应用,中间隔着的从来不是代码量。

生产级应用意味着什么?意味着你需要考虑状态管理的单向数据流,意味着组件之间的解耦,意味着数据库的索引优化,意味着 CI/CD 流水线、灰度发布、监控报警和容灾降级。当一个没有工程思维的人,试图用 Vibe coding 去跨越这道鸿沟时,他其实不是在做产品,而是在主动制造一场技术债务的灾难。

这场灾难的第一步,通常是从“上下文丢失”开始的。

配图-01.png

这也是 Vibe coding 最容易陷入的死亡螺旋。现在的 AI 工具(比如 Cursor 或 Cline)看似强大,但依然受限于大模型上下文窗口的物理限制。主流模型的 Token 上限通常在 128K 到 200K 之间,应对一个几千行的单体项目绰绰有余。但真实的生产级项目,代码量、依赖关系和业务逻辑会随着功能增加迅速膨胀。

一旦项目膨胀超出了 AI 的有效上下文窗口(注意,是有效召回率,而不是理论上限),灾难就降临了。AI 开始丢失全局的架构视野,它只能看到你喂给它的局部切片。这时候你让它去修改订单模块的一个 Bug,它会为了修复这个局部问题,在暗处悄悄把用户鉴权模块的逻辑改坏。当你发现鉴权坏了,让它去修,它又会打上一个极其丑陋的补丁,顺手搞崩了支付回调。

为了修复这些连环 Bug,AI 会生成越来越多的冗余代码和防御性逻辑,导致项目进一步膨胀,上下文丢失得更严重。这个死亡螺旋一旦启动,基本不可逆,连 AI 自己都救不回来。最近在开发者社区里,这类翻车案例比比皆是:“用 Cursor 花了一个周末做出了 MVP,但为了加一个新功能,我花了两周时间修 Bug,最后整个代码库彻底报废,只能删了重写。”

为什么会陷入这种螺旋?因为 AI 是一个绝对服从但缺乏主见的执行者,它没有自我边界意识。你不设边界,它就会无限堆砌。

在真实的研发协作中,当你提出一个不合理的业务需求时,一个有经验的资深工程师会拦住你:“这个架构不对,如果硬加这个功能以后会很难维护,我们应该先重构底层的数据结构。”但 AI 不会。你让它加功能,它就硬加;你让它快点跑通,它就用最脏的胶水代码帮你粘起来。

配图-02.jpg

它不懂得什么是“高内聚低耦合”,不懂得什么时候该抽象公共逻辑,什么时候该拆分服务。它只会顺着你那句模糊的 Prompt,把所有的逻辑揉捏在一个几千行的巨型文件里。直到整个项目变成一坨没有任何人能看懂、更没人能维护的屎山。

看不见的工程陷阱与防御性编程的缺失****

更致命的是那些看不见的工程陷阱。

在 Vibe coding 的狂欢里,人们的注意力往往被视觉反馈占据,只关注“页面有没有渲染出来”、“按钮点下去有没有反应”。这是一种典型的“Happy Path(理想路径)”思维。但生产级应用要在充满恶意、网络抖动和并发冲突的真实世界中生存。

AI 为了最快达成“让程序跑起来”的目标,会毫不犹豫地选择最不安全的捷径。如果你不主动审查,AI 会非常自然地把数据库密码和 API Key 直接硬编码在前端代码里;它会写出毫无防备的 SQL 查询语句,把注入后门敞开;它在处理异步请求时,经常会忘记写异常捕获;它不会考虑高并发下的分布式锁,不会处理内存泄漏,更不会管接口超时的重试机制。

在 Demo 阶段,这些问题都被掩盖在流畅的演示视频里;但只要一上线,面对真实的复杂环境,这就是被黑客秒杀、被流量冲垮的活靶子。

指出这些,并不是在唱衰 AI 编程,更不是说 Vibe coding 毫无价值。

Vibe coding 是极具破坏力的生产力杠杆,但杠杆本身是不带方向的。它能成百倍地放大你的创造力,也同样能成百倍地放大你的工程盲区。

配图-03.jpg

真正的影响在于,软件开发的“入场门槛”确实被彻底踩碎了,但“交付可用软件”的门槛反而变高了。过去,语法和 API 的记忆门槛挡住了一大批人;现在,所有人都能写出能跑的代码了,但最终能把产品留在牌桌上的,依然是那些懂得如何控制系统复杂度的人。

对于想要在 AI 时代入局的开发者或创业者来说,理解了这一点,行动路径就会非常清晰。

不要再把自己当成一个“打字员”或者“代码生成器”,你需要立刻把自己的角色切换成“系统架构师”和“代码审查员”。在实际操作中,这意味着你需要把大项目拆解成 AI 能理解的独立小模块;意味着你需要先定义好接口契约再让 AI 去填补实现;意味着你需要强制 AI 先写单元测试,用测试用例来锚定它的行为边界。

你可以一行具体的业务代码都不写,但你必须知道一个系统应该怎么分层,数据流应该怎么运转,哪里是安全红线,什么时候必须停下来让 AI 进行重构。

如果你不懂这些,只是一味地跟着感觉给 AI 下指令,那你就像是坐在一辆没有方向盘的自动驾驶汽车里,踩死了油门,闭着眼睛,感受着风驰电掣的 Vibe,然后全速撞向悬崖。