loading image

Vibe Coding最后的心法:火、协作、耐心与不确定性

Posted by Enovace on April 20, 2026

Vibe Coding最后的心法:火、协作、耐心与不确定性

Banner

人类第一次围住火堆的时候,大概不会知道自己后来会造出什么。

那一点火光最先改变的,也不是后来历史书会写下的那些宏大名词。

它先改变的是人的手感,人的节律,人的夜晚,人的胆量。

黑暗被推后了一点,寒冷被逼退了一点,野兽开始停在光圈之外。

人的身体旁边,第一次长期站着一个比身体更强的东西。

图像

你可以使用它,却不能完全控制它;你会依赖它,也会被它灼伤。理解常常落在后面,使用却来得很早。人不是先掌握了燃烧的原理,才学会围火而坐,人是先在火边活下去,后来才慢慢理解,自己到底把什么东西带进了生活。

后来是工具。

石片被打磨,木头被削尖,轮子开始滚动,杠杆开始撬动重量。人每得到一种新工具,变化都不只是“效率更高”这么简单。变化更深一层:人的意图第一次被外物大幅放大,想法和结果之间的距离被缩短了,很多过去只能想一想的事,开始有了直接伸手去试的可能。

麦克卢汉说媒介是人的延伸,这句话放在工具史里也一样成立。每一种强工具,都会替人重写一遍“我能做到什么”。

海德格尔还有另一个更微妙的观察:真正顺手的工具,往往会在使用中隐身。

木匠不会把注意力停在锤子上,他的注意力会穿过锤子,落到木头和钉子上。工具一旦成熟,就会退到背景里,让人的意图站到前台。

vibe-coding 这个词之所以迷人,就因为它命中的正是这种感觉。

2025 年 2 月,Andrej Karpathy 在 X 上把这个词扔了出来。他那条原始表述后来被转引了无数次,真正留下来的不是“定义”,而是语感本身:"fully give in to the vibes","forget that the code even exists"。这不是一份方法论文档,也不是一套流程说明,它更像一次命名事件。

一个工程师先于共识,把一种刚刚成形的工作感觉抢先钉住了。硅谷经常这样运作,它不会等学院和行业把边界谈清楚,再给变化命名。它通常是反过来:先把词抛出来,再让市场、开发者和媒体围着这个词慢慢分配解释权。

所以 vibe-coding 一出来,争论的焦点就不在“这个词准不准确”,而在“这个词到底该覆盖到哪里”。

Karpathy 给出的,是一种极端接口变化的体感:代码往后退,语言往前走,人的意图第一次可以如此直接地推动产物。

图像

到了 Simon Willison 这里,边界被迅速收紧了。他直接写:"Vibe coding your way to a production codebase is clearly a terrible idea." 这句话重要,不只是因为它保守,而是因为它给这个词补上了第一条真正像样的边界线。它提醒大家,vibe-coding 可以是原型方法,可以是探索方法,可以是周末项目的方法,但它不是责任自动消失的方法。代码一旦进入生产,理解、审查、可维护性、可解释性,这些旧世界的重量还是会重新压回来。

再往后,Max Levchin 把讨论推到了另一层。他的原话很短,也很硬:"The bar for quality of software is going up rapidly." 这不是工程师社区里的术语分歧了,而是市场开始重新定价软件质量。过去那种靠“凑合能用”活下去的软件、靠低标准界面和低密度工程维护成本维持的产品,会越来越难继续待在旧秩序里。

所以这个词真正有意思的地方,不在于它热闹。

它同时包住了三件事:接口在变,责任没有消失,质量底线却在上移。

所以这个词真正有趣的地方,从来不只是它轻盈。

它轻盈地命名了一件一点都不轻盈的事。

大家都在谈它多自由、多快、多像魔法。可很少有人认真谈:这种工作方式到底要求人承受什么。


不确定性的工作模式

图像

vibe-coding 让人感到异样的地方,并不只在于模型会写代码。

自动生成、自动补全、脚手架、低代码、抽象层,这些东西过去一直都在做同一件事:缩短意图与实现之间的距离。

vibe-coding 真正改写的,是知识工作默认的顺序。

旧顺序大家都很熟:先理解,再行动。你先学概念,先读文档,先把结构想清楚,先拿到一张相对完整的地图,再允许自己迈第一步。学校用这套顺序训练人,公司流程也大多用这套顺序安顿人。先定义需求,先拆步骤,先写规格,先划边界,先做风险控制。确定性越高,人越安心;逻辑越完整,组织越觉得自己专业。

这套顺序能维持这么久,不只是因为它有效,也因为它照顾了人类神经系统最深的一层偏好。

人并不天然害怕复杂。

人害怕的是失控。

从进化的角度看,大脑更像一台预测机器。它总想尽可能早地知道接下来会发生什么,好提前准备,好减少惊吓,好降低能量消耗。可预测意味着边界,意味着自己还掌握着局面。不确定性则会调动另一套东西:犹豫、焦虑、自我怀疑、羞耻感,甚至一种很原始的内部失序。你不知道自己是不是在浪费时间,不知道眼前这条路会不会走偏,不知道这一版粗糙的产物到底是在逼近答案,还是只是在制造噪音。

vibe-coding 反直觉,就反在这里。

它把很多人重新送回了这种神经状态里。

你不再总能先想明白,再去做。很多时候,是你先开始生成,才逐渐知道自己真正想做的到底是什么。页面先长出来,交互先跑起来,bug 先冒出来,需求先变形,原本模糊的判断才开始在摩擦里慢慢成形。

这里面有创造的快感,也有强烈的心理负担。

你得承受“我现在也不知道对不对,但还得继续做”的焦虑。

你得承受反复推翻自己的羞耻感。

你得承受失控感。

它没有发明不确定性。研究、创业、设计、写作、实验室工作,原本就都长在不确定性里。它做的是另一件事:把原来只在少数创造性工作中最显眼的那层结构,突然扩散到了更广泛的知识劳动里。越来越多人开始直面同一个事实:理解很多时候并不是行动之前的许可证,理解常常是在行动过程里才慢慢长出来的。

如果借一个更老的词来理解它,我会想到 Keats 的 Negative Capability。那不是什么励志品质,也不是什么天才光环。它更像一种认知耐力:人在不确定、怀疑、未知里待得住,不急着扑向一个过早的解释。很多人做不来 vibe-coding,不是因为不会写代码,也因为待不住这种状态。工具越强,产物长得越快,这种不适感往往越大。

东西一旦迅速长出来,人就更容易误以为自己应该已经完全理解它;一旦理解没有跟上,羞耻感也会来得更快。

理解很多时候不是行动之前的前提,而是行动过程里的副产品。你做,世界给你反馈;你改,新的理解才长出来。学校更擅长处理已经稳定下来的知识。创造处理的却是另一类东西:它先给你摩擦,再允许你在摩擦里得到认识

vibe-coding 之所以像一个时代词,就是因为它把这条原本藏在工坊、实验室、创业公司和设计工作室里的规律,直接拖到了普通工作者面前。


耐心与预期管理

图像

这也是为什么我越来越觉得,面对 vibe-coding 带来的不确定性,最稀缺的品质未必是技术力,反而是一种新的耐心。

这里说的耐心,和“慢慢来”关系不大。它更像一种允许校准发生的能力。你接受自己没法一次说清,也接受对方不可能一次理解。你知道第一版通常会糙,知道误解会发生,知道有时它聪明得惊人,有时又会突然犯蠢。你不把这些全都解释成失败。你知道这类协作本来就会不断偏、不断修、不断重新对齐。

人与 AI 协作,很多时候比人们嘴上承认的,更像人与人协作。

人和人一起做事,也会说不清,也会误解,也会返工,也会先给出一个很糙的版本让对方继续改。成熟的合作关系靠的根本不是一步到位,而是高频校准。你知道对方会偏,所以多给一点上下文;你知道第一版不会准,所以把注意力放在怎么更快逼近,而不是为什么它没一把到位。放到 vibe-coding 里,这种耐心反而更重要。因为很多人第一次觉得自己“不会 vibe-code”,并不是因为缺少才能,而是第一次正面撞上了生成式工作的真实节奏。

以前你在学校做题,在公司接需求,很多理解是被提前提供的。现在,理解不再总站在起点等你,它需要你在行动里一层层把它逼出来。这里最容易坏掉的,是一种旧预期。那种预期会觉得:工具更强,过程就该更顺;模型更聪明,工作就该更干净;提示词更对,产物就该更像脑子里的样子。

现实完全没有这么整齐。

工具变强以后,很多低级动作确实被压缩了,很多原本昂贵的试错确实变便宜了。可真正被抬到台前的,是另一种劳动:删东西,改方向,做判断,忍受粗糙版本,修复误解,重新描述问题,承认自己前面说得不够准。vibe-coding 最费人的地方,不在打字,也不在 prompt,而在不断校准。你越往深处用,越不会把 AI 当自动贩卖机。它更像一个高带宽、低一致性的协作系统。你给它材料,它给你生成物;你再给它新的边界,它再给你新的偏差。你们之间不是“需求下达然后交付完成”的关系,更像一种持续协商。

所以预期管理说到底,也是一种认知能力。

你怎么理解第一版的粗糙,决定了你后面能不能继续做下去。你把它理解成“怎么还不对”,羞耻感就会立刻接管。你把它理解成“原来问题在这里”,事情才真正开始往前走。一边是控制幻觉,一边是校准能力。很多人表面上是在学新工具,深一点看,其实是在学习另一种和未完成共处的方式。


为什么别人能做出那种东西,而我不行

这个问题几乎每个认真碰过 vibe-coding 的人都会问。

为什么同样的工具,别人做出来像产品,我做出来像半成品;为什么别人几轮对话就能把东西推到很远,我这里一接数据库就乱,一部署就炸,一细看就发现结构开始发虚;为什么别人像在飞,我这边总在返工。

只给安慰,这个问题会变空。

只给残酷,它又会变浅。

更接近事实的说法是:人与人的差异,并不会在 vibe-coding 里被抹平。工具普及以后,这种差异反而更早、更直接地显形了。

你做出来的东西,就是对你本人的一种侧写。

这里的“本人”不是一句抽象话。它真的包括很多东西:你的审美,你的判断,你对问题的命名能力,你的技术底子,你的 debug 经验,你怎么理解用户,你对混乱的耐受,你舍不舍得删,你愿不愿意在一团糟里继续往下摸。Polanyi 说过,人知道的,往往比人能清楚说出来的更多。很多能力从来就不完全待在显性的说明里,它们藏在手感、节奏、判断、品味和经验里。过去这些差异更多体现在写代码速度、系统设计的稳定性、排障时的路径感上。到了 vibe-coding 时代,它们并没有消失,只是换了新的出口。

同样一个模型,到不同人手里,做出来的东西会完全不一样。

有人在生成,有人在堆砌。

有人借 AI 把脑子里的库存翻出来,有人只是把想象力的贫瘠放大得更快。

有人知道第一版只是草图,后面要靠判断去雕;有人会被第一版唬住,以为粗糙就等于接近。

所以 vibe-coding 很吊诡的一点在于,它看上去降低了门槛,也同时提高了暴露度。你过去还能把不少短板藏在分工里,藏在长周期里,藏在组织给你的结构里。

现在,生成速度被拉高以后,你这个人的很多东西会更快、更直接地浮出水面。模型会扩展你的意图,判断还是你的;它会放大你的想象力,也会放大你的浅薄;它会给你速度,也会更早暴露你究竟认不认识好坏。

这也是为什么我会觉得,vibe-coding 拼到后面,拼的已经不是 prompt 了。

拼的是你脑子里有没有东西。

拼的是你认不认识什么叫好。

拼的是你会不会在一堆生成物里,抓住真正值得保留的那一点。

Simon Willison 的提醒之所以重要,也就在这里。原型阶段可以放飞,扔进生产以后,人迟早还是要为理解负责。Levchin 的商业视角之所以值得看,也在这里。软件的质量底线在被抬高,平庸的东西会更快暴露,低质量软件靠“反正能用”活下去的空间正在缩小。工具越便宜,人的差异越贵。

这并不意味着普通人没有机会。

恰恰相反,机会可能比过去更多。只是机会不再自动等于结果。门口确实更近了,真正的差距开始往更深处移动。它从“你会不会写”慢慢移到了“你会不会看,会不会改,会不会判断,会不会持续把一个模糊的东西往更清楚的方向推进”。


小结:一个开始在不确定中工作的时代

回过头看,vibe-coding 留下来的,很可能不只是一个流行词。

它像一个很早的信号。

一个硅谷式玩笑,把一种更大的工作变化先命名出来了。

我们过去太习惯把工作想成另一种东西:先理解,再行动;先定义,再执行;先稳定,再扩展。那是一个确定性占比较高的工作世界。现实当然从来没有那么整齐,但教育、流程、组织和专业主义一直都在把人往那个方向训练。

现在,另一种气候正在变得越来越普遍。

更多创造,更多知识工作,会从模糊开始,从粗坯开始,从试错开始,从生成开始。很多理解不会在起点等你。它们会在行动里,在返工里,在误解里,在多轮校准里,一点点长出来。你无法彻底消灭不确定性,你只能学会和它一起工作。

如果说这个时代有一种新的工作气质,我会把它叫作:

在不确定中工作。

vibe-coding 所以迷人,也所以让人不安。它把自由给得很早,也把暴露给得很早。它让更多人第一次真切感到,意图可以如此直接地推动产物;也让更多人第一次意识到,真正决定产物上限的,始终还是那个人自己。

我们并没有进入一个人人都会自动变成创造者的时代。

我们只是比过去更早地被送进了创造真正发生的地方。

那地方没有完整地图。

理解常常来得比行动晚。

而工作,正在越来越多地发生在那里。