一只阿木木

我删掉了Obsidian里所有的文件夹,然后发生了一件奇怪的事

我删掉了Obsidian里所有的文件夹,然后发生了一件奇怪的事

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


2023年的某个下午,我在准备一次技术分享,主题是"微服务架构的边界划分"。

我知道我有这方面的笔记。我在过去两年里读过至少七八篇相关的文章,做过三个相关的项目,踩过不少坑。这些东西应该都在我的Obsidian库里。

我打开库,开始找。

🔧 技术积累 → 架构设计 → 微服务 → 有三条笔记。

但我隐约记得,有一次我在读一篇关于DDD(领域驱动设计)的文章时,写了一段关于"边界"的思考,那段话比这三条笔记更接近我想要的东西。

我去📚 读书笔记 → 技术书籍 → DDD相关 → 翻了一遍,没找到。

也许放在💡 灵感收集里了?我打开,里面有将近两百条笔记,按时间排列,我翻了大约五分钟,放弃了。

也许在某一篇Daily Note里?

我关掉了库,打开了Google。


这件事发生之后,我在日记里写了一句话:

“我建了一个我自己都找不到东西的图书馆。”

然后我开始思考,为什么会这样。


一、一个德国社会学家和他的六万张卡片

在讲为什么之前,我想先带你认识一个人。

他叫尼克拉斯·卢曼(Niklas Luhmann),德国社会学家。他在学术界的地位有多高,我只说一件事:他一个人,在四十年里,写了58本书和将近400篇论文,涵盖社会学、法学、政治学、生态学、教育学等几乎所有社会科学领域。

很多人第一次听到这个数字,会以为他是那种每天工作18小时、不睡觉、没有生活的学术机器。

但事实正好相反。卢曼曾经在一篇文章里写道,他从不强迫自己写作。如果某一个方向写不下去,他就换一个方向,因为他的系统里总有别的东西在等着他。他的日常工作时间并不算长,用他自己的话说,他从不"努力"工作。

那58本书从哪里来的?

来自一个木头盒子。

准确地说,来自六万张卡片,装在一系列木头盒子里,构成了他那个著名的卡片盒(Zettelkasten)。

这个卡片盒的工作方式,和你能想象到的任何一种笔记系统都不同。

卢曼不用文件夹,不用目录,不用标签体系。他的每一张卡片,都有一个编号,但这个编号不代表它属于哪个类别,它只代表它和哪些其他卡片相连。

每当他写下一张新卡片,他不问自己:“这张卡片该放在哪里?”

他问自己:“这张卡片和我已有的哪些卡片有关系?”

然后他把这些关系,用引用的方式写在卡片上。一张卡片可以和来自完全不同领域的十张卡片相连。一个关于法律的想法,可能连接着一个关于生物学的概念和一个关于音乐的直觉。

卢曼后来谈到这个系统时说了一句话,我觉得是他留下的最重要的东西:

“我从不强迫自己去想原创的东西。我只是在已有的想法之间寻找意外的连接。那些连接,就是原创。”

这句话让我坐在电脑前发了很长时间的呆。

因为它意味着:创意不是凭空产生的,创意是连接的副产品。

而我的Obsidian库,恰恰在系统性地消灭所有可能发生意外连接的机会。


二、文件夹在做一件反智识的事

我需要对文件夹说一些不客气的话。

文件夹是人类在数字世界里移植的一个物理世界的隐喻。物理世界里,一份文件只能放在一个地方。所以我们发明了文件夹,让每份文件有一个"家"。

这个逻辑,在管理物理文件时是合理的。

但当我们用它来管理想法时,它就开始做一件反智识的事。

我举一个程序员都能理解的例子。

当我在读一篇关于"Redis缓存穿透"的文章,我有一个想法:这个问题的本质是**“系统在面对异常请求时,如何保护自己的核心资源不被耗尽”**。

我把这个想法写成了笔记,然后面临一个选择:

放进🔧 技术积累 / 中间件 / Redis? 还是放进💡 灵感收集 / 系统设计思考?

我选了前者。

但两个月后,我在读一篇关于限流算法的文章,产生了完全相同的洞察:系统保护核心资源。

又两个月后,我在读《反脆弱》,塔勒布在讲生物系统如何应对压力,我又有了同样的感受。

但这三条笔记,分别在:

  • 🔧 技术积累 / 中间件 / Redis

  • 🔧 技术积累 / 系统设计 / 限流

  • 📚 读书笔记 / 思维类 / 反脆弱

它们永远不会相遇。

文件夹体系强迫你在写笔记的那一刻,就决定这个想法"属于"哪个领域。但真正有价值的洞察,往往是跨越领域的——它不属于任何一个文件夹,它属于多个领域之间的缝隙。

这就是《Web信息架构》这本书里,Louis Rosenfeld花了整整一章试图告诉我们的事:

分类系统的最大代价,是它让你提前关闭了意外发现的可能性。

一个图书馆把书按学科分类,这对于"我知道我要找什么"的人很有用。但对于"我不知道我在找什么,但我想找到让我意外的东西"的人来说,这个系统是一种障碍。

知识工作,往往属于后者。


但这里有一个让很多人陷入困境的问题:

如果不用文件夹,那用什么?

不分类,不就乱掉了吗?

这正是大多数人无法迈出这一步的原因。我们对"无序"有一种本能的恐惧,尤其是程序员——我们的职业训练让我们相信,一切都应该有清晰的结构和归属。

但卢曼告诉我们,也许"无序"本身,就是创意的温床。


三、我删掉所有文件夹的那个晚上

那是2024年3月的一个晚上,我把这件事想了很久,然后做了一个决定。

我打开Obsidian,选中所有文件夹,把笔记全部移到根目录,然后删掉了所有文件夹。

我在日记里写下了当时的心情:

“有一种奇异的解放感,和强烈的不安感,同时存在。”

然后我开始重新审视那一千三百条笔记。

没有文件夹之后,我发现自己第一次真正地看见了这些笔记。在文件夹时代,我打开一个文件夹,我只看见那个文件夹里的东西,我的注意力被框住了。而现在,所有东西平铺在眼前,我开始看见它们之间的关系。

但这里出现了一个新问题。

一千三百条笔记平铺在眼前,我能用眼睛找到它们之间的关系吗?

不能。

这就是我们需要引入第二个工具的地方:AI。

不是用AI帮我写笔记,而是用AI帮我看见我自己的笔记里那些我的眼睛无法看见的连接。


四、当AI成为你的"知识星图"

在介绍具体操作之前,我需要先解释一个概念:向量搜索(Vector Search)。

作为一个后端程序员,我对这个东西不陌生。

普通的关键词搜索,是找"包含这个词"的内容。

向量搜索,是找"在语义上与这段话相似"的内容。

这两者的区别,用一个例子来说明:

如果我搜索"缓存穿透",关键词搜索会找到所有包含"缓存穿透"这个词的笔记。

但向量搜索会找到所有在语义上与"缓存穿透"相关的笔记——包括那条我写的"系统在面对异常请求时如何保护核心资源",虽然它一次也没提到"缓存"这个词。

向量搜索能跨越语言的表层,找到概念的深层连接。

这正是卢曼手动做的事情——他在六万张卡片里,凭着自己对内容的记忆,找到语义上相关的连接。他用了四十年。

我们可以用几秒钟。


Obsidian有一个插件叫做Smart Connections,它的核心原理就是向量搜索。安装之后,它会在后台把你所有的笔记都转化为向量,存储在本地。

然后你可以做一件很有意思的事:

打开任意一条笔记,它会在侧边栏实时显示"与这条笔记语义最相近的笔记",按相关度排列。

我第一次打开这个功能的时候,发生了一件让我印象很深的事。


我打开了那条"业务层面的单一职责违反"的笔记——就是上一篇里,我用AI苏格拉底法逼出来的那条。

Smart Connections给我展示了它认为与这条笔记最相关的内容:

第一条: 一篇关于"认知负荷理论"的笔记——大意是人在工作记忆里同时处理太多元素时会出错。 第二条: 我摘抄的一段《设计原本》里关于"模块边界"的内容。 第三条: 一条关于"康威定律"的笔记——组织的沟通结构决定了系统的架构。 第四条: 一段我三年前写的日记,抱怨某次上线之后排查bug特别难,“不知道从哪里入手”。

这四条笔记,分别来自认知心理学、系统设计、组织理论和我的个人经历。在文件夹时代,它们散落在完全不同的角落,永远不会相遇。

但Smart Connections把它们排在了一起,因为它们在语义上,在说同一件事:

边界不清楚,就会产生复杂度。无论是代码的边界、认知的边界,还是组织的边界。

我在那条日记旁边打了一个双链,连到了"业务层面的单一职责违反"。然后我突然意识到,三年前那次排查bug的痛苦,不只是技术问题,是组织架构问题——那个系统的边界模糊,根本上是因为负责它的团队本身的职责就是模糊的。

这个洞察,我三年前没有。

Smart Connections用了三秒钟,把三年前的一条怨气冲冲的日记,和三年后的一个技术洞察连在了一起。

这就是卢曼说的"意外的连接"。


五、一套真实的"知识星图"构建流程

让我把这套方法拆解成你明天就能用的步骤。

但我要先说一件实话:

删掉文件夹,需要一点勇气。

如果你现在的库已经有几百条笔记,我不建议你一次性把所有文件夹都删掉。那会让你陷入一种真实的信息焦虑,适得其反。

我建议你先建一个新的库,专门用来放新产生的笔记,用这套方式运行三个月,感受它的逻辑,再决定要不要迁移旧的内容。


Step 1:放弃"这条笔记属于哪里",改问"这条笔记像什么"

写完一条新笔记,不要思考它该放进哪个文件夹。

转而问自己两个问题:

  • 这个想法让我联想到了什么?

  • 我的库里有没有哪条笔记在说类似的事情,哪怕是完全不同的领域?

然后手动打上双链。

不要追求连接的"正确性"。一个错误的连接,比没有连接更有价值,因为它可能让你之后发现为什么它是错的,那本身就是一个新的洞察。


Step 2:安装Smart Connections,定期进行"语义漫游"

安装插件之后,建议你每周做一次我称之为"语义漫游"的练习:

随机打开一条你最近写的笔记,看Smart Connections推荐的相关笔记。

不要带着目的去看,带着好奇心去看。就像在一个城市里漫无目的地走,而不是导航到某个地方。

每次漫游,给自己设定一个时间:15分钟。在这15分钟里,跟着连接走,看看能走到哪里。

记录你在漫游中发现的"意外连接"——那些让你觉得"这两件事居然有关系"的时刻。把这个发现写成一条新的笔记。


Step 3:用AI生成你的"知识星图综述"

每个月做一次,把你最近三十条笔记的标题和核心洞察整理出来,发给AI,用这个Prompt:

text

1
2
3
4
5
6
7
8
9
10
以下是我最近一个月写的笔记(标题+核心洞察):

[粘贴你的笔记列表]

请帮我做三件事:
1. 找出这些笔记中,反复出现的核心主题是什么(不超过3个)
2. 找出哪几条笔记之间有我可能没有意识到的关联
3. 根据这些笔记,判断我最近在思考的核心问题是什么

不需要展开解释,给我清单式的结论就好。

AI的回答,往往会让你发现一些你自己没有意识到的东西——你以为你在思考A,但AI告诉你,你所有的笔记都在围绕着B打转。

这不是AI在替你思考,这是AI在帮你看见你自己。


Step 4:建立"概念节点"而不是"主题文件夹"

这是和文件夹体系最关键的一个区别。

文件夹是容器,里面装的是文件。 概念节点是枢纽,连接的是想法。

当你发现某个概念在你的库里反复出现,不要为它建一个文件夹,而是为它建一条专门的笔记,叫做"概念节点"。

例如:"边界(Boundary)"这个概念,我发现它出现在:代码设计、系统架构、组织管理、认知心理学、甚至人际关系里。

我为它建了一条笔记,标题就叫"边界"。这条笔记不是文章,只是一个枢纽——里面用双链连接了所有和"边界"这个概念有关的笔记,加上我对这个概念的当前理解,以及一个"未解决的问题":

“边界的清晰化,究竟是降低了复杂度,还是只是把复杂度转移到了边界本身?”

这条笔记,会随着我的库不断生长。每次我遇到新的"边界"相关的洞察,就往这个枢纽里连接。三年后,这条笔记可能会成为我写一篇深度文章的核心。

这就是卢曼的卡片盒真正的逻辑:不是分类,是生长。


写在最后

我现在的Obsidian库,没有任何文件夹。

根目录里,几千条笔记平铺着,看起来很乱。如果你打开我的库,可能会觉得我是一个没有任何组织能力的人。

但如果你打开Graph View,你会看到另一幅图景:一张密密麻麻的网,有几个特别密集的节点,是那些被反复连接的核心概念。从任何一个边缘的节点出发,你可以沿着连接,走到任何一个角落。

这张网,没有一个节点是"属于"某个文件夹的。

但每个节点,都知道自己和哪些东西有关。


但我想在最后诚实地说一件事。

卢曼的卡片盒有一个东西,是我的Obsidian库永远无法复制的:

时间的重量。

卢曼的六万张卡片,是他四十年里用手写下的。每一张卡片经过他的手,经过他的眼睛,经过他的思考。那些卡片上的连接,是他在无数个深夜里,拿着一张新卡片,在木头盒子里翻找,突然发现一张旧卡片,然后用笔在两张卡片上都写下对方的编号——那个动作,本身就是一次思考。

我的Smart Connections,在三秒钟内帮我找到了那条三年前的日记和三年后的洞察之间的连接。

但卢曼会花三十分钟来做同样的事情。在那三十分钟里,他可能会发现另外七个连接,否定其中三个,修改其中两个,然后在其中一个连接旁边写下一个新的问题。

我的三秒钟,和他的三十分钟,产出了同样的连接。

但我真的以为产出了同样的东西吗?


下一篇预告:

《与巨人对话:如何在Obsidian中用AI实践"主题阅读"的最高境界?》

——艾德勒在《如何阅读一本书》里说,阅读的最高境界,是让来自不同时代的作者,围坐在同一张桌子前争论同一个问题。下一篇,我会告诉你,我是怎么用Obsidian和AI,真正实现这件事的。