中文EN

vibe coding 为什么让人上瘾:它把写代码变回了打游戏

经验如何沉淀 · 技术/产品 · 2026-05-30

有个现象,很多人有体感但说不清:用 AI 写代码,一上手就停不下来。本来想花 20 分钟改个 bug,抬头一看两个小时过去了,中间没喝水、没看手机、没觉得累。

这不是你意志力强,也不是 AI 多神。这是心流——而且是被刻意(虽然不是故意)设计出来的心流。

想明白这件事,得先把「心流」这个被讲烂的词拆开。

心流的本质:把正事当游戏玩

Csikszentmihalyi 把心流定义成「全神贯注到忘记时间」的状态,列了一堆条件:清晰的目标、即时的反馈、难度和能力匹配。学术,但不解渴。

换个更糙也更准的说法:心流就是你把手头这件事,当成游戏在玩。

你打游戏会进心流,写 Excel 不会,区别不在「写代码 vs 玩游戏」这两件事本身有多高尚,而在于游戏被设计成了一台心流制造机,而大部分正经工作没有。游戏靠三个东西把你按在椅子上:

  1. 探索——下一个房间有什么我不知道,但我想知道。
  2. 随机性——同样的操作,结果不完全一样,偶尔有惊喜。
  3. 成就感——每隔几分钟就有一个看得见的「我搞定了」。

传统写代码,这三样都很稀薄。需求是确定的(探索弱),编译器是确定的(随机性几乎为零),而一个像样的「搞定了」可能要憋两天(成就感延迟)。所以写代码可以很有成就感,但很难像游戏那样一直有。它的反馈循环太长了。

vibe coding 干的事,就是把这三样一次性塞了回来。

vibe coding 怎么一次集齐三件套

探索回来了。 你不再是「我知道要写什么,只是手速跟不上」,而是「我抛一个想法,看模型会给我什么」。每一次 prompt 都是推开一扇门——它可能给你一个你没想到的实现、一个你不知道的库、一种你没用过的写法。写代码第一次有了「下一个房间有什么」的悬念。

随机性回来了,而且是真随机。 同一个 prompt,跑两次给的代码不一样。模型有温度,有采样,本质上是个概率机器。这件事在工程上是缺点(不可复现),但在心流上是特性——它把编程从「确定的因果」变成了「带运气的下注」。你永远不完全知道这一把会抽到什么。这正是老虎机让人上头的同款机制:可变奖励(variable reward)。

成就感的循环被压短了。 以前两天一次的「搞定了」,现在变成几分钟一次:提一个需求,几十秒后一个能跑的东西出现在眼前,绿了,过了,下一个。反馈循环从「天」级别压到了「分钟」级别。心流最硬的前提——即时反馈——被生生造出来了。

三样集齐,结果就是:写代码第一次拥有了游戏的成瘾结构。你不是在「工作」,你是在「玩一个关于做软件的 roguelike」——每一局开局随机,每一步都有探索,每隔几分钟通一小关。

停不下来,太正常了。

同一套机制的另一面:你也可能在摇老虎机

但你得清醒:让你进心流的机制,和让你上瘾、空转的机制,是同一套。 这不是巧合,是同一枚硬币。

可变奖励能制造心流,也能制造赌徒。当代码不对时,那个「再抛一次 prompt 试试」的冲动,和赌徒「再摇一把就回本」是同一个神经回路。你能一晚上跟模型来回拉扯三十轮,体感很「忙」、很「沉浸」,但产出可能还不如你停下来自己想十分钟、手写二十行。

短反馈循环能制造成就感,也能制造虚假的进度感。每一个「绿了、过了」都给你发一颗多巴胺,但很多时候你绿的是一个你根本没在测的东西。成就感是真的,进度是假的。这就是为什么很多人 vibe 完一天,体感「高产」,回头看 PR 全是返工。

探索能制造好奇,也能制造没有终点的漂移。门一直在开,但你早就忘了自己最初要进哪个房间。两小时后你重构了一个本来没问题的模块,引了三个新依赖,原来那个 bug 还在。

心流的危险就在这里:它感觉和「高效」一模一样。你没法靠体感区分「我在心流里高产」和「我在心流里空转」——两者大脑里发生的事几乎一样。

老炮怎么用这套机制,而不是被它用

新人会被这套机制带着走,享受沉浸然后交一堆返工。老炮的区别,是知道这是一台心流机器,于是反过来给它装刹车。几条实操:

  • 先定终点,再开门。 进入 vibe 之前,用一句话写下「这一局的胜利条件」是什么(哪个 bug 修好、哪个测试变绿)。门可以随便推,但终点不能在过程里被偷偷换掉。这是把「漫无目的的探索」改成「带目标的探索」——后者才是心流,前者是漂移。

  • 把成就感锚在可验证的东西上。 别让「模型说改好了」给你发多巴胺,让你自己跑过的那条断言给你发。成就感的来源换成真实反馈,虚假进度感就没了立足点。这也是为什么 TDV(test-driven verification)在 AI 时代不是洁癖,是给老虎机断电。

  • 给「再抛一次」设次数上限。 同一个问题来回 prompt 超过三五轮还不收敛,那不是手气问题,是你该停下来自己想了。给赌徒冲动设一个硬性熔断。

  • 区分两种 session。 探索期(我不知道怎么做,让模型陪我试)允许放开玩,享受随机性;收敛期(我知道要什么了,只是要它落地)要把随机性当敌人,锁死、复现、收口。最大的浪费是用探索期的心态干收敛期的活——一直在抽卡,迟迟不结算。

一句话

vibe coding 让人沉迷,不是因为它高效,而是因为它把写代码偷偷改造成了一台心流机器:探索、随机性、即时成就感,游戏让人上头的三件套,它一样不少。

这是它最大的生产力红利,也是它最大的陷阱。心流和空转,在体感上是双胞胎。

老炮的本事,不是抵抗这台机器——抵抗等于放弃红利——而是知道它在怎么操纵你的多巴胺,然后亲手给它装上终点、验证和熔断。会玩的人享受心流,被玩的人摇老虎机。

赞赏

如果这篇对你有用,欢迎请我喝杯咖啡。仅支持支付宝,随意,不在乎金额。

AI Coding 研效诊断

想把 AI Coding 从个人提效推到团队级产能?文章是普适框架,你具体的团队阶段、老板目标、review 质量和工具链,才决定下一步该补什么。

← 工程方法 更多文章