先动起来,状态才追上来 书架

第 07 章 / 共 12 章

第七章 · “等条件齐了”是个陷阱

上一章说:一段又烂又小的启动件,就够给环点火,你不必等状态好。有人认了这个,却还是没动。他不是不信"烂草稿能点火",他信;他卡在另一句念头上:"等我准备好了再开始。"等钱再宽裕点、等这阵忙完、等我把这门技术再学扎实点、等孩子再大点、等状态再好点——总之,等条件齐了。

这一章要干的事很单一:证明"等条件齐了再开始"不是一个需要更多毅力才能翻越的门槛,而是一条结构上就通不到终点的路。你推不动它,不是你弱,是这条路本身没有出口。下面拆四个精确的失效模式,每一个都对应你熟悉的一种系统故障。

失效一:无限递归——这个条件清单没有底

无限递归 infinite recursion——写过代码的都踩过。一个函数为了算出结果,先去调用它自己;那次调用为了算出结果,又去调用它自己……如果没有一个"到此为止、直接返回"的终止条件,它就永远往下钻,钻到内存里堆满未完成的调用,StackOverflow,程序当场崩掉。

递归本身没问题,问题出在缺一个base case(终止条件)——那个"不用再往下问、这里直接给答案"的底。没有底的递归,不是慢,是永远回不来

"等我准备好"就是一个缺底的递归。你想开始,前提是先准备好。可"准备好"是什么?是先具备条件 A。要具备 A,前提是先搞定 B。要搞定 B,得先……你每往下问一层"那这个的前提是什么",都还能问得出一个更前的前提。完美的前置条件清单是可以无限往下拆的:钱、技能、人脉、时机、心态、身体、家人支持……每一项还能再拆成子项。

它永远不会自己触底返回一句"好了,齐了,开始吧"。因为清单里没有那个 base case——没有任何一层会把"够了"这个信号发给你。你以为你在一层层往下准备,其实你在往一个没有底的栈里压调用,压到某天热情耗尽,栈溢出,整件事崩掉,一个字没写。

失效二:移动的球门——标准会自己往上长

就算你不认第一条,觉得"我的清单是有限的,就那么几项,办齐就开始"。也不行,因为达标线不是钉死的。

移动的球门 moving goalposts——你朝着球门冲刺,眼看要到了,球门却自己往后退了几米;你再冲,它再退。你永远在逼近,永远差一点,因为终点线在跟着你跑。

说人话:你以为达标线是固定的,办到就算赢。其实你每往前一步,那条线也往前挪一步,你和它的距离恒定地"还差一点点"。

为什么"齐了"的标准会自动升高?因为"准备"这个动作本身,会让你更清楚自己还缺什么。你钻研得越深,越看得见原来还有一层没考虑到;你钱攒到原定目标,反而更具体地算得出"其实再多一点会稳得多";你觉得快准备好了,恰恰是这份"快好了"的清醒让你发现还能再打磨。准备提升的不只是你的能力,还有你对"够格"的想象。而后者涨得往往比前者快。

于是你陷进一个恶性循环:越准备,越看得见不足;越看得见不足,越觉得没准备好;越觉得没准备好,越不敢开始,只好继续准备。门槛跟着你的视野一起上移,你踮脚够到的那一刻,它已经又高了。这不是你贪心,是"准备"这个行为的副作用——它一边给你能力,一边偷偷把及格线往上抬。

失效三:局部最优——你困在小山头上,不肯下坡

前两条讲"齐不了"。这第三条更狠:就算真能齐,"不开始"这个状态本身也会把你钉死。

局部最优 local optimum——想象你在一片丘陵里蒙着眼找最高峰,规矩是每一步只能往更高处走。你爬上一个小山包,四下一探,发现朝哪个方向迈都是往下,于是你判定"到顶了",停在这儿。可真正的高峰在几公里外,比你脚下这个小包高得多。你被困住了,不是因为看不见远方,是因为去更高的山,必须先下坡——而你的规矩不允许你往下走。

局部最优 = 一个"周围看都是最好"的位置,但它不是全局最好。想去真正的高峰,你得先接受一段"越走越差"的下坡,才能触到通往高峰的上坡。

"保持现状、不开始",往往就是这么一个局部最优。此刻的你最舒服、阻力最小:不开始就不会搞砸,不动手就不用面对自己有多生疏。四下一看,动起来的每个方向似乎都是"往下"——一上手就笨拙、就出丑、就没状态、就被打回原形。于是你停在小山头上,宣布"再等等,条件不对"。

但你想去的那个更好的状态(写得顺、跑得动、做得成),是另一座更高的山。通往它的路,头一段必然是下坡:先经历一段更差——生手、卡壳、成品难看、状态全无。而"等条件齐了再开始",本质就是拒绝走这段下坡,死守着"每一步都不能变差"的规矩。守着这条规矩,你永远出不了这个小山包。爬山算法里破解局部最优的办法,从来不是"等一个不用下坡的时机"——那个时机不存在;而是允许自己先下去一点。开始,就是主动迈出那一步下坡。

失效四:等待在偷偷收费——你以为在攒,其实在漏

前三条说的是"等不到终点"。这第四条要戳破一个更隐蔽的假设:你默认等待是免费的、是中性的暂停——反正东西都在原地放着,我攒够信心/时间/条件再上,不亏。

不是。等待有方向,而且是往下的。你以为在积攒的很多东西,恰恰在等待里贬值

翻译:等待像一笔在利滚利的技术债——就是工程里为图快留下的烂摊子,当时省事,欠着不还却会利滚利,越拖越贵。你以为按下了暂停键,其实计时器一直在走,利息一直在累。你不是把资源冻结起来留着,你是眼睁睁看它一点点漏掉。

所以"再等等更稳妥"这个直觉,连它最后的退路都站不住:等待并不能让你以更好的状态出发,反而让你以更差的状态、在更晚的时间、面对更小的窗口出发。它不是中性的暂停,是有方向的流失。

收一下:这不是意志力问题

把四条并起来看,"等条件齐了再开始"这条路的结构缺陷就全暴露了:

一条没有出口、终点在跑、把你钉死、且持续扣费的路——你在上面推不动,真不怪你毅力差。你是在拿意志力硬扛一个结构问题。再多的决心也翻不过一个没有底的递归。

说清楚这章不是在讲什么,免得走过头:我没有叫你闭眼裸奔、把所有准备都当敌人。有些准备是真必要的——哪些等是对的、哪条线不能省,那是第十一章要专门划的界。这一章只拆一件事:把"等条件齐了"当成默认起手式的那个直觉,在结构上是破产的。它伪装成审慎,其实是个陷阱。

那出口在哪?出口不在"等到齐",出口在"先动"。因为标准既然会往上跑、条件既然永远差一点,你唯一能确定齐的时刻,就是你已经在做了的那一刻——动起来之后,很多你以为要先备齐的东西,是边做边长出来的。至于怎么把这"先动"的第一下砸到小得无法拒绝,让你连"还没准备好"都来不及想就已经上手,那是下一章的活。

先动起来,状态才追上来
面向对世界有好奇心的人 · 费曼式写法 · 由多个 AI 代理撰写与互相审校