我一直在盲飞,却把它叫做直觉

很长一段时间里,对于系统内部到底在做什么,我几乎没有任何真正的可见性。我对它做出的种种判断,靠的都是猜测里面大概发生了什么——而在某个时刻,我悄悄地把这种猜测重新贴上了”直觉”的标签。最终,我为整个项目做的那件最具杠杆效应的事,简单到令人难堪:我把灯打开了。

现在回想起来,我竟然能容忍自己在黑暗中工作那么久,实在奇怪。我想,我当时大概以为困难的部分在于思考,而”能看见”不过是一种奢侈。我把这件事彻底搞反了。

在黑暗中调试

每当出了岔子——而且总是有什么在出岔子——我都没有真正的办法去看里面到底发生了什么。我能看到输入是什么,能看到输出是什么,而中间那整片空间是一个密封的黑箱。我那套所谓的调试流程,无非是:先对那个黑箱里可能发生的事形成一套理论,然后改动点什么,再观察输出是变好还是变坏,如此反复。

这是一种靠猜测加试错的调试,对真正的机制完全是盲目的。它缓慢,它令人发狂,而最糟糕的是它有一种会自我掩盖的不可靠:当输出碰巧变好时,你就把功劳记在自己的理论上,哪怕你从未真正确认过那套理论是对的。你是在一间黑屋子里摸索,靠偶尔撞到东西来推断家具的位置。

被打扮成直觉的猜测

真正危险的,是我对这一切给自己讲的那个故事。我渐渐相信自己对这个系统已经有了感觉——我”就是知道”问题大概出在哪里。我把这当成一种来之不易的直觉,那种有经验的人理应具备的东西。

但真正的直觉是被压缩的经验:大量真实的观察,经过时间的沉淀,提炼成迅速的判断。我所拥有的并不是这个。我所拥有的是被压缩的无知——把希望和模式匹配套用在远远不够的真实信息之上,再用专业的语言加以包装。因为我看不见真正发生的事,我就为它编出一些貌似合理的故事,然后,致命地,相信起自己的编造来。一个被足够自信地反复重申的猜测,会开始让人觉得它就是知识,尤其是当周围没有任何可见性来反驳它的时候。

你无法修复你看不见的东西

当这个领悟终于落地时,它显而易见得近乎侮辱。我的瓶颈从来不是我解决问题有多聪明,而是我几乎完全没有能力在一开始就观察到这些问题。事实证明,调试中极大的一部分,仅仅是能够看见真正发生的事——而我一直试图跳过这一步,直接奔向解决。

没有观察,哪怕世上最锐利的推理,也不过是被套用在想象出来的事实之上。你可以从自己编造的前提出发完美无瑕地推理,然后无比自信地抵达——一无所获之地。我正是在一遍又一遍地做这件事,并把那份自信错当成进展。当思考的输入是猜测时,我思考的质量几乎无关紧要。

可观测性不是免费的,也不是可选的

修复的过程是一段极不光鲜的基础设施工作:记录正确的东西,把系统在每一步实际看到了什么、做了什么、为什么这么做都记录下来,并搭建在它运行时窥视内部的手段。这一切都不会产出任何可见的功能。它们在当下都不像是真正的进展——它感觉像是一条偏离令人兴奋的工作的弯路,像是一种你交出去而不是用来建设的税。

这种看法恰恰就是错误所在。这项工作不是偏离真正进展的弯路;它是真正进展的前提,因为它正是那件把猜测转化为看见的事。每一个花在让系统变得可观测上的小时,都以”省下了多少在我甚至看不到的问题面前盲目挣扎的小时”的形式,加倍偿还了好几遍。我一直把”能看见”当成可选项。它更接近于其他一切赖以站立的地基。

良好可见性的形态

我必须学会的一个微妙之处是:可观测性并不等于把一切都记录下来。一股不加区分的细节洪流本身就是另一种失明——当一切都被记录下来,就什么都找不到了,而你恰恰会在最需要信号的时候淹没在噪声里。更多,并不是目标。

良好的可见性,是围绕着出问题时你真正需要回答的那些问题来设计的。系统在这个特定时刻看到了什么?它为什么做了它所做的那件事?这个数字究竟是从哪里来的?关键在于能够按需重建出”发生了什么”的来龙去脉,清晰到足以采取行动——而不是把整个内部状态倾倒进一份没人读得懂的日志里。为问题而设计,而非为完整性而设计,这才是全部的手艺所在。

一间点亮的房间会改变你思考的方式

一旦我真正能看见内部,整项工作的性质就变了。我不再做理论推演,而开始去看。那些已经困扰我数周、熬过了我所有聪明猜测的真正谜团,在几分钟之内就变得显而易见,因为我终于能眼看着它们发生,而不是隔着距离去推断。

那种对比给我上了让人谦卑的一课。那间黑屋子从来没有像我半自我恭维地相信的那样,让我更敏锐、更有直觉。它只是让我更慢,更经常出错,还额外向我收取了”不知道自己错了”这笔代价。可见性并没有让问题变得更容易。它让问题变得可见,而可见的问题,是与不可见的问题完全不同、也远更可处理的另一类东西。

更深的一课:先看见,再推理

到头来,我想我只是把操作的次序搞反了。我的本能向来是先推理、再观察——如果我还肯去观察的话。如今我努力反其道而行:在允许自己对一件事形成任何强烈理论之前,先让它变得可见,因为一个没有观察支撑而建起来的理论,不过是一个穿着实验服的猜测,而穿着实验服的猜测,是你能在其上构建的最昂贵的东西之一。

最有价值的投资,往往不是更聪明的算法,也不是更巧妙的点子。它是一扇更清晰的窗。我曾花了很长时间试图凭思考穿过一间黑屋子,为自己的直觉而自豪,而我真正需要的,不过是停下来,找到开关,去看一眼那一直就摆在我面前的东西。

— 没有信号,没有收益,不构成投资建议。