返回内容
2026年6月15日8 分钟阅读

vibe coding,你可能一直用错了

2025 柯林斯年度词,但 90% 的人都用错了。从发明人 Karpathy 的原始定义,到一个真实的「充 100、到账 200」钱坑,讲清 vibe coding 和「敢上线收钱」之间,差的到底是哪一层。

vibe coding,你可能一直用错了

2025 柯林斯年度词 · 90% 的人都用错了 · 一个真实的「充 100、到账 200」钱坑

如果你最近也在用 AI 写代码、做小程序,这篇可能会让你有点不舒服。

但我还是建议你读到底。

因为这个「用错」,很可能正躺在你的项目里,埋着一个你看不见的雷。

「vibe coding」是这两年最火的编程词,没有之一,前阵子还被柯林斯词典选成了 2025 年度词

可今天我得泼盆冷水:你,大概率一直用错了它。


先把话挑明:你说的 vibe coding,可能根本不是 vibe coding

现在这词被用得太乱了。

只要沾上「用 AI 写代码」,所有人张口就叫 vibe coding。

但更要命的是——它正在让一堆人踩坑,甚至真金白银地亏钱。

为啥要较这个真?因为这事从源头上,就被理解反了。

咱一个一个说。


它到底是谁定义的,原话是什么

提出这个词的,是 AI 圈的大神 Andrej Karpathy

2025 年 2 月 2 日,他发了条推,原始定义的核心就一句:

「忘掉代码本身的存在。」

(forget that the code even exists)

说人话就是:你压根不看 AI 写了啥。

他自己是怎么干的?

报错了,看都不看,直接把错误信息粘回去;AI 给的改动,永远点**「全部接受」(Accept All)**,从不去读。

而且 Karpathy 把适用范围也说得很清楚——这玩法,是给**「随手做做的周末玩具项目」**用的。

Karpathy 给 vibe coding 下的原始定义:「忘掉代码本身的存在」——报错不看、改动全部接受、只配做周末玩具项目(2025-02-02)

所以你看,vibe coding 的精髓,从来不是「用了 AI」,而是这两条叠在一起:

把写代码这件事,完全甩给 AI;而且根本不检查它的输出。

有意思的是,Karpathy 现在自己都很少用这个词了,改提 agentic engineering。

提出词的人都往前走了,用错词的人还在原地。


那「我审过、也测过」,算 vibe coding 吗?

不算。

这不是我说的。

AI 编程圈最有名的专家之一 Simon Willison,2025 年 3 月 19 日专门写了篇文章纠偏,原话特别狠:

如果每一行都是 AI 写的,但你审过、测过、也看懂了——那就不是 vibe coding,那是把 AI 当成了一个打字员

一句话,判断标准就一个:

你到底有没有去评审 AI 写出来的东西。

看了、管了,那是你在用 AI 干活; 没看、不管,那才叫 vibe coding。

Willison 还顺手给「认真用 AI 写生产代码」这件事,起了个对应的词:vibe engineering

记住这个词,后面全靠它。

Simon Willison 纠偏:每行都 AI 写、但你审过测过看懂了,那不是 vibe coding,是把 AI 当打字员(2025-03-19)


这跟「能不能上线收钱」有啥关系

关系大了。

你想啊,vibe coding 的定义里,白纸黑字就写着:你没检查过它的安全性。

一个你自己都没看过的东西,敢拿去上线、敢拿去收钱吗?

说实话,不敢。

这不是我吓唬你。有人扒了 1400 多个用 AI 随手做、还真上了线的应用,结果——

65% 都查出了安全问题。

(数据来源:Escape.tech)

这恰恰说明:vibe coding 这个玩法,从第一天起,就不是冲着「能上线」去的。

它是用来玩的。玩,没问题。

但你拿玩具的标准,去做一个要收钱的商城,从定义上就拧了。

玩 vs 上线收钱:有人扒了 1400+ 个上线的 vibe-coded 应用,65% 查出安全问题(来源 Escape.tech)


一个我真抓出来的坑:用户充 100,系统给他到账 200

光说「65% 不安全」,你可能没感觉。

我讲一个我自己接单时,真遇到过的场景。

有个用户,在系统里充值 100 块。

现在主流的支付,有个很多人不知道的特点:那条「到账成功」的通知,会因为网络抖动,可能发好几遍。

这里有个关键,我必须讲准——

用户就付了这一次 100,平台真正收到的,也就是这 100。钱这边,一分没多。

问题出在系统这一侧:同一条到账通知来了两遍,代码要是没拦住,就把它当成两笔来处理——给这个用户的账户,充了 200

可他明明只付了 100。

这凭空多出来的 100,是平台白白送出去的钱。

而且这个坑,远不止「充值」一个地方。

下单、发券、返现……只要是「一笔操作被系统重复算了两遍」的场景,都会出现:

库存,多扣一份; 佣金,多返一笔; 月底对账,怎么也对不平。

漏的,全是平台自己的钱。

那如果你是真在 vibe coding——「忘掉代码、看都不看」——你根本不会知道有这么个东西。

它就那么静静躺在你的程序里。

等哪天用户一多、网络一抖,账就开始对不上了。

这,就是 vibe coding 现在最容易出的那一类问题。

一笔充值怎么变两笔:到账通知网络一抖发好几遍,系统没拦住就当两笔、给账户充了 200;但用户只付了 1 次 100、平台也只收到 100,多出的 100 是平台白送的钱


别急着骂 AI——它没那么不行,差的是一层东西

但我最想跟你说的,不是「AI 编程不行、别用 AI」。

恰恰相反。

现在的 AI,尤其在写代码这件事上,已经强得有点吓人了。

那为什么还会有上面那些坑?

说句实在的——很多根本不是 AI 埋的,是我们没把话给它讲清楚。

那个重复入账的坑,我要是没提前告诉它「这里要防重复」,它自然就漏了。

这不全怪 AI。是我们,少做了一层东西。

这层「提前把规矩、把『什么才叫做对了』给 AI 立清楚」的东西,有个名字,叫 Harness。

你就把它理解成:给 AI 上的护栏、立的规矩。

把 Harness 补上,再配上大量的自动化测试和端到端测试兜底——

那个重复入账的坑,我做了三道防线,通知来一百遍,也只入账一次。

我自己那个能上线、能收钱的分销小程序,光自动化测试就写了大几百条,还在编译期就把架构规矩焊死了(结构不对,直接编译不过)。

就是这么一层一层焊上去的。

AI 写出来的东西,是真能做到敢上线、敢收钱的。

Harness = 给 AI 上的护栏和规矩:立规矩 → 大量自动化/端到端测试兜底 → 生产级(敢上线、敢收钱)。那个重复入账的坑我做了三道防线,通知来一百遍也只入账一次


所以,vibe coding 到底还能不能用

能。但你得先分清楚自己在干嘛。

图个爽、做个周末玩具 → 那就是 vibe coding,尽管玩。

要上线、要收钱、要交付 → 你需要的是 vibe engineering:AI + 规矩 + 测试 + 审查。

vibe coding 用来「玩」,vibe engineering 用来「交付」;AI 已经够强,缺的只是中间这层约束

别怕 AI,也别迷信 vibe coding。

真正值钱的,从来不是「让 AI 写代码」这个动作本身——

而是中间那套,你给 AI 立下的约束。

AI 已经够强了。缺的,只是这层 Harness,和那一堆把它兜住的测试。



想让 AI 写出敢上线的代码?

怎么给 AI 立 Harness、怎么做自动化测试、怎么让 AI 写出来的项目真达到生产级——这套东西,我会一篇篇掰开讲。

真正值钱的,从来不是"让 AI 写代码"这个动作本身,而是你给 AI 立下的那套约束。AI 已经够强了,缺的只是这层护栏,和那一堆把它兜住的测试。

如果你已经用 AI 做了个小程序、又不确定它是"玩出来的"还是"真能上线的"——欢迎来聊,我帮你看看哪几处是雷、该先补哪一层。

我是林克,做工具的人,也是把过程讲明白的人。