你是如何记笔记的?
当你需要记录一条笔记时,你可能会先打开笔记软件,找到一个合适的文件夹,然后在那里创建一个空白页面,先想一个合适的标题,在正文中写下笔记的内容,然后关闭应用程序。我从 16 年开始就是这样在印象笔记中写笔记的。这样做是没问题,但是过一段时间后,你会发现文件夹的组织方式是极其痛苦的,你无法事先规划出一个能包容所有笔记的分类体系,你也无法在一条笔记同时属于多个文件夹时做出合理的抉择。
8 年来,我尝试过很多 PKM 软件。Obsidian 虽然增加了双向链接,但本质上依然是以文档为基础,通过文件夹和标签进行组织。Roam Research 和 Logseq 对我来说又太过于自由。我无意评判这些软件的优劣——我曾经也为之着迷,毕竟存在即合理——只是它们不再适合我了,或者说我不再适合它们的模式。
面向对象记笔记的新范式
在编程领域,面向对象编程(Object-Oriented Programming,OOP)是一种重要范式,其核心思想是将现实世界的问题抽象为程序中的对象。与之类似,在最近几年的 PKM 领域中,出现了一种新的笔记范式 —— 面向对象记笔记。据我所知,基于这一理念的应用程序有 Tana、Capacities、Anytype 等。它们在具体实现上有所不同,但核心思想都是将笔记视为对象。
以我深度使用的 Tana 为例,在 Tana 中,一个对象(Object)就是我们所熟悉的笔记,它有一个标题、一些属性、可以写内容的地方(正文)和一些方法(Method)。所有的对象(笔记)都可以有一个类型,它可以是人物、事件、任务、会议记录、项目、想法、备忘录等等。
曾有 B 站的网友问我 Tana 和 Capacities 的区别时,我当时没有回答,后来仔细想了想,Tana 的对象是可以有方法的,这也体现了我的另一个笔记思维——知识是可计算的。
如果我们试图观察自己的思维模式,会发现大脑倾向于将物理世界中的事物分类为一个个对象。 看一下周围,你会看到人、杯子、书、电脑、Word 文档和你现在正看的这篇文章——这些都是实际的对象。面向对象记笔记正是基于这种思维模式。
想象一下,当你打开笔记软件时,无论在哪个页面——通常我会在 Daily note 页面中记录一切——你可以在任意节点(Tana 采用大纲结构,每个小黑点就是一个节点,也称为 Node)上记录内容。畅快地写完之后,想一想,你刚才记下的内容是什么类型:是一个需要去完成的任务、一个会议记录、一个想要弄清楚的问题或者只是一个拍脑袋冒出来的想法?打上一个超级标签(SuperTag),就能将刚才记录的内容转换成一个对象。
你记下的东西总是会属于某一种类型的对象——至少到目前为止,我还没遇到不可描述的无法归类的内容,要不然,你为何要记呢?
以会议记录笔记为例
假设你要参加一个项目研讨会。你在 Daily Note 的任意节点下,写下“火星移民项目研讨会”,然后打上「会议记录」的超级标签,就会得到如下结构化的笔记。

当你在“火星移民项目研讨会”上打上「会议记录」的超级标签时,它就从一个普通 Node 节点变成了一个会议记录对象,并根据预设自动添加了日期、参会人员、会议议题的属性。这样,你就得到了一个结构化的笔记,无需每次都试图手动创建相同的结构了。
属于多种类型及不分类的解决方法
这不仅改变了你的记笔记方式,更会影响你的思维方式。
你不再从一个空白的页面开始,只要确定了一个对象,你就拥有了一个帮助你捕捉信息的结构。事实上,在 Tana 中,每次创建一个笔记时,我们都可以选择它的身份,可以是一个任务、一个人物、一个知识组件等等。当然,如果你就想单纯地将其当作草稿纸记录些什么,你可以不设置任何的超级标签(放弃将其转换为对象),这样做也是可以的,只不过以后再想找到他的时候,只能靠搜索了。
还有一种情况,就是文章开头提到的,一则笔记既属于 A 又属于 B,该怎么办?
虽然这类情况很少,但对于肯定会出现的问题我们无法逃避。没问题啊,我们可以给一条笔记打上多个超级标签,让它拥有多个类型、多个属性,比如说“Tana 是面向对象笔记的新笔记范式” ,它既是一个选题,又是一个待完成的任务,我们就给它同时加上「选题」「任务」两个超级标签即可。这样,未来使用它的时候,它既可以出现在选题的聚合分类中又可以出现在任务的分类中,这样挺好!

不再需要文件夹进行组织
关于笔记的组织,我的理念是:笔记是给未来的自己准备的,只要它能在需要时自然地出现,就足够了。
你可能已经注意到了,我们创建了很多对象(笔记),但没有将它们安排到文件夹中进行组织——因为 Tana 中压根就没有文件夹这个概念。你不用再费心对每条笔记进行分类,相反,这些创建好的对象会自动聚合在一个地方,或者说,会出现在你需要它们的任何地方。
Query 查询聚合笔记
在 Tana 中,Query 查询功能可以将我们需要的对象聚合展示,可以根据其属性进行筛选,可以使用不同的视图——列表、表格、卡片、看板等进行展示。比如我可以将所有的观点笔记都聚合在一起,方便我查看和思考。

同时,它们也可以自动出现在我关注的问题下方,作为写作素材。

注意:那个 Query Builder 的窗口是我故意展开给你看的。
笔记是用来使用的,它应该出现在你需要的地方。个人知识管理的目标不是整理世界上所有的知识,因此你也无需预设一个涵盖所有知识的文件夹体系。 不是吗?
双向链接网络化笔记
在我看来,Tana 集合了 Roam Research 和 RemNote 的长处,既有细粒度的"万物皆 Node"架构,又有更胜一筹的双向链接功能——当然,这是见仁见智的。
在 Tana 中,我们可以使用双向链接将两条笔记进行关联,相当于给这些笔记增加了发现路径,这让找到某条笔记变得更加轻松。你可以很方便地将另外一条笔记链接到当前笔记的正文中、属性中,让它们形成关联。
在正文中进行关联:

在属性中进行关联:

进入王德发的节点,在「Reference」区域的下方,你会看到两种关联方式的不同。

不,这还不够,Tana 有一个「上下文内容」的功能,允许你在引用某一个笔记时,可以通过上下文内容向该笔记添加内容,而不改变原笔记本身。
注意:红框中的内容,是我们通过“王小花的爸爸是王德发”这个节点向“王德发”添加的上下文内容。

回到王德发笔记中,上下文内容出现在正文中,但与本身的内容是有所区分的。

这不是一篇详尽的教程,所以就暂且介绍到这里。如你所见,即使不用文件夹进行组织,我们也可以通过 Query 查询、双向链接,让笔记更好地出现在我们需要它们出现的位置。 如果有一些内容,你没有添加超级标签将其转为对象,又没有将它和其他的笔记进行关联,你还可以使用搜索来找到它。
总结
我们使用 Query 查询聚合笔记、使用双向链接关联笔记,只是改变了笔记显示的位置,而并没有改变它存放的位置。从这个角度看,我们没有对笔记进行传统意义上的组织。你需要做的只是问自己两个问题:
- 我记录的这个内容是什么?
- 我未来想在哪里看到它?
这就是我的面向对象笔记范式,一种无需刻意组织笔记的方法。希望这些思路能给你带来一些启发。