我的知识库管理折腾记录

xeonds

2022.12.13 01:53

当我开始在记事本里写下第一条笔记时,就注定一定会在知识管理的路上渐行渐远。

从笔记到知识管理,这中间并无太大距离。只要构建一个合理的流程,付出一点精力,换来的是一个能让我们终生受益的个人知识系统:也可以称之为“第二大脑”。

0x01.必要性

从手机备忘录开始,我开始了最简单的信息记录。其目的一般有以下几个:

  1. 常用信息,比如账号密码,常用资源这些,使用频率高
  2. 待办清单。日程安排,时间规划时偶尔会用到
  3. 记录收集/摘录的信息。通常是专业知识,技能技巧,文学摘录等,其相对而言较为零散
  4. 深夜发癫写写随笔,感想总结之类。写这类东西的目的主要还是梳理为主。书写的速度相对较慢,可以给思维留下充足的余裕去周转

其中,1,2是会短期用到/动态更新,实效性相对较短。在完成任务后,它们一般会被直接删除;而4作为思考整理的副产物,一般不太可能直接用上,只有偶尔自我审视的时候才有用。所以,这其中真正需要进行管理的,只有3。因为3是专业性较强的信息,它们是作为知识被记录的。相反,1,2,4那样的信息,充其量只能作为一种提醒

而3为何要进行管理?因为3是知识。知识只有归于体系,归于思维逻辑才能内化为能力。零散的知识条目只是记忆,它们只能扩大我们的认知范围,于我们的思维并无裨益。相反,过多的信息只会冲刷我们的心智,让其难以集中下来思考。所以,思维的时间应该和学习的时间相平衡,所谓学而不思则罔,思而不学则殆。如今,在信息洪流面前,很少有人能独善其身,大多数人都被大量信息冲刷,逐渐对一切都变得麻木起来。而进行个人知识管理(Personal Knowledge Management,PKM)或许就是应对信息洪流的一个方式。

总结:作为一种思维/思维辅助手段,KPM对于现代生活中的人们而言是十分有必要的。

0x02.入门

个人知识管理(Personal KnowledgeManagement)是一种新的知识管理的理念和方法,能将个人拥有的各种资料、随手可得的信息变成更具价值的知识,最终利于自己的工作、生活。通过对个人知识的管理,人们可以养成良好的学习习惯,增强信息素养,完善自己的专业知识体系,提高自己的能力和竞争力,为实现个人价值和可持续发展打下坚实基础。

摘自MBA智库

个人知识管理可以分为两方面,信息网络知识系统。通俗的说,就是知识的来源和知识本身。

信息网络架构

获取大量信息是个人知识管理的基础。信息网络是影响知识产出品质的第一影响力,它决定了信息收集能力,数据多少和品质好坏。这一般至少包含三个方面的信息网络:人际网络,媒体网络和互联网

  1. 人际网络。面对面交流往往是获取最直接、最深入问题的信息的来源。提高所谓交际圈的质量,我们就有机会学到更多知识。
  2. 媒体网络。这种信息具有较强的实效性,其媒介可能是报刊杂志,网络新闻。在自己关注的领域,可以通过订阅一些权威媒体,并对其进行分类和鉴别,来让信息的收集成为系统性的行为,而非随机的、临时性的行为,更不要被算法构造出的信息茧房一叶障目。这方面,可以考虑借助[[RSS]]来形成自己的信息获取渠道。
  3. 互联网。首先要明确,APP不是互联网,它们是互联网世界的孤岛。我们应该熟悉搜索引擎的使用,知晓相关资源之所在。充分利用收藏夹来保存有用的信息吧!

这就是所谓的[[三维信息网络架构]]。

个人知识系统架构

有了信息来源之后,就能着手进行管理了。这里的管理,简单来说,我们需要把收集到的知识存储到一定架构的知识库中。这种有效储存有助于未来的快速存取。

  1. 对知识分类。这一点应该根据自身需求来确定。划分的原则应该遵循“我需要什么信息,如何最快地找到它”来操作。这可以参考图书馆文献分类方法,不过也无需深究分类学,在实践中摸索出最佳方法即可。从个人角度讲,一般有人际资源,通讯管理,时间管理,网络资源管理,文件档案管理等。
  2. 选择合适的知识管理工具。对于上面那几类信息,可以一个软件管理所有信息,也可以不同软件管理不同信息。比如邮件管理,通讯录管理。知识部分,我们可以采用Wiki和博客(BLOG)来管理,也可以用笔记软件来管理。我先放个Obsidian在这,后面讲(
  3. 创建知识库。可以以目录的方式进行管理,一个临时目录来放置刚收集还未整理的信息,一个目录放置结构化的,成体系的知识目录,一个目录放置归档文件。建立完成后,重要的就是能够快速访问了,这可以借助博客来完成。同时要让笔记继续“生长”:持续维护知识库,增加新资源,更新/合并/删除旧资源,完善知识结构
  4. 应用知识。这是至关重要的一点,知识管理的出发点就是解决更多问题,积累就是为了应用,而这又会创造新的知识。传统的归纳演绎有助于这一点,我们可以从体系中归纳出新的规律,再借助实践来验证这规律。也可以对知识演绎,帮助新的实践。这也可以融合进我们日常学习生活中:发现问题,寻找资料,获取知识,归纳演绎,验证结论并尝试解决问题。这种学习能力在如今无比重要。

上面那一大堆都是我看其他博文的笔记。大概总结一下,几个关键点如下:

  1. 建立并维护自己的信息渠道
  2. 组织自己的知识架构模式
  3. 整理,回顾并更新已有知识
  4. 应用知识,从而得到新知识/增强掌握

这其中,我会在本篇重点讨论2。

0x03.知识体系架构

在学校中,每门课程的学习都是按照一定架构完成的。正因如此,回忆时才能历久弥新。借助[[Obsidian使用笔记|Obsidian-黑曜石]],我们可以达到这一点。

我之所以选择它,主要是数据安全:数据纯本地存储,不依赖云服务,能防止不必要的损失。毕竟,中国互联网厂商头顶始终悬着内容审查这一达摩克利斯之剑(这学期马原PPT好几个都下不下来就离谱)。而且数据以[[Markdown语法练习|MarkDown]]格式存储在本地,这使得知识库不会被特定软件捆绑。

同时,最重要的一点是这个玩意:[[]]

这是双向链接,能把两篇笔记关键起来,形成一个边。在写一篇笔记的时候,可以借助它把关联的笔记全部标出来。这样就能形成一个网状/树状结构的知识库,能很高效的管理笔记。

关于Obsidian的基本使用,可以看这篇:玩转 Obsidian 02:基础设置篇 - 少数派 (sspai.com)。下面只会涉及较为核心的部分。

以下的超链接使用部分摘自上面的文章。

超链接使用

Obsidian 支持多种「超链接语法」,这些功能也是「现代笔记管理」的必备技能。几种常见的语法如下:

超链接语法 - 双向链接

「双向链接」的语法为[[Note Name]],在前文中已经简单介绍过它的使用,下边是关于「双向链接」的详细介绍。

「双向链接」指的是在笔记 A 中通过输入 [[笔记 B]] 后,使得笔记 A 和笔记 B 建立了链接关系,如下:

在笔记A 中可以看到它和 [[笔记 B]] 有关系,同时在笔记 A的「预览模式」下,鼠标经过[[笔记 B]] 时,可以弹出笔记 B 的「缩略视图」,同时点击 [[笔记 B]] 后也可以打开笔记 B的编辑页面。

PS:想要看到笔记 B 的「缩略视图」需要开启「Page Preview」插件。

在笔记 B 中可以通过「Backlinks For 笔记B」看到都有哪些笔记和自己建立过「双向链接」。

PS:「Backlinks For 笔记B」的打开方式常用的方法有两种,通过快捷键或者菜单按钮。

超链接语法 - 话题引用

在 Obsidian 中,由于 Obsidian 支持 Markdown 标记,我把用 # 标记的内容称为「话题」,如下图,「### English」和「### Chinese」就是两个「话题」: 

话题引用的语法是[[Note Name #header]],即在使用「双向链接」的时候,我们可以在输入的「笔记名称」后边输入笔记中的「话题」,这种「双向链接」的添加方式称为「话题引用」如图:

「话题引用」带来的好处是,当我们在「预览模式」下,鼠标经过「双向链接」时,弹出的「缩略视图」中只展示 #话题 所包含的内容(最新版本不再展示全文),并且点击「双向链接」也会直接跳转到对应的话题所在行。

超链接语法 - 别名引用

别名引用的语法是[[Note Name | Alias]],即在使用「双向链接」的时候,我们可以在输入的「笔记名称」后边输入一个「别名」,这种「双向链接」的添加方式称为「别名引用」。 

别名引用带来的好处是,可以更准确的「表述」我们在原笔记中输入「双向链接」时想表达的意思。

超链接语法 - 嵌入引用

嵌入引用的语法![[Note Name]],即在使用「双向链接」的时候,我们可以在「双向链接」前边输入一个!(叹号),这种「双向链接」的添加方式称为「嵌入引用」。

嵌入引用带来的好处是,我们无需跳转,直接在原笔记中查看到被引入的「新笔记」。

超链接语法 - 块引用

块引用的语法 [[Note Name ^]] ,既在使用「双向链接」的时候,我们可以在「双向链接」的后边输入 ^ ,此时我们可以将被链接的笔记中的某一行(包括它的从属段落)引入到当前笔记中。这种方式成为「块引用」。

块引用带来的好处是,我们可以将一篇笔记中的「某个段落」引入到当前笔记中,结合「别名引用」更容易帮我们表达它的意思,如图:

通过上面的说明,对于双链的使用应该已经熟悉了。接下来就是笔记库了。

笔记库结构

大概可以分为下面几个部分。

  1. 临时库。用于存储随手摘录的内容以及灵感
  2. 草稿库。专门存放写作中的内容,一篇文章完成后就可将其移动到正式库中
  3. 正式库。用于成体系地存放所有知识,会持续内增长,也就是信息的重组和聚合
  4. 归档库。用于存放已经确认不会再有变化/失去维护兴趣的内容

临时库可以专门用Obsidian建立一个,也可以用其他地方,比如手机备忘录,浏览器收藏夹,这些都是可用的收集箱。

草稿库就是字面意思,放草稿用的。更准确的说,应该是一切进行中的内容。比如要写一篇关于计算机视觉的介绍文章,就可以在其中起草一篇文章,然后通过剪藏的内容完成写作。

正式库,也是最重要的库。它里面放置的内容应当是写作完成的信息,完整且高内聚低耦合的知识条目。对于其中的内容,我们应当持续维护。这里的维护就好比小根堆大根堆的维护,我们需要确定大多数时候其内容都应该按照树状/网状和其他内容相关联。维护的过程,就是复习和思考的过程。另外,正式库也可以按照自己的需求分为多个库,比如作为我,就会把计算机科学作为单独的一个主库,把数理等基础学科作为另一个单独的主库。这样在复习时,能保证一定的一致性和连贯性。

最后,是归档库。这么说来似乎不太好理解,但是可以类比成我们自己的思维周期:首先是接受零散信息,然后是逐渐组织起来自己的知识体系,然后对于一些不再关心的,过期的记忆,我们会选择把它“遗忘”——也可能是放在我们平时难以想起的地方。这么看来,这种知识管理方式,实际上相当符合我们的认知规律。另外如若接触过GitHub,对于归档(Archive)一词应当不陌生。它一般发生在仓库没有维护必要/维护者失去精力或者兴趣的时候。所以这实际上也可以看作是一种对于精力的节约?

借助这一套模式,我们可以更有条理地管理我们的毕生知识。

这几个库的管理我都借助Obsidian完成。因为几个目录中的内容并不会重复,我就只是在同一个笔记库中用几个不同的文件夹区分开了。

![[Screenshot_20221214_003838.jpg]]

下面三个中的img是图片附件文件夹,另外两个忽略。上面四个分别是归档,草稿,剪藏和正式库。

0x04.第二大脑

这词就是这软件一直在标榜的。事实上它确实很像一个第二大脑。它可以帮我们高效率地回顾整理知识系统,让思考更有逻辑,更有迹可循。

这部分,我会从我的经验来说说用这个软件如何进行复习和思考。

学习

这个还是再说一下吧,利用黑曜石的学习其实就是把剪藏的内容整理合并提取转换成一篇文章,这产出就对应一个知识点。在这个过程中,双链不一定是必须项。比如在进行一个新领域的学习时,刚开始在现有体系中几乎没有关联项,这是正常的。当然,也可以反过来用这种方法,写作时,遇到陌生名词直接用双链标注出来,之后再创建对应条目进行学习。以此可以快速构建一个新的知识体系。

复习

为了衬托所以提一下一般的笔记软件记下的东西基本都是浩如烟海,一个列表就展示完所有内容。当然,你也可能建几个文件夹,然后把一堆东西分成几堆放。在复习的时候,如果能一篇接着一篇笔记的看倒是还好,但是没有整理的话就难说了,光是笔记之间的跳跃性和非关联性就是能让你丧失复习意志力。如果是手写的整本电子笔记的话,进行顺序复习体验应该是最好的。

下面说说用黑曜石怎么复习。

黑曜石的数据以Markdown文件存储,只要在库目录中,嵌套文件夹就不影响结构。所以可以在知识图谱上把同类项全部移动到相同目录中,利用树状结构组织笔记。在线性复习时这帮助很大。我们也可以用图谱进行非线性的关联式复习,打开图谱,从一个节点开始,进行广度优先复习。这样的启发式复习或许能提高记忆的关联性,从而帮助记忆。

思考

思维过程本质是冲动在神经元间的传递。同理,黑曜石也可以做到。通过知识图谱,能看到关联知识,并思考其关系。同时,对于二级关联节点,以至于三级关联节点,我们也可以思考其和主节点的关系,在这过程中,对链接/文档进行重组,产生新的知识和关系结构。这种思考能让知识库更有规律和秩序,也能让我们进行有效学习。

应用

用自己的知识库去尝试解决问题。根据结果进行主库的维护和修正。遇到问题时,可以在库中搜索关键词,看看关联概念能否提供解决思路。比如我要写一篇人工智能在学习中的应用,就可以在知识图谱中找到人工智能的相关节点,按照广度优先的顺序对其他节点进行联想,借助这种方法找到写作的思路。