你永远可以再猛吸一口 token 继续 vibe 下去
> 当所有决策都成立时,优先级就消失了
这几天其实没什么特别的。
如果一定要说特别,就是我们参加了一个黑客松比赛,要在两周内做一个 Demo 出来。
两周这个词听起来很友好,既不像两天那样让人绝望,也不像两个月那样让人松懈。它处在一种很暧昧的位置:足够你产生幻想,也足够让你在最后几天崩溃。
一开始我们是很克制的。
真的。
大家都说:"先做核心。"
我也点头。
但问题在于,人一旦开始写代码,就会变得不太诚实。
比如我写了一个接口,本来已经能跑了,但我忽然想到:
"这个地方是不是可以再抽象一下?"
于是就抽象了一下。
然后又想到:
"既然都抽象了,要不要顺便支持一下扩展性?"
于是又支持了一下扩展性。
既然都支持了扩展性了,要不顺便把 UI 也优化的好看一些。
于是 UI 变得 fancy 了起来。
在 AI 时代,"既然"和"于是"变得很容易获得。
你甚至不需要太多理由,只要愿意继续说下去,它就会替你把逻辑补齐。
这件事让我有点不安。
因为很多时候,你写出来的并不是思考,而是一种"可以成立的表达"。
于是你继续写。
既然它看起来成立,那就先让它成立一会儿。
反正世界上大多数东西,也都是先成立,再慢慢变得不成立的。
再然后事情就开始变得像某种缓慢的滑坡,你其实知道在往下走,但你也没有真的停下来。
两周过去一半的时候,我们的系统已经开始呈现一种奇怪的气质:
它什么都有一点,但没有什么特别像它自己。
而你永远可以再猛吸一口 token 继续 vibe 下去。

有一天晚上,我盯着屏幕看了很久。
不是在思考架构,也不是在优化性能。
只是单纯地在想:
这个东西,如果拿给一个完全不懂的人看,他会记住什么?
答案是:什么都不会。
这件事让我稍微有点不安。
但也只是稍微。
因为不安这种东西,在 deadline 面前通常活不过 24 小时。
后来我开始注意到一个很有意思的现象:
我们每加一个功能,都有一个"合理理由"。
- 这个很重要
- 这个也可能用得上
- 这个以后说不定会被问到
这些理由单独看都成立。
问题是,它们加在一起之后,就开始互相抵消。
最后你得到的不是一个更强的系统,而是一种"平均意义上的正确"。
我突然意识到一个有点不太体面的事实:
所谓"做得很好",有时候只是"什么都没敢放弃"。
但真正让我开始怀疑人生的,不是代码,而是我自己。
因为我发现我在很多事情上,其实都在重复同一件事:
我知道优先级很重要。
我真的知道。
我甚至可以把它讲得很清楚,像在给别人做培训一样清楚。
但这并没有什么用。
因为一旦进入真实场景,我还是会被各种"看起来也不错的事情"吸引走。
就像一个人说自己只吃健康食品,但路过烧烤摊的时候,还是会停下来思考人生。
后来我开始觉得,"知道"这个词本身可能有点被高估了。
知道一个道理,并不意味着你拥有它。
更准确一点说:
知道一个道理,只意味着你在安静的时候,支持这个道理。
但人生大部分时间,并不安静。
比赛快结束的时候,我们不得不开始删东西。
删代码这件事有点奇怪。
写的时候你觉得自己在创造世界,删的时候才发现,其实你只是一个临时搭建者。
很多东西删掉之后,系统反而变清晰了。
甚至有点过于清晰,清晰到让人怀疑:
我们之前到底在忙什么?
有一刻我突然明白一件事:
优先级这东西,其实不是"排序问题",也不是"选择问题"。
它更像一种暴力行为。
你必须不断地告诉自己:
"这个不做。"
"那个也不做。"
甚至有时候是:
"这个虽然很好,但它不属于这里。"
这件事不太优雅,也不太理性。
但有效。
后来我尝试给自己设了一些规则:
比如只保留一个目标。
比如所有事情都要问一句:
"它是不是在直接帮我更接近那个目标?"
如果不是,那就先放着。
听起来很理性。
但实际上更像是一种心理上的自我约束装置。
因为如果不这样,我很容易重新变回那个:
什么都想做一点的人。
写到这里,我忽然有点怀疑,这篇文章本身也有点危险。
因为它看起来像是在总结经验。
但实际上,很多时候,我还是会在别的项目里重复同样的错误。
人类的一个基本能力可能是:
能够从错误中学习,但学习之后仍然保留犯同样错误的自由。
所以如果一定要说这次比赛留下了什么东西,那可能不是"优先级很重要"这种正确结论。
这种结论太轻了,轻到可以随时被新的兴奋感吹走。
真正留下来的,是一种不太舒服的感觉:
当你试图同时做好所有事情的时候,你最终可能什么也没真正做好。
当然,这件事也没有那么严重。
世界不会因为一个 Demo 变得更好或者更坏。
我们也不会因为这次做得好一点,就突然变得更清醒。
人还是会继续加功能,继续犹豫,继续在"要不要再做一点点优化"这件事上浪费时间。
只是偶尔,在某个晚上,你会想起这件事:
也许真正重要的不是做得更多,而是停得更早一点。
然后你会继续写代码。
因为不然也没别的事可做。
以上