一只阿木木

我用了三年建知识系统,用了一天才明白

我用了三年建知识系统,用了一天才明白系统会自己生长

——"赛博时代的认知进化论"系列 第七篇


去年夏天,我在一次代码审查里犯了一个让我事后想了很久的错误。

那天我在review一位同事的PR,看到他在一个高并发场景下使用了一个加锁的方式,我的第一反应是想指出这里有性能问题。我甚至已经开始在评论框里打字了。

然后我停住了。

不是因为我改变了判断,而是因为我脑子里突然闪过了一件事——我记得我的Obsidian库里有一条笔记,写的是一次我们团队在类似的场景下因为"过度优化"引入了一个更严重的bug。那条笔记里有一句我当时写下的结论:“在分布式场景下,正确性比性能更重要,除非你已经测量到性能是瓶颈。”

我去Obsidian里把那条笔记翻出来,看了两分钟。

然后我把评论框里已经打好的字删掉了,换成了一个问题:

“这个场景有没有做过性能测试?如果还没有,我建议先保证正确性,有了基准数据之后再做优化。”

同事回复我说,确实还没有测试,而且他一开始想用一个他认为更快的方式,但不确定是否会有并发问题,所以保守选择了加锁。

我们最终保留了那个加锁的实现,在下一个迭代里做了性能测试,结果证明那个接口根本不是系统的瓶颈,不需要优化。


事后我在想,如果没有那条笔记,如果我当时直接按照第一反应写下了那个评论,会发生什么?

最好的情况:我们会争论一番,最终得出同一个结论,浪费了双方的时间和情绪。

更可能的情况:他会尊重我作为senior的判断,做了那个"更快"的优化,引入了一个并发bug,然后在某个时间点,那个bug在线上炸了。

一条两年前的笔记,在一个我完全无法预料的时刻,改变了一个决策的走向。

但这不是我今天要讲的重点。

我今天要讲的,是这件事让我意识到的一个我花了三年才真正理解的事情:

这个系统,已经开始在我看不见的地方工作了。


一、彼得·圣吉说的那个东西,我以前从来没真正理解过

彼得·圣吉(Peter Senge)的《第五项修炼》(The Fifth Discipline)是一本我读了三遍的书。

第一遍,我把它当成一本管理学书籍来读,觉得它讲的是企业如何建立"学习型组织",和我这个程序员关系不大。

第二遍,我把它当成一本思维方式的书来读,觉得"系统思考"这个概念挺有道理,但始终停留在一种"哦,这个我懂"的浅层理解上。

第三遍,是在那次代码审查之后。

那一次,我终于真正读进去了那个我之前读了两遍都没有真正理解的核心概念:

系统思考(Systems Thinking)。

圣吉说,我们习惯于把世界理解为一条线——A导致了B,B导致了C。这种线性思维让我们觉得世界是可控的、可预测的。

但真实的世界是一张网——A影响了B,B影响了C,C又反过来影响了A。这些循环,叫做反馈回路(Feedback Loop)。

圣吉说,大多数人失败不是因为他们不够努力,而是因为他们在一个循环系统里,却用线性思维来处理问题。

他们一直在推墙,却不知道这面墙的另一面,正在被另一个他们看不见的力量推回来。


然后我开始用这个视角,重新看我自己的知识管理系统。

我以前把它理解成一条线:

记笔记 → 整理笔记 → 写文章 → 建立影响力

这是一个线性的流程。每个步骤是下一个步骤的输入,整个系统是单向流动的。

但那次代码审查让我意识到,实际上发生的事情是这样的:

我在两年前踩坑之后记了一条笔记。这条笔记在Obsidian里静静存在了两年。两年后,它出现在了一次代码审查里,改变了一个决策。这个决策的结果,会变成我新的经验,然后我会把这个经验写成新的笔记,这个新笔记也许在三年后又会在某个我无法预料的场景里出现。

这不是一条线。

这是一个螺旋上升的循环。

圣吉管这种循环叫增强回路(Reinforcing Loop)——一个循环,它的每一次迭代都会加强下一次迭代的效果。

这就是我花了三年才真正理解的东西:

我一直以为我在建系统,但我实际上是在培育一个有机体。

系统是被设计的,是静态的,是可以被完全理解的。 有机体是生长的,是动态的,它会做出你没有设计过的事情。

那条在代码审查里出现的笔记,是这个有机体的自发行为。

我没有在那个早上坐下来想:“好,今天让我去找一条两年前的笔记来用。”

它自己出现了。


二、增强回路需要一个触发点,而大多数人永远等不到它

圣吉在书里描述增强回路的时候,说了一件让很多人感到沮丧的事:

增强回路在启动的早期,几乎感受不到任何效果。

因为增强回路的增长是指数级的,而指数增长在早期,和线性增长几乎没有区别。

一张纸对折一次,厚度变成两倍。对折十次,厚度是原来的1024倍。对折四十次,厚度超过地球到月球的距离。

但前十次对折,你看到的只是一张越来越厚的纸。没有任何迹象表明,再折三十次会到月球。

大多数人在第十次的时候放弃了,因为他们用线性思维来预测指数系统的结果。

这就是为什么很多人坚持用Obsidian三个月之后放弃——他们看到的是三个月积累的几百条笔记,但他们感受不到任何明显的变化。他们用线性思维来评估:投入了这么多时间,产出了什么?

他们在第十次对折的时候停下来了。


但问题是:怎么熬过那段感受不到效果的早期?

圣吉给了一个答案,但他的答案是针对组织的:建立一种"系统思考"的文化,让组织里的人相信长期的增强回路,而不只是追逐短期的线性回报。

这个答案对一个个人来说太虚了。

我在自己身上找到了一个更具体的答案:

你需要一个方法,让你在早期就能"看见"增强回路在运转,哪怕它的效果还很微弱。

这就是我要讲的这篇文章的核心方法:知识飞轮的可视化。


三、让飞轮转起来之前,先让自己看见它在转

物理意义上的飞轮,是一个旋转的重轮。它的特点是:启动的时候需要很大的力,但一旦转起来,它就会依靠自身的动能持续旋转,你只需要维持一个很小的推力就够了。

吉姆·柯林斯(Jim Collins)在《从优秀到卓越》里,把这个比喻用在了企业战略上:

卓越的企业不是靠某一个决定性的时刻突然起飞的,而是靠一个增强回路持续积累,在某个时刻突然突破了临界点,进入了飞轮高速旋转的状态。

但柯林斯同时也指出了一个让很多人忽视的事实:

飞轮的旋转,在突破临界点之前,是看不见的。

你只有在突破之后回头看,才能看清楚那个飞轮一直在那里,一直在转。


我在做的,是试图在突破临界点之前,就让自己看见那个飞轮。

我在Obsidian里建了一个特殊的笔记,叫做**“飞轮日志”**。

这个笔记不记录知识,它记录一种特定类型的事件:

一条旧笔记,出现在了一个我没有预料到的场景里,并且影响了某件事。

格式很简单:

Markdown

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 飞轮日志

## [日期] [事件标题]

**触发场景:**
[是什么情况让我想起了某条旧笔记?]

**被触发的笔记:**
[[笔记标题]](写于[时间])

**产生的影响:**
[这条笔记如何改变了我的判断或行动?]

**影响的规模:**
[这件事影响了谁?影响了什么?]

**新产生的笔记:**
[[新笔记标题]]
(这个事件之后,我新记录了什么?)

每次这种事情发生,我就记录一条。

我开始记录飞轮日志是去年三月。到现在,我有了三十一条记录。

让我给你看几条真实的记录(脱敏过的):


2024.4.22 | 一条关于"沉没成本"的笔记,出现在了一次重构决策里

触发场景: 团队在讨论是否继续维护一个已经花了三个月时间的模块,有人说"都做了这么久了,不继续太可惜了"。

被触发的笔记: [[沉没成本谬误——过去的投入不应影响未来的决策]](写于2022年,来自《思考,快与慢》的读书笔记)

产生的影响: 我引用了这条笔记里的逻辑,把讨论的框架从"我们已经投入了多少"转移到了"这个模块未来还需要投入多少,收益是什么"。最终决定放弃这个模块,用更轻量的方案替代。

影响的规模: 避免了团队在一个错误方向上继续投入大约六周的时间。

新产生的笔记: [[沉没成本谬误在技术决策中的具体表现]]


2024.6.8 | 一条关于"信息熵"的笔记,出现在了一次API设计评审里

触发场景: 同事在设计一个API的返回值,把所有可能有用的字段都塞进了response里,说"反正多返回一点数据没关系,调用方用哪个取哪个"。

被触发的笔记: [[信息熵——信息量越大,传递的意义越少]](写于2023年,来自一次关于信息论的主题阅读)

产生的影响: 我指出一个返回了所有字段的API,实际上是在把"决定需要什么信息"的责任转移给了调用方,这会增加调用方的认知负荷,而且让API的演进变得困难(因为你不知道调用方在用哪些字段)。

影响的规模: 重新设计了API的返回值,建立了一个"按需返回"的设计原则,被写进了团队的API设计规范。

新产生的笔记: [[API设计中的信息熵——不要把所有东西都返回给调用方]]


2024.9.3 | 一条关于"心智模型"的笔记,出现在了一次产品需求讨论里

触发场景: 产品经理提了一个需求,要求在某个功能上增加更多的提示文字,说"用户老是用错,肯定是没看说明"。

被触发的笔记: [[诺曼的"设计心理学"——好的设计不需要说明书]](写于2022年)

产生的影响: 我问了一个问题:"如果用户需要看说明才能用对,是不是说明这个设计本身就有问题?"引发了一次更深入的讨论,最终的结论是重新设计交互逻辑,而不是增加提示文字。

影响的规模: 那个功能的用户错误率在重新设计之后下降了60%以上。

新产生的笔记: [[提示文字是设计失败的症状,不是解药]]


三十一条记录。

每次我感到这个系统没有价值、在浪费时间的时候,我就打开这个日志,从头读一遍。

然后那种怀疑,就会安静下来。

你不需要相信这个系统正在工作。你只需要把那些工作的证据,记录下来,留给你自己看。


四、飞轮真正的秘密——不是积累,是连接

在记录了这三十一条飞轮日志之后,我发现了一个规律,一个我在开始记录之前完全没有意识到的规律:

触发飞轮的,从来不是我记录最多次的主题,而是我在最意外的场景里,把两件看起来不相关的事情连在了一起。

最能让飞轮转起来的笔记,不是那些我专门为某个技术问题写的技术笔记。而是那些跨越了边界的笔记——一个认知科学的概念,出现在了一次API设计讨论里;一个关于沉没成本的经济学概念,出现在了一次技术重构决策里。

这让我想到了圣吉在《第五项修炼》里一个我当时读过但没有真正理解的观点:

系统的智慧,不存在于系统的任何一个部分里,它存在于部分之间的关系里。

一个团队里有很多聪明的个体,但如果这些个体之间的连接是低质量的,这个团队并不会因此变得聪明。

反过来,一个由普通个体组成的团队,如果他们之间的连接是高质量的,这个团队反而可能涌现出超越任何一个个体的智慧。

“涌现”(Emergence)——整体大于部分之和。

圣吉说,学习型组织的核心能力,是产生涌现的能力。

而产生涌现的方式,是建立高质量的连接。


这个洞察,让我重新理解了Obsidian双链的意义。

我以前以为双链是一种"组织方式"——让相关的笔记互相关联,方便检索。

但现在我理解,双链是一种**“涌现机制”**。

当两条来自不同领域的笔记被连接起来的时候,这个连接本身,有时候会产生一个任何一条笔记单独都无法产生的洞察。

那个洞察,不在任何一条笔记里,它在连接里。

这就是为什么卢曼那个笨拙的木头盒子,能产生出超过任何人预期的智识能量——那个盒子里,存的不只是六万张卡片,存的是六万张卡片之间的无数条连接,以及那些连接之间涌现出来的东西。


五、三年的飞轮,和一个关于时间的真相

现在让我来告诉你一个真实的数字。

我现在的Obsidian库,有2314条笔记,3891个双向链接,Graph View上有几十个高密度的枢纽节点。

但这些数字,都不是我认为最重要的数字。

我认为最重要的数字是:31。

三十一次飞轮事件,在过去一年里。

平均每十一天,发生一次。

你可能觉得这不多。

但让我换一种方式描述这件事:

在过去一年里,平均每十一天,有一条我在过去某个时刻写下的笔记,出现在了一个我无法预测的场景里,产生了一个我无法预测的影响。

这些影响里,有一个技术决策被改变了,有一个API规范被写进了团队文档,有一个用户界面被重新设计了,有一次代码架构讨论被引向了不同的方向。

这些都是在我睡着的时候发生的。

我不在主动地想"让我去用我的知识库里的某条笔记"。这个系统在自己运转,在我的意识的边缘,在某个我没有预料到的时刻,把一条旧的记忆推到了前台。

圣吉说,真正理解了系统思考的人,会开始放弃对系统的控制欲,转而学习如何与系统的自然规律合作。

你不需要驾驭这个系统,你需要信任它。

但在你能信任它之前,你需要先看见它在工作。

飞轮日志,就是让你看见它工作的方式。


六、给还在第十次对折的你

我知道这篇文章的很多读者,正处于那个"第十次对折"的阶段。

你已经建立了一套系统,你已经有了几百条笔记,你知道这件事在理论上是对的,但你就是感受不到那个飞轮在转。

我想直接告诉你:

这是正常的。

但我也想告诉你一件不那么令人安慰、但更真实的事:

飞轮不会因为你焦虑而转得更快。它只会因为你持续地往里面放对的东西而转得更快。

"对的东西"是什么?

是你自己的东西,不是别人的。 是你踩过的坑,不是别人的总结。 是你说不清楚的直觉,不是别人的金句。 是你想清楚的那一刻,不是别人想清楚的记录。


你现在能做的最重要的一件事,不是安装更多的插件,不是设计更完美的系统架构,不是寻找更好的模板。

是在今天,找到一件你在工作或生活里说不清楚的事,坐下来,用AI苏格拉底法,把它逼出来,写进你的库里。

就这一件事。

然后明天,再做一件。

三年后,你的飞轮会在某个你完全意想不到的早晨,突然转起来。

那个早晨,你会回头看,然后意识到:

原来它一直在转。只是我以前看不见。


写在最后

彼得·圣吉在《第五项修炼》的最后,说了一段让我在第三遍读到的时候停了很久的话——大意是:

真正的学习,不是获取信息,不是掌握技能,而是一种更根本的转变——你开始以不同的方式感知世界,你开始看见那些原本看不见的连接,你开始理解你自己是一个更大的系统的一部分。

我在第一遍读到这段话的时候,觉得它很虚。

我在第三遍读到它的时候,我的Obsidian库里已经有了那三十一条飞轮日志。

我突然理解了他说的是什么。

学习不会让你变成一个装了更多知识的容器。学习会让你成为一个不同的人——一个用不同的眼睛看世界的人。

那条在代码审查里出现的关于"正确性比性能更重要"的笔记,改变的不只是那次代码审查的结果。

它改变了我看待那次讨论的方式。

而一个人看待事物的方式改变了,他就改变了。

这,是三年的飞轮,真正转出来的东西。


但我想在最后问你一个问题,一个我现在也没有答案的问题:

圣吉说,学习型组织的终极目标,是建立一种能够持续学习、持续进化的有机体。

但他也说,这种有机体最终会超越任何个体的控制和理解。系统会开始做出没有任何人设计过的行为,产生没有任何人预测到的结果。

我的Obsidian库,已经有三十一次在我没有意识到的情况下,自发地影响了某个决策。

如果这个数字变成三百一,变成三千一,这个系统还是"我的工具",还是它已经变成了别的什么?

当一个工具开始做你没有要求它做的事情,当它开始主动地影响你的行为,当你开始依赖它来做出某些判断——

这个边界,在哪里?

你是在使用这个系统,还是这个系统已经在塑造你?

我不知道。

但我把这个问题,写进了我的Obsidian库。

标题是:“当我的知识库开始比我更了解我自己的时候”。

旁边有一个双链,连到了这篇文章。

也许某一天,它会在一个我没有预料到的早晨,自己出现。

只要还有说不清楚的问题,就还有下一篇。