← 返回目录


拆解思想工具:为什么 All in One 是伪需求?

学校≠教育≠技能;文凭溢价=80%信号传递+20%人力资本

211 👍 / 22 💬

简而言之:

游戏开发圈里有个笑话,说游戏开发者分两种:一种是写引擎的,一种是做游戏的。写引擎的人,纯粹是为了享受智力上的愉悦——探索由向量、场景、实体和事件构成的优美代数,并欣赏一台精密如水晶般的机器优雅运转。至于真正的游戏——那个永远也完不成、甚至很少开工的游戏——不过是事后才想到的添头。当然了,你才不会去做一个游戏。那样格局就小了。引擎本身才是重点。而那些真想做游戏的人,只会下载 Unity,然后硬着头皮熬过那段痛苦的经历。

在过去十年里,我大概写了六七个个人维基。这其实是一种高级到不可思议的拖延症[1]。时至今日,我几乎把所有可能的设计方案都试了个遍。

  1. 生命周期: 我构建过几个编译器风格的维基:将 git 仓库里的纯文本文件静态编译成 HTML。也用实时服务器和服务器端渲染的方式做过几个。最新的一个,则是一个带 React 前端的 API 服务器。

  2. 存储: 一开始我用 git 仓库里的纯文本文件,后来换成了结构简单的 SQLite 数据库。最新版本则是一个在 SQLite 基础上实现的、堪称前卫的面向对象超媒体数据库,支持双向链接。

  3. 标记语言: 我断断续续用过 Markdown。后来我自创了一门受 TeX 启发的标记语言。再后来我试了 XML,效果好坏参半。最新版本用的是基于 ProseMirror 开发的所见即所得(WYSIWYG)编辑器。

但我却并不用这些工具。为什么呢?诚然,创造它们的过程充满乐趣,但一个个人数据库总得有点实用价值吧。

起初我以为问题在于「阻力」:使用一个工具所需的启动能量越高,你使用它的可能性就越低。哪怕只有一点点阻力,都可能让我觉得,哦,谁在乎呢,懒得折腾了。因此,我的每个新版本都朝着更「顺滑」的方向改进[2]。最新版本用上了基于 ProseMirror 构建的所见即所得编辑器(我可是做了巨大的思想斗争才向所见即所得妥协的)。它还内置了通往每日笔记页面的链接,让写日记更方便。唯一的阻力,就只剩下点击浏览器书签访问 localhost:5000 了。从打开到进入每日笔记,毫不夸张地说,只需两次点击

可我还是不用它。这又是为什么?比起几年前,我现在做事有条理多了。我的文件系统结构清晰,所有文件都各归其位。我完全有能力去填充个人维基的内容。

我最终得出结论:这毫无意义。因为个人维基能做的所有事,用专门的应用都能做得更好,而剩下那为数不多的用途又根本没用。我们来逐一分析。

拆解

以下这些使用场景,都很自然地可以分离开来:

那还剩下什么呢?

规模的无用性

我常常好奇:别人都用他们的个人知识库做什么?于是我翻阅博客和论坛,看那些 ObsidianRoam 的重度用户分享他们的配置。结果我看到的大多是些垃圾玩意儿。这些系统从来没能成为下一个范内瓦·布什的卡片盒笔记法(Zettelkasten),而总是一套安装了几十个插件、每日笔记长达三页、又细分成五十个子页面来记录生活中各种鸡毛蒜皮琐事的臃肿系统。这简直是通往「倦怠」的捷径。

人们心中总有一个雄心勃勃的想法,渴望构建一个庞大到令人窒息、内部盘根错节的知识图谱,以至于它几乎能映射出他们大脑中的每一个独立概念和记忆。我能理解这种极致主义的诱惑。但他们完全算错了账。你知识图谱里的每个节点都是一笔负债。每条链接的负债更是加倍。你拥有的越多,你的赤字就越严重。每一个真正有用的节点——书中有趣的摘录、精辟的引言、一首诗、小说的片段、几句能萌发成未来文章的句子、作为项目起点的链接列表——都被淹没在平庸的汪洋大海中。我们的大多数念头都是转瞬即逝的,这自有其道理。

唯一图谱的谬误

有一种普遍的观念认为,思想工具——一种带有双向链接的超媒体数据库——可以成为一个关于「你」的通用数据库,其他应用则可以通过插件构建在这份数据之上。这么做有两个好处:

  1. 数据集中化: 所有东西都集中存放,而不是散落在你的文件系统、Dropbox 以及六个不同专有应用的数据库里。

  2. 无处不链接: 你可以随心所欲地链接你的数据:

    1. 将间隔重复卡片链接到相应的理论笔记。
    2. 将日期元数据链接到当天的日记。
    3. 将日历事件链接到任务、日期、人物和项目。

Obsidian 就是这么做的:为此它拥有大约 700 个插件。有待办事项清单插件、日历集成插件、间隔重复插件,应有尽有。

其主要缺点在于,这个基于插件的应用生态,其用户体验永远比不上那些为特定领域量身打造的应用。很少有应用能把插件系统做好。体验总是很蹩脚[7]。

但最主要的缺点是:你根本不需要它。将所有数据用超链接串联成一个巨大图谱,这个想法很美好,但在实践中,完全没有必要。各种信息在独立的应用程序里待得好好的。扪心自问,你有多频繁地需要把待办事项清单里的一个任务,链接到 Dropbox 里的一个文件?即便你真的构建起了这个庞大的链接网络:每条链接被实际访问的频率又有多高?

(题外话:在互联网上,链接反映的是潜力,这合情合理,因为你不知道读者会想点开什么。但在个人数据库里,链接更应该遵从于使用:它们应该是你实际探索路径的凝练,而不是你在使用前就强加于系统的预设结构。)

反对这种做法的最后一个论据是可行性。Tiago Forte 写道

……你总是需要用多个程序来完成项目。你也许会用像 Basecamp、Asana、Jira 或 Zoho 这样的中心化平台,但技术在太多前沿上发展得太快,没有任何一家公司能在所有功能上都做到最好。

他说得完全正确,除非你想基于你的思想工具重写整个世界。所谓的「唯一图谱数据库」是一种毫无产出、一元论式的执念。

最后补充一点:我发现自己维基里超过 80% 的链接本质上都是结构性的,它们基本只是在模拟文件夹结构。其余的则是「随手引用」式的链接:比如我写日记时提到正在做项目 X,于是出于一种模糊的责任感,我得把东西都链接起来,就加上了项目 X 的链接。这毫无意义。

那种认为超链接具有「启发性」,可以顺着它在信息的随机碰撞中发现新想法的观念,主要适用于互联网,而非内容全由你一人编写的个人数据库。

我目前的维基

(图中的文字引自《渐速:Crescendo》。)

大多数思想工具的自然演化终点,是一个支持将富文本作为列类型的关系型数据库。所以我做的基本上就是这个:一个基于 SQLite 的面向对象图数据库。

我目前的个人维基叫 Cartesian(名字来源于笛卡尔剧场,因为我最初的设想要宏大得多)。其核心概念很简单:对象、类和链接。

  1. 对象是数据库中的节点:它们有全局唯一的标题和一组属性,属性是带类型的键值对。


  2. 每个对象都遵循一个类,类定义了它拥有的属性及其类型。属性类型可以是:富文本、文件链接、布尔值、到另一个对象的链接,或链接列表。


  3. 链接从一个对象的属性指向另一个对象(不支持块引用)。这部分很多灵感来自 Notion。

大多数个人维基只是这种模式的一个特例,即只有一个类,且该类只有一个文本属性。所以毫不意外,我最常用的类是 Note,它只有一个名为 Text 的富文本属性。

起初,我想为管理书目和其它收藏创建不同的类,例如:

  1. 一个 Book 取代 Calibre的类,包含如下字段:

    1. Authors:一个指向作者对象的链接列表(得益于双向链接,访问作者页面时,会显示所有链接到该页面的对象,即该作者的所有作品)。

    2. PDF:一个文件链接。

  2. Paper 类,用来取代 Zotero,包含你所期望的字段。

  3. Art 类,用来管理我的艺术品收藏,包含 艺术家年份时期流派文件等字段。

  4. 一些用来组织法律文件的类,比如一个 Document 类,包含一个文件属性和一个用于备注的文本属性。

但我绝大多数时候只是用它来写日记和一些简短的文本笔记,比如我的日记:

以及学习笔记:

下面这个例子展示了如何用它来组织艺术品收藏:

将它作为「唯一数据库」的障碍在于:

  1. 启动成本: 将所有东西从我的文件系统、Calibre、Zotero、浏览器书签等处迁移过来,是一项浩大的工程。哪怕只是把 Calibre 的数据迁移过来,都得写个脚本才能完成,因为我的 Calibre 书库实在太庞大了。

  2. 用户界面: 要想取代文件系统和我大部分的专用应用,这个维基的用户界面必须做到顶级。它需要支持搜索、筛选、排序,以及用不同模式(列表、表格、画廊等,就像 Notion 那样)查看对象集合。要将用户体验打磨到那个「顺滑」的最佳平衡点,从而能高效地使用,需要投入大量时间。

  3. 整理工作的徒劳无功: 我的 Calibre 和 Zotero 书库都乱七八糟。但这很糟糕吗?整理它们有意义吗?我总能找到我需要的东西,要么通过搜索,要么通过浏览,因为我对每本书在 Calibre 那个大网格视图里的位置有种空间感。就算我把 Calibre 和 Zotero 里的所有条目都过一遍,修正标题、补上缺失的作者、出版商、出版年份、修复封面图片——然后呢?我得到了什么?什么都没有。过度整理纯属浪费时间。

  4. 不确定的回报: 银弹难寻。很可能,在我倾注巨大努力迁移完所有数据并构建出一个精美的用户界面后,结果却仍然不尽如人意。

结论

在抵达「幻灭的低谷」之后,下一步该怎么走?我想,我也许会把 Cartesian 整理一下,将它作为一款「通用版 Calibre」发布,献给那些想要管理自己各种零散收藏的人。

又或者,我可能会着手写我的第八个个人维基。毕竟,在写这篇文章的时候,我又冒出了一大堆新点子。所以,我大概会在假期里匀出点时间,重操旧业,再次把那块巨石推上山顶。


脚注

[1] 上大学那会儿,我本该复习课堂笔记,却跑去构建个人维基,好让自己能记下更好、更结构化的课堂笔记。

[2] 举个例子:XML 能让强迫症的我感到舒适,而且它的可扩展性也让添加新功能变得更容易[8],但写起来却痛苦不堪,尤其是当你只想快速记下几个要点时。用 Markdown,你只需写:

- foo
- bar
- baz

而等效的 XML 却是:

<ul>
<li>
<p>
foo
</p>
</li>
<li>
<p>
bar
</p>
</li>
<li>
<p>
baz
</p>
</li>
</ul>

等你敲完这莎士比亚式的冗长独白,你最初想记录的思路早就烟消云散了。与此同时,在另一个埃弗雷特分支里,你那个更聪明、使用 Markdown 的分身早已写完笔记,并着手干正事去了;而你却还在惊叹于你的 DTD 模式那水晶般的严谨和**极致的可扩展性**。

[3] 有时,为了理解某个事物,我会用一张小草稿纸来梳理我的心智模型,直到弄懂为止,然后再把它做成抽认卡。但这里的关键区别在于:这个过程没有两大阶段,不会先写完所有文字笔记,再把它们全部转成抽认卡。这就像敏捷开发与瀑布模型的区别:笔记应该尽早变成抽认卡,而不是等到所有笔记都记完之后再动手。

[4] 这篇博文极好地阐述了层级文件系统的困难与局限。

[5] 如果你打算建议我用符号链接,或者——饶了我吧——某些基于 FUSE 的标签文件系统之类的东西,求你千万别。我这可是满怀善意地忠告你。我已经不是 17 岁的愣头青了,没时间在那折腾:「妈,帮我把今天剩下的事都推了,我的 ZFS 又崩了!」。我不希望我的思维工具是个内核驱动程序,我只想要简单和便携。

[6] Notion 在这方面其实做得不错,只可惜要一个个上传好几 G 大小的 PDF 文件实在太不方便了。但如果一个工具要成为我的「第二大脑」,那它就不能寄存在别人的电脑上。

[7] 我正是因此从 Anki 换到了 Mochi:Mochi 开箱即用的功能,在 Anki 里需要插件才能实现,而管理 Anki 的插件极其痛苦,插件的用户界面还老出问题。Mochi 功能虽少,但界面更美观(Anki 简直丑得惨不忍睹)。而界面体验胜过功能数量,因为间隔重复的关键在于培养习惯,为此,良好的用户体验必不可少。

[8] 我的某个个人维基就利用了这一点。它有个 <graphviz> 元素,你可以在里面输入 .dot 文件的内容,它就会自动渲染成 PNG 图片并显示在页面上。理论上,这能让你更轻松地创建思维导图之类的东西,而不必先单独创建 .dot 文件,再手动存为 PNG,然后添加到维基里并嵌入。然而我一次也没用过。


Thoughts Memo 汉化组译制
感谢主要译者 gemini-2.5-pro,校对 Hyatzy、Jarrett Ye
原文:Unbundling Tools for Thought

专栏:Thoughts Memo的文章


← 返回目录