Matrix 精选

Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。

文章代表作者个人观点,少数派仅对标题和排版略作修改。


引言

经朋友推荐,我在今年二月注册试用了 Roam Research。虽然当时就已经有 文章 在提所谓的「文本复兴」、「Textopia」等概念,并将 Roam Research 列为这一转变的四架马车之一(如果你好奇的话,另外三架马车分别是 Substack、静态网站与 Threaded Twitter),但在实际的试用过程中,我却似乎并没有感受到太多惊喜,甚至还一度以为它只是另一个类似 Dynalist 的笔记应用。但经过几个月的持续使用,我也慢慢体会到了 Roam Research 的价值与魅力,于是便有了这份报告,以供各位朋友讨论。

在这份报告的第一部分,我将从 Roam Research 这款工具的定位与基础信息入手,不仅将会介绍这一工具本身的功能特色,而且更重要的是,我也希望能分享自己对这些功能及其价值的理解与阐释。虽然按理说这部分内容可能应该放在实际操作方面的内容之后,以免还不会用的朋友感觉莫名其妙;但我确实认为,如果可以先聊聊理念,或许能提前理清思路,让 Roam Research 变得更加趁手。

工具定位

Roam Research是什么?

那么,Roam Research 究竟是个什么东西呢?

在 #roamcult (Roam Research 的狂热爱好者圈子)的信徒们看来,Roam Research 是我们的「第二大脑」,也是一款知识管理工具、个人维基站点、任务管理器、甚至是 CRM 应用,可以说是充满了想象的空间。但在 Roam Research 的官网上,他们对自己的介绍却非常简单直接,只用一句话「A note-taking tool for networked thought」(一个服务于网络化思想的笔记工具),便点出了问题的核心——网络化思维。Roam Research 指出,人类大脑中的想法一直是相互关联着的,并会形成一种类似网络的结构。但传统的知识管理工具,却总是基于一种文件夹式的层级结构。这两种结构之间的冲突,造成了知识管理领域的许多根深蒂固的问题(比如对信息的复用率低),而他们所做的这一工具,正是为了解决这些问题而存在的。

既然如此,那么 Roam Research 究竟和我们已经知道的一些工具,比如 Evernote、Devonthink、Notion、以及其他个人维基工具有什么不同呢?另外,更重要的是,如果 Roam Research 是为了要帮助我们在大脑之外建立第二个知识网络的话,那么为什么这种网络形态是重要的?(或者更直接地说,为什么在两个甚至更多的知识节点之间建立链接是重要的?)

要回答这些问题,我们可能得先聊聊信息管理这件事。

信息管理刍议

今天,越来越多的人都在从事某种形态的「信息工作」,无论你是咨询师、投资经理、艺术家、教师、创业者、还是自媒体人,我相信你的工作中肯定有一大部分会涉及对信息的管理。这些信息种类纷繁多样,可能来自外部,也可能来自内部;可能需要你接收,也可能需要你发布;可能针对群体,也可能针对个人;可能是类似某件商品的报价这类具体的信息,也可能是什么时候需要某类报价这类关于信息的信息。而我们对信息的处理也就至少涉及收集、整理、查询、使用、修改等操作。同时,面对越来越多的信息,我们也势必需要将自己需要的大部分信息转移到「第二大脑」中去。

由此催生了各种各样相应的工具,比如笔记应用 Evernote、文件管理工具 Devonthink、GTD / 效率工具Things 、包括更近一点的 Notion 等都可以算是这个领域的参与者,但显然它们所针对的问题都不尽相同。所以,为了更加准确地定位 Roam Research 在庞杂的信息管理版图中的位置,我做了下面这张示意图。

信息管理示意图 © 宽治

在这张图中,我将「信息管理」大致抽象地总结为这么几个环节:

  1. 世界蕴含着所有的信息。
  2. 通过收集,我们可以获得其中一些信息。
  3. 这些信息经过大脑进行消化与理解。
  4. 被大脑消化了的信息,可能会形成某种知识。
  5. 在我们进行一个项目的时候,大脑负责指挥、信息负责知会、而知识则负责塑造项目。
  6. 项目会产生结果,并返回到现实世界中去
  7. 在这个过程中,知识也会随之进行更新。

这里存在几个基础的核心理念,也许值得略作强调:

  1. 信息不等于知识。我们常常会陷入一种「收藏家谬误」(The Collector's Fallacy),误把收藏当作阅读,甚至误把知道(know about something)当作了掌握(knowing something)。但实际上,信息只有经过消化、理解、实践甚至修正之后,才能成为真正能为我们所用的知识。
  2. 我们所掌握信息与知识都需要不断地进行更新。政策法规可能会有修订,科学技术可能会有革新,我们所信奉的东西也可能会在明天被完全颠覆。我们需要掌握一种判断与终身学习的能力。
  3. 重视并应用你的知识积累。有些人每次写文章都要重新搜集素材,但另外一些人却总是有一堆素材等着他们来写,这里的区别很大程度上就是来自对自己积累的应用能力。虽然信息与知识一直在不断更新,但经过你消化与实践的知识仍然是一笔宝贵的财富,应该积极在日常工作与生活中对其进行应用。面对各种噪音,这种精心筛选更加值得珍视。
  4. 信息管理的关键与难点,就在于「收集信息的零散性」与「理解、使用信息的系统性」之间的张力。我们需要建立零散信息之间的系统性关联。

前文提到的各种应用,虽然都在一定程度上跨越示意图上的多个环节(Notion 甚至号称「All in One」),但它们其实也各有专长。在我看来,Devonthink擅长整理本地资料库,Evernote擅长搜集现有信息,GTD擅长项目管理,Roam Research 则擅长笔记写作,而他们都希望能够提高使用者的「生产效率」。

而为了实现更高的生产效率,无非有两个方法:一是在原来的道路上跑得更快,二是换一条更短的通路。而在笔记写作这件事上,Roam Research 可能是属于第二种。

所以,Roam Research到底是什么?

结合上面的分析,如果让我给 Roam Research 重新下一个定义的话,我会认为,Roam Research 是目前最符合 Zettelkasten 方法的知识(再)生产工具。

「Zettelkasten」(卡片笔记法)是德国学者尼克拉斯 · 卢曼(Niklas Luhmann)总结的一套记录、组织和管理知识的体系/方法。卢曼正是通过这样一种简单且很容易标准化的流程实现了极度高效的知识管理,并启发了后来的 P.A.R.A 等方法。简单来说,这种方法以「知识卡片」为核心,每张卡片上都会包括两部分内容:一是希望记录的知识及其编号,二是与这一知识相关的其他卡片的索引。而在 Roam Research 上,正好每一个页面也都分为两个部分:上半部是页面本来的信息,下半部分则是与这个页面有所关联其他页面的信息。借助 UI 在排版与分栏方面的设计,这两类信息在 Roam Research 上的显示是非常清楚的。此外,因为所有页面都没有长度限制,也就完美解决了卢曼物理卡片的局限。

而「知识(再)生产」(knowledge (re)production)想要说明,Roam Research 侧重的是知识的生产与利用,而不是信息的搜集与保存。之所以用「知识(再)生产」这个概念,是因为只用「笔记」这个词可能是不够准确的,Roam Research 强调的是笔记中的「写」以及笔记写完之后的「用」。对此,他们自己也曾解释说,「我们相信,写作是思考的工具。如果我们可以打造一款工具,来帮助人们更有效率地写作与组织思路,那么我们就可以帮助他们想出更好的主意、解决原本难以应付的问题。」(We believe that writing is a tool for thinking. If we can build a tool for helping people write and organize their ideas more effectively, we can help them have better thoughts and solve otherwise intractable problems.)而目前 Roam Research 在笔记的捕捉与保存(比如 web clip)方面的笨拙,反而鼓励用户在使用时更偏重输入而不是复制粘贴。

虽然,如前文曾提到的那样,你完全可以在 Roam Research 上做任何你觉得它可以完成的工作,有很多人确实也正是这么做的 。但如果真的硬要在 Roam Research 里做 Spaced Repetition 这类的操作,感觉真是大可不必。所以,考虑到 Roam Research 的特性及其与其他应用之间的差异,我仍然会认为,只有在记录、管理、使用你所生产的知识时,它才能发挥出最大的功用。

核心功能与特色

有鉴于此,Roam Research 也相应地搭建起了一套与其定位相匹配的功能,现略作整理如下。

页面——随时可以开始

每次登录,Roam Research 都会自动为你创建一个以当天日期为名的页面,而你马上就可以开始写了。当然,你也可以在「All Pages」里,像平时那样创建新的页面,并为其命名。此外,在写作的过程中,无论任何时候,你都可以用 [[]] 来关联另一个页面,而如果你试图关联的页面并不存在,那么系统就会自动为你创建这个页面。

可以说,在 Roam Research 里,写作是被鼓励的。而这种鼓励就体现在几乎没有任何心理成本的页面机制之中。因此,有人才会认为 Roam Research 也是用来做「间歇式日志」(interstitial journaling)的好工具,可以大大降低记录的成本。

Block——结构化的卡片

在 Roam Research 的页面上,内容是以 Block 为单位进行保存的,同时这些 Block 之间又可以形成无限的层级关系,并表现为一种有序或无序列表的形式。

在有些产品(比如幕布)中,这种结构化的笔记方式,会被称作「大纲笔记」。但 Roam Research 的特别之处则在于它的 Block 机制:虽然我们在写作的时候,仍然是按照层级、由高向低地进行记录,但每一个层级上的内容在 Roam Research 上都是可以单独成立的一个 Block。也就是说,Block 被定义为内容的核心,并且每个 Block 都是独立的,而层级位置只是处于同一个列表中的 Block 之间的一种默认关系。

为了强调这一点,在列表的任何位置,用户可以通过点击列表记号,使该位置的内容以页面的形式进行展示。但同时,在这个页面上书写的任何内容,又都会自动形成新的、位于下一层级上的 Block。

所以,我们不妨把 Roam Research 上的 Block 想象成一种卡片,一方面它可以表达一个完整的意思,另一方面它又足够小,使得它内部不再细分下级结构,而是让下一级的内容变成新的 Block,再附加上相应的位置信息。在 Roam Research 中,用户的每次回车,都会强制将新的信息切分为一个新的 Block/卡片。

甚至更极端一点来说,在 Roam Research 上,页面就是大一点的 Block,而 Block 就是小一点的页面。这一点虽然感觉在呈现上差别不大,但在下面的内容里,我将会解释这一点小小地转变将会带来多么巨大的效益。

标签——分类的美梦与噩梦

Roam Research 支持两种标签:[[tag]]#tag 。虽然两者的显示效果不同,但其核心都是创建了一个名为「tag」的页面。那么为什么还要区分这两种标签呢?从经验的角度来讲,#tag[[tag]]的另一个区别就在于,双方括号里的内容一般本来就是某个句子或段落的一部分,提供阅读本身所需的一部分信息,且中间可以有空格;而 # 后的内容常常是附加的内容,本身常常不在文字中承担具体的角色,且中间不可以有空格(但是可以用#[[tag tag]]的组合来实现)。举例来说,我的一份讲座笔记可能会包含下面的内容:

情绪不是一种[[道德]]真空,而是包含着对[[情绪对象]]的价值与[[道德[[认知]]]]。 #note #lecture

在这里,[[情绪对象]]等标签都是句子的一部分,而#note则主要是对整个句子进行分类。

结合上文对「页面」的介绍,细心的读者也许不禁要问:如果 [[tag]] #tag 都会生成一个页面,而这个页面又是一种标签的话,那岂不是所有的页面也都成了标签?在Roam Research 中,内容到底是如何分类的?

可以说,我们对信息/知识最重要的「管理」,就是「分类」。之前,人们常用的是前文提到的「文件夹结构」,也即创建许多不同的文件夹来代表不同的分类,再把信息分门别类地放入这些文件夹。

但这样的分类方法会产生很多问题。首先是分类的标准很难统一,即使是参照图书馆或博物馆的分类系统,也总有难以归类或归类不合适的问题。其次,很多信息的归类其实是非常 contextual/contingent 的,也就是说,该信息所属的类别可能会根据不同的情况而发生改变。比如对一篇文章来说,我就完全可以根据不同的场景把它放入「已读」、「有价值」、「参考」、「政治学」等分类中。第三,我们在存储和提取信息时,对分类的判断与思考存在很大的不同,而如果某个信息被存入一个文件夹,就可能经常会出现找不到的情况。

于是,早几年曾兴起过以标签取代文件夹的趋势。但如果我们仔细想一下的话,标签的核心思路与文件夹其实是差不多的,它们都是试图将信息抽象化地归入某个类别,区别只是标签可以更加方便的把同一份内容放进多个文件夹之中而已。

而在 Roam Research 中,任何页面都可以是一种分类的标准,而且这种分类标准是中性的,与语境无关,判断的唯一标准就是两个页面之间的关联关系。也就是说,任何页面都可以被用来汇总所有与之关联的其他页面。因此也就彻底取消了之前那种稳定的分类系统,转而关注信息之间具体的链接,使分类变成一种动态的过程。

所以说,在 Roam Research 中, [[tag]]#tag 的区别其实并不重要。而真正重要的,是打破了页面与标签的区分,把分类内建为一种筛选过程,并通过「双向链接」将与某个页面相链接的其他页面查找并汇总出来。

双向链接——一种全局变量

在 Roam Research 中,上文提到的信息关联是由「双向链接」(bi-directional link)这个功能实现的。而这个功能由两个部分构成:首先是建立链接或者说是一种引用。这其实非常类似我们所熟悉的超链接,而且在notion或者wiki类工具里也有类似的功能,但这种链接一般总是单向的;其次就是在创建链接的时候,在被链接 / 引用的位置上,自动生成指向原引用位置的链接,也即所谓的「双向链接」。

具体来说,在 Roam Research 页面上的任何位置,你都可以通过双方括号[[]]来引用另一个页面,生成双向链接,并在 Graphic Overview 中创建两个页面之间的连线。因此,说起 Roam Research 里的「双向链接」,很多朋友都会以双方括号或连线图为例,但我却认为,「双向链接」最强大的功能其实是通过「Block + 双圆括号」来实现的。

上文提到,Roam Research 默认列表结构的核心,就是把每一个 bullet item 变成一个 block,而每一个 block 又都有自己独立的地址,可以被引用。也就是说,每一个 block 都可以保存五项信息:1. block 本身的内容;2. block 所在位置的层级关系;3. block 的地址;4. block 引用的其他 block 的地址;5. 引用了该 block 的其他 block 的地址。

那么,在实际的使用中,上述五项信息可以实现的效果就是:用户输入的每一个以回车为分隔的段落,都可以在别处被复用;反过来说,用户在写作时也可以随时引用之前自己已经写过的段落。同时,任何针对这一被引用的段落的修改,都会在所有引用了这一段落的地方自动保持一致。这种效果类似某种全局变量:一处修改,处处更新。

我认为,这才是双向链接真正强大的地方:既建立了信息的关联,又可以轻松地保持信息的更新。

双方括号与双圆括号——信息与引用的层级

言至于此 ,我们不如再换一个视角来理解双方括号与双圆括号的异同。

简单来说,两者相同的地方就在于,它们所建立的都是「双向链接」。而它们不同之处则包括:1. 双方括号对应的是页面,双圆括号对应的则是 Block。不管你在一个页面的哪个位置用 [[]] 引用了另一个页面,这两个页面的整体之间就会被链接起来。但如果你引用的是一个 Block,那么只有被引用的 Block 的内容,会在引用的 Block 中进行显示。因此,双圆括号是定位更精准的引用。2. 双方括号的引用默认只显示标题,而双圆括号默认显示block的内容(参考之前提到的卡片最小信息原则,你也可以认为,Block 的内容就是它的标题)。3. 页面之间的链接会在 Graphic View 中进行显示,而 Block 之间的链接则不会(我对此也有一些意见,详见后文)。

这就是引用的层级,而引用的层级又是建立在信息层级的基础之上。这包括几方面的内容:

第一,信息本身的层级。我们都知道即使所有信息都会以文章/页面 的形式出现,但有些页面上的内容实际是比其他页面上的内容拥有更高信息层级的。比如,一篇文献综述就可能会提纲挈领式地将许多其他页面上的内容进行总结,那么这种总结往往就会拥有比被总结的信息更高的信息层级。在 Graph Overview 中,这些拥有高信息层级的 页面 往往表现为拥有更多的链接数的节点。(这里引申说一下,「高信息层级」与「高信息价值」之间并不一定可以划等号。如果你真的去研究自己的 Graph Overview 的话,拥有最多链接数的节点很可能是代表你关注的某个领域的标签或是某个特别高产的日期。另外,Index 是不是更有价值,估计也是见仁见智。)

第二,页面 与 Block 之间的层级。如果一个页面代表一篇文章的话,那么 Block 就是文章中的段落。但因为双方括号的存在,Roam Research 上页面与Block 之间的层级关系是非常模糊的,任何 Block 都随时可以变成事实或功能上的页面。

第三,Block 之间的层级。这个其实没啥好解释,就是一篇大纲笔记里的层级关系,大致遵循一种总分式的树形结构。这位唯一要提一句的是,Block 的层级关系其实也是 contextual 的,同一个 Block 可能会在不同的文章中占据不同的层级位置。

因此,可以说,在建立信息的关联方面,Roam Research 真正的创新,并不在于双向链接(毕竟这个功能其实早就实现过了,现在也有别的工具可以实现),而在于实现了 Block 这一层级上的双向链接。

Graph Overview——寻找新的节点机会

上面提到了「双向引用」这个概念,那么每次引用实际就在信息之间建立了一条链接。如果我们把一条信息视作一个节点的话,那么引用就是节点之间的连线,而Graph Overview就是把这些节点与连线所构成的网络以一种图形化的方式呈现出来。

从视觉上看,Graph Overview 和我们熟悉的思维导图有些类似,但其实两者之间也存在着重要的差异。首先是节点的层级不同。其次是连线代表的意义不同。Graph Overview 的连线代表内容的关联,思维导图中的连线从道理上讲,应该也是这样,但受到这个导图工具本身的限制,实际应用中,连线更多代表某种逻辑关系,且常常是「总分关系」。也正是因为这个原因,将任何结构化的大纲笔记转化为思维导图,其实都非常简单,但意义有限(no offense though)。

如果我是开发者的话,那么下一步我可能会把 Graph Overview 改成 Graph View,并为这项功能增加视图的层级选择,使它不仅可以概览(Overview),还可以细览。再下一步的话,我可能还会加入 filter/focus 视图,彻底打破页面的限制,改为以链接为视图中心,串联更低层级的信息。

这种开发思路显然受到了我对信息网络图价值的理解的影响。因为,我认为,Graph View 绝对不应该只是为了「好看」,而更应该承担起一项非常重要的角色:寻找新节点机会。目前对信息网络图的使用主要是侧重「对抗遗忘」与「加深理解」,但作为知识工作者,我们其实更希望能够「创造新知」。而何为新知,其中一种理解就是创造新的排列组合。

如果我们可以从网络图中发现某些节点之间存在联系,但它们之间的链接却呈现某种「低效」的话,那么这里就可能存在新的「节点机会」。也就是说,如果这个时候增加一个新的节点,能够使访问其他一系列节点的路径长度大大缩短,那么也许这就是一个新的节点机会,因为增设这一节点可以提升整个信息网络的访问效率。

小结

这是 Roam Research Report 的第一部分。在这一部分,我希望能向读者介绍 Roam Research 这款工具的定位及其核心功能,并侧重阐述了我对这一工具的理解。很希望能对大家有一点点的帮助,也欢迎各位多多指教。

祝好!

宽治

2020年6月

关联阅读:

> 下载少数派 客户端 、关注 少数派公众号 ,了解更精彩的数字生活 🍃