观点:破除对「双向链接」的迷思

2021-11-13 17:21:30 +08:00
 sillydaddy

对「双向链接」的迷思


从 v 站最近的发帖,可以发现「双向链接」的笔记方法火了。这篇文字,也是我在 Obsidian 软件中敲出来的。但我是来灭火的。

先从「双向链接」这个核心概念开始。

提到双向链接,曾经我头脑中幻想的场景是:维基百科式的关键词(句)链接,每篇文章的某些概念,都可以分别引出另一篇文章来解释它。最初我被这个概念吸引,是注意到它明显的「网状」结构。

我曾“深情地”写下:

现在我有点抓住 Obsidian/RoamResearch 这类知识管理软件的精髓了:它们的“双向链接”,就像 git 的分支一样,是最关键的功能定位——让创建“链接”(或者说“引用”),变得和 git 创建分支一样简单自然。而它们的竞争者,虽然也能实现同样的功能( svn 也可实现分支,Joplin/Wiki 也可实现链接),但都不能达到“像呼吸一样自然”这种易用程度。看起来是易用和难用的差别,但背后其实是理念侧重点的不同。

有人也这样评价「双向链接」:

最近出现了很多双向链接笔记软件,形成了新的风潮。

它之所以更好,是因为这种方式符合人脑的记忆原理。人的大脑记忆信息靠神经元之间的连接,这就意味着记忆的本质就是发散的,而不是线性的。

但这不意味着传统的线性叙述方式已经被彻底淘汰,相反它有自己的好处。

人类之间的沟通本质上是线性的,不管是靠最原始的听还是后来才发展出的看,都是如此,像计算机这样的超链接是很晚才出现的。千百年来人类之间沟通的方式都是,将大脑中的网状信息转换成线性,然后通过介质发送到别人的大脑中,然后那个人在进行解码。

区别于其他笔记软件的总分+层次+树状的知识结构,「双向链接」确实能够更方便地提供「链接」+「引用」式的网络结构。

我也曾经设想,有了「双向链接」功能的辅助,自己就可以更容易地发现知识的关联。

这是自己想岔了。

迷惑人的「网状结构」


「双向链接」形成的网络结构,与我们通常认为的知识网络,是明显有差别的。仔细观察会发现,「双向链接」提供的这个网络,只是一种「名」与「实」的引用。而真正的知识网络是什么样子呢?

用我们常见的 DIKW 来形容: DIKW:数据、信息、知识、智慧

一个关键的差异是,知识是具有抽象层次的,上面较高的抽象层,依赖于下面的较低抽象层,并与下面较低的抽象层形成网络。

而「双向链接」构建这个网络呢?只是「名」与「实」的网络,说直白点,就是「引用」与「解释」。

设想这样一种情形,你有一个笔记本,记录的是形如「维基百科」里面的知识。大家都知道,就维基百科而言,知识点之间的关联,已经很充分了。但这些知识是否就是我们希望获得的智慧呢?把这个笔记本给到你,你是否就会满足了呢?如果不满足,那到底还差些什么东西呢?

在知识网络中,一个关键词是「抽象」。从底层到上层的抽象网络。就像多种编程语言,一通百通的感觉。

而这些至关重要的抽象、联系,是需要人主动去构建的。它们不能自发形成。构建真正的知识网络,就只有靠学习、思考。「双向链接」所做的只是把这个关联记录下来,它提供的「有且仅有」这个网络。「双向链接」这种维基式的知识网络,与大脑中的知识网络完全不是一回事。

「双向链接」对于记笔记真的有用吗?


回答这个问题,就要追问一个源头的问题:记笔记有什么作用?

我相信无非如下:

  1. 防止遗忘,数据->信息
  2. 便于整理,形成体系,必要时检索回忆,信息->知识
  3. 便于为后续的思考提供必要的素材,知识->智慧

那么「双向链接」到底做到了哪一步呢?我认为是做到了第 2 步的一部分吧。它提供了形成知识体系的一些最基本的工具「双向链接」,为的是便于形成维基式的链接网络。

那么它有没有提供建立这个链接网络的功能呢?有一些,比如很方便建立「双向链接」,比如提供反向链接。但这些还有很大的改进空间。

比如「双向链接」以“相同标题”作为反向链接的提示基础,这就对记笔记有很大的认知负担,因为你要时刻注意,怎样起好标题,不要重复,不要冗余,要与文章的内容匹配等等。

其实,评价「双向链接」到底有没有帮助,可以思考一下,如果没有它,会对上述形成链接网络的过程增加多少困难。而加上它,对链接网络的形成有多大帮助。而这个链接网络,对知识后续的检索、后续的抽象思考,有多大助益。对诸如「块引用」「关系图谱」这些功能,也应该这样思考。

就我自己来看,「双向链接」对笔记最终形成比较好的结构,提供了“语法层面的”支持,但对整理和总结笔记的过程,帮助不大。但要知道,记笔记这项工作,大量的精力都是在整理和总结。这个整理和总结的过程,其实就是思考的过程,可惜的是,「双向链接」在这个过程中并没有提供多少帮助。

个人观点,轻拍。

5104 次点击
所在节点    分享发现
18 条回复
ynyounuo
2021-11-13 18:07:42 +08:00
我的观点是,结构性强的笔记是为了给他人展示用的,而如记忆般松散而无序的笔记才是个人笔记应该有的样子;

而对我个人而言,相比结构化的笔记,可以拥有快速而准确的模糊搜索能力是更好的;当然现在的大部分软件都只能做到简单的关键词模糊搜索,而实际上有些时候你需要用模糊的图像,简单的描述,只言片语的概念理解等都去定位到自己想要回忆起来的东西;

笔记记录本身,software-agnostic 就够了;

类似哲学的笔记软件比如 nvAlt/nvUltra/The Archive/FSnotes/nb 等虽然各有千秋却都不尽如人意,而从这种简单的方法上更进一步衍生的复杂笔记哲学比如 Zettelkästen/PARA 等又过于复杂趋向于结构化了

后来记长期储存的笔记我就只遵循一句话了「把搜索引擎搜不到的以及互联网上不存在或即将可能消失的东西记录一下」,其余需要记笔记的场合,不如用纸笔走个形式,然后记到脑子里
sillydaddy
2021-11-13 18:19:00 +08:00
@ynyounuo
你说出了我想说却没有说清楚的。不能同意更多。

我也觉得「拥有快速而准确的模糊搜索能力是更好的」,我也觉得「复杂笔记哲学比如 Zettelkästen/PARA 等又过于复杂趋向于结构化了」。

这种结构化,如果本身不具有「自我迭代」的能力——即促进使用者从松散无序的笔记结构不断迭代到形成结构化对笔记,那么就会面临使用成本的问题,就像一开始就想设计一个结构完美的复杂软件,对于用户来说,结构化的认知太高了,要么一开始就想着结构化,要么后续花费大量的时间。
explorerproxy
2021-11-13 18:39:11 +08:00
感觉大家都想太多,绝大多数人都到不了理论的层次,单纯地当成一个能方便引用(类似论文那样)的传统笔记使用也是很值得的

我当时会找到双链笔记的契机也是我认为很棒的使用场景:课本知识点和题库的双向链接。当然课本知识和题库本身就是结构化的,在日常使用中这样的情形不多。

双链的提示基础不只有标题,也有标签和内容
lostberryzz
2021-11-13 20:32:32 +08:00
keep it simple and stupid
angkec
2021-11-14 10:11:13 +08:00
使用网的结构,极端的结果就是忠实反映生活的混乱。使用树的结构,却能帮助找到知识的层次关系。一棵树,如果从树顶向下看,其实也是一张网,因为任何节点都有到另一个节点的路径。但是如果就因此把树看成网,就丢失了树自带的层次关系。
TimG
2021-11-14 10:13:51 +08:00
很有趣的概念,受教了。
lovedebug
2021-11-14 14:34:49 +08:00
1. 没有打理和规划的数字花园就是杂草堆,双链被误解了
2. 重复命名的问题,现在都支持一键 merge
oncethink
2021-11-15 09:59:59 +08:00
- 当我们在谈双链笔记方法的时候,我们要搞清楚我们是在谈论双链这个机制还是方法。
- 我发现大部分人是在谈论双链这个机制。如果只着眼于双链机制,最多只能引导我们通往维基百科这样的知识库结果。
- 但是双链笔记的设计的初衷并不是维基百科。例如 Roam research 的开发者提到过这个软件的设计受到过《 How to take smart note 》 一书的影响。这本书主要介绍了卢曼的笔记方法,而最核心的观点是好的工具必须要搭配合适工作流程才能起作用。 我们在讨论工具的时候,经常会忽视这一点。同样的在讨论双链的使用上时,我们也经常忽视双链的使用方法。
- 我认为搞清楚双链究竟该如何使用应该纠正关于原子笔记这个概念的理解。 乍一看,原子笔记似乎在引导大家每个笔记都给一个标题,只讨论一个主题。其实是有误导性的。在大部分双链笔记软件中,容纳信息的最小单位并不是页面,而是块,块引用 + 反向链接才是记录笔记的方式。我们可以在一个块中引用另一个块,来表述两个块之间的关系,最终构建的就是一个块的网络。
- 维基百科和双链笔记究竟有什么不同呢?维基百科的使用者本质上是一个木匠,而双链笔记的使用者应该是一个园丁。 每一个新观点进入到你的笔记系统时,都会受到其他笔记的质询——这条笔记和我们的有什么关系,是支持、依赖、补充或反对了一个已有的观点?这样一个系统会鼓励你去更多地阅读来补充所有观点所缺乏的那部分。这是一个不断和你同步成长的知识网络,所有观点都有下层观点支撑,而最底层的就是事实。
- 《 How to take smart note 》这本书并没有告诉我们使用双链笔记,但对如何引导我们以一种合理的工作流程来使用双链笔记非常有帮助,我建议各位对双链笔记感兴趣的一定要看看。
sillydaddy
2021-11-15 10:24:04 +08:00
@oncethink
确实没有看过《 How to take smart note 》这个。其实我想发问的,也就是怎样用双向链接实现一个好的 workflow 。

另一个帖子里 @canxin 的回复,应该是解答了我这个疑问: https://v2ex.com/t/815143#r_11072682
LoneFireBlossom
2021-11-16 12:17:32 +08:00
那个帖子我看了好几遍,写得是很好,可我感觉还是没有解决学习一门科目比如高数时需要树状结构的问题……
sillydaddy
2021-11-16 13:57:18 +08:00
@LoneFireBlossom
我的理解是,双向链接跟树状结构不矛盾。但有了双向链接,会大大弱化树的作用。查询的话,因为可以直接查找到“块”,而知识点是存在于块之中的。相关联的块,可以形成一个主题。所以,我理解的在块上的双向链接,对知识点的组织,以块和主题为单位。

如果想要建立类似目录结构那样的东西,可以用 Map Of Content ,也就是类似于超链接的形式,把不同的 Page(页面)组合起来。

那篇文章里,侧重的是,怎样用双向链接实现“无压记录”,它给出的是知识从收集阶段的散乱无序,到整理为有序状态的一个 workflow(流程),至于这个有序状态究竟是像维基百科式的 N 多主题,还是像一本书那样,就看使用者了。

那篇文章一开始,作者就反思自己之前对“daily note”的错误理解,后来才认识到,RoamResearch 的双链+块等功能,让即使是“daily note”这样散乱无序的记录,也能在笔记过程中得到很好的整理(整理不只是加一些链接),并且整个过程是无压的。我想这是这篇文章的重点。
LoneFireBlossom
2021-11-16 22:49:25 +08:00
@sillydaddy
我想了想,觉得个人并不要求完全无压记录,只要别太麻烦就行。
或者反过来,我先把当前的想法记录下来省得等会儿忘了,写完之后立刻把它归类(剪贴粘贴?)到应该归的位置(如果能归类的话)。
比如那个语雀文章下面的评论里就说,用了半年双链感觉记录得太乱,我感觉还是应该在记录的时候稍微整理一下。又或者,先整理个半年,觉得确实没问题,再慢慢减少当下的整理,推迟到以后。

不过其实我没用过双链笔记……目前还是在用 MarginNote ,用一年半多用习惯了。目前决定等寒假的时候认真研究一番 Obsidian ,学明白了之后再开始用 Obsidian 。
但是 MarginNote 还是得继续用,毕竟它能做出极佳的 PDF OCR 和准确地定位到 PDF 的某句话,这两点加起来,其它任何双链笔记+OCR 软件都做不到。我简单试过思源 remnote ,摘录比 MarginNote 差远了。这是我一年多看少数派时不时就有双链笔记,但是我还是没转移阵地的根本原因。
到时候我想,需要定位 PDF 的时候,就在 MarginNote 里摘录,复制出 URL Scheme 粘贴到 Obsidian 里即可。
sillydaddy
2021-11-17 11:46:51 +08:00
@LoneFireBlossom "我先把当前的想法记录下来省得等会儿忘了,写完之后立刻把它归类(剪贴粘贴?)到应该归的位置"

这个“应该归的位置”,应该是一种错觉。真的有“应该归的位置”吗?

举例来说,“javascript 语言的内存管理机制”,它包含了:编程语言,内存管理,这 2 个分类要素,既可以归在“javascript 语言”里,又可以归在“内存管理”里。这个知识点可以放到 javascript 的博文里,作为 javascript 特性的介绍;它也可以出现在多种语言内存管理对比的博文里,作为 javascript 内存管理的介绍。哪个是它合适的位置呢?这还是只包含 2 个要素的情况。

这里的一个关键是,一个知识点,几乎总是包含多个知识要素(上例中的“javascript”与“内存管理”),可以从不同的视角去“透视”。

如果上述的例子不够清楚,可以看下这个:“今天见了好友老张,在大排档吃了顿烤串,很高兴”,仅这一件事,就可以分别从“社交活动”——老张、“饮食”——烤串、“心情”——高兴,这 3 个角度去分析自己的生活。

这种例子应该随手可拾,像学科分类那种的树状划分,反而是有点勉强为之的意思。

回头我会再发一个笔记相关的分析帖子,把我对记笔记这块的抽象思考详细表达出来。
LoneFireBlossom
2021-11-17 12:27:51 +08:00
@sillydaddy 这个问题在要给笔记加标签的年代就讨论了呀,我感觉。

我的习惯是:把它放到传统分类方式应放的地方,比如按学科分类,然后视情况加一些标签。其它的,需要的时候再搜索。需要的时候我相信我能找出来的。
当然我知道确实是有些文字用文件夹分类会很纠结,所以需要去用标签。可是标签也不能很好地解决问题呀?比如:
这一楼说的 https://v2ex.com/t/815143#r_11071016
再比如 zecy 在少数派说的:

> 在实践过标签系统之后,我注意到很多介绍标签系统的文章都有意无意地忽略了一个问题:使用标签系统的前提是你有一个基础标签系统——也就是给什么内容应该打什么标签的一整套规范。
而事实上构建和维护这个系统是超出个人的力量范围的。
目前广泛使用标签系统的领域主要是论文、音乐、图库(可能还有不少我不了解的专业领域),这些领域的标签系统是由行业、企业或者用户圈子来维护的。
而我们想象中是「我可以为文件打上标签」,但实际上我们遇到的是「我要给所有文件都打上标签」。
我在网上保存下来一篇文章,如果我已经有一个标签系统,那我就要根据这个系统给文章打上标签,否则我之后可能找不到这篇文章;如果我还没有一个标签系统,那我还要花心力去想我应该给这篇文章打上什么标签,以便我以后找到它。如果你选择先不打,那么你就永远也不会给这文章打上标签了,整个标签系统就形同虚设。
这是个相当耗费心力的过程,也是我自己和大部分认识的人最终没能坚持下来的原因。
而如果我是下载一篇论文,论文平台早就给我打好一套标签了,我可以完全不管,也可以根据自己的需要加点我自己要用的标签。这是完全不同的感受。


「搜笔记搜了好几次、好多次才搜出来的挫折感」其实没什么,比起「打字时不能输入文字直接上屏,偶尔有的字需要翻页,时不时按下空格键才发现自己选错了还要删掉重新输入的挫折感」来说,次数少多了,烦心程度自然也少多了。可就是这么烦人的后者,我并没有看到笔记圈儿里的很多人为了消除这个「挫折感」去学五笔呀。PS:我现在是在小鹤双拼。

这么说吧,语雀的那篇文章,我的疑问是在于:
对我来说,学习一门科目并不是按照「前期学习,后期整理」的方式来的,而是「边学习边整理,学一点整理一点」。比如说,学线性代数,学到向量线性相关的条件,那得把前面所有矩阵相关的知识都掌握了、弄清楚条理了,才能继续记笔记。否则真的一团乱麻,学着学着书上的话就看不懂了。我个人是这样的。
所以那篇文章里的「降低后期整理时的心智负担」对我来说意义并不是特别重大。
sillydaddy
2021-11-17 16:29:08 +08:00
@LoneFireBlossom
> “我在网上保存下来一篇文章,如果我已经有一个标签系统。。如果我还没有一个标签系统。。这是个相当耗费心力的过程。。”
上面提到的「标签系统」,我觉得很有道理——在给笔记打标签时,时刻背负一个标签系统,确实是沉重的认知负担。

解决这种「标签系统」认知负担的方法,很简单,就是随意打标签。

比如我上面提到的“javascript 语言的内存管理机制”,就按照自己现在的理解,给它打上“javascript”和“内存管理”的标签,不要想以前有没有打过“内存分配”,“javascript 语言”这样的标签。直接打,不用考虑其他,最多需要考虑一下后续自己会怎样搜索这些内容:比如上面那句话里面,“机制”2 字,在我看来没有什么意义,后续也不会去搜索,那么“机制”就不会成为标签。同样的,“今天见了好友老张,在大排档吃了顿烤串,很高兴”,我打的标签时“社交活动”、“饮食”、“心情”,这些字都没有出现在原句中,但它们是我从这件事中抽象出来的关键要素,是我「现在」认为,后续会搜索这些东西。而对于不同的人,需求完全可能不同,可能有人只关注自己的“日常心情”,所以,他可以给这句话只打一个“高兴”的标签。

那么如何解决标签重复、标签过多,以及上面例子里「高兴」-「日常心情」的「具象」-「抽象」关系,等等问题呢,很简单,在使用笔记系统的过程中,不断迭代这些标签。而这应该是笔记软件提供的功能。

所以,在我看来,一个人在给笔记打标签时,可以随心所欲,完全按自己的主观意愿来。

后期整理这些标签的过程,并不是一蹴而就的,也是分散在整个笔记过程中的。这需要笔记软件的支持。但应该注意这点:即使一个人在一生中不断在给新的笔记打标签,这些标签也不会超过一个合理的数目。

这是因为每个人都是有自己的语言习惯的,当他看到相似的内容时,对它们所打的标签也是非常相近的,不会出现给同一内容打标签却千人千面的情况。每个人都有自己的语言习惯,然后每个人都会有一套自己的标签习惯。即使某些标签有所近似,对这些标签的整理工作,也不会有多少。

> “对我来说,学习一门科目并不是按照「前期学习,后期整理」的方式来的,而是「边学习边整理,学一点整理一点」。”
语雀那篇文章,它提到了
「我个人的习惯是把绝大多数反链内容都转移到正文中再开始认真整理。。」
「弄清楚这个问题最大的意义并不是让我们学会具体怎么整理,而在于让我们相信它是可以整理且方便整理的。。」
「记录和整理笔记的所有心智负担并非集中于一点,而是分散在整个时间轴上。。而且这些心智负担的总量也不是恒定的,换种工具或换套方法,心智负担的总量就会大不一样」
「有些专题笔记虽然在 daily notes 里记了很多条,但是它平时不一定会被用到,有的笔记平时甚至连搜出来看一眼都没必要,只要真正需要认真整理某篇笔记的那天没有到来,用户就根本没必要为整理付出任何时间精力;如果那一天始终没有到来,那么未来整理这篇笔记的压力也变成了 0 ,也就是说,整理的命运可能只会降临在一部分专题笔记上」

这些描述,其实说的就是“学一点整理一点”,而不是“前期学习,后期整理”。
比如你分别在 t0,t1,t2 时刻,记下了一些笔记:
t0: 向量的线性相关的定义,打上标签 “向量”/“线性”
t1: 矩阵的行列值,打上标签 “矩阵行列式”
t2: 矩阵行列值与向量线性相关的关系,打上标签 “矩阵行列式”/“向量线性关系”
那么,t2 时刻之后,笔记里面,对于标签 “向量”、“线性相关”、“矩阵行列式”,分别都有 2 个零散笔记与之对应,这时就可以开始整理了。

如果现在感觉不需要整理,因为还在理解范围内,那么可以将整理推迟到「需要认真整理某篇笔记的那天」。
sillydaddy
2021-11-17 16:50:35 +08:00
@LoneFireBlossom > “比如说,学线性代数,学到向量线性相关的条件,那得把前面所有矩阵相关的知识都掌握了、弄清楚条理了,才能继续记笔记。否则真的一团乱麻,学着学着书上的话就看不懂了。”

如果说「整理出条理」是「学懂」的前提的话,那确实需要一边学一边整理,但这一点跟那篇文章并不矛盾。那篇文章强调的是“在需要的时候可以随时整理,而且整理所需的素材都已经准备好了”,那么如果是边学边要弄懂的情形,刚学完新知识点,就是整理的最好时机。这时,只需按照关键字调出所需整理的素材,就可以开始着手整理了,而不是按照传统的树形结构分一下类,然后如何如何。

具体怎样用关键字调出所需的素材,可以看那篇文章中对「传递型双链」和「关联型双链」的应用。(其实作者起的这些不同名字的双链,在我看来本质就是标签,起这么多名字反而把问题复杂化了,我下一篇帖子会用标签系统对其进行分析。其实这篇帖子里的回复也有涉及)。
LoneFireBlossom
2021-11-18 08:01:20 +08:00
@sillydaddy 习惯不一样吧,我是学一个点就立刻整理这一个点。记录笔记的时候要求详细详尽。对学科的学习尽量要系统。
比如我做的向量线性相关的笔记。学线性相关意味着我肯定得先把向量相关的前面的知识都学完了,都做了笔记了。
https://imgur.com/TPaPJn8
kongkongye
2022-10-14 22:45:06 +08:00
@ynyounuo 不同意松散无序是笔记该有的样子,简单举个例子,我之前整理笔记,翻到多年前的笔记时,会惊讶原来之前还写过这东西。针对这个,我思考这种笔记意义有多大,随着时间就淡忘了,记下来但并没有记住,除非不定时去复习,但这真的有复习的必要吗?而且如果是喜欢记笔记的人,天天记,我觉得最终也只是记成文字了而已,并没记到脑子里,时间久了产生庞大的笔记量,这种东西好像完全没价值,连复习都不现实,只能随着时间忘掉,记笔记带来的好处可能就是文笔提高了,思路变清晰了,但过程中产生的笔记就是废品。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/815166

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX