本文介绍了该版本的:笔记架构、记录流程示例、效果展示、最后解释了该系统各个细节的原理,说明了它如何实现大笔记 (传统笔记)与小笔记 (卡片笔记)的融合与共存。
这个系统很全,包含了我对知识管理的全部思考。可以说每个标题都是一个比较大的话题(干货),我为了方便整理,全部放在了这一篇文章中。
文章中的“详见 xxx”,“xxx”都是本文的各级标题,可以点击标题快速跳转阅读。
读者可通过每个标题后的导读(标题后的引用框中内容)来速览标题下的内容,方便你先通过速览理解整体框架。
实践了两年 我的 dailynote 流程 1.0 版本,随着笔记量的庞大,我积累了如下痛点:
- 笔记检索容易漏
- 笔记冗余,检索结果冗杂
- 关系图形同虚设,不忍直视(笔记和链接冗杂,导致关系图密密麻麻,全是链接,难以提取有效信息)
为了解决问题,我打算设计一个适合我的更完美的笔记系统。
那么,什么样的笔记是完美的笔记?我总结了这四大核心需求 (拆分后为 10~11 个具体需求,详见附录 完美笔记的四大核心:无压、检索、内容、创造
),这些需求称得上我记笔记的终极目标。
从这些需求出发,我设计了我的 dailynote 流程 2.0,暂且称它【RayalizingPKM】。因为它不仅是笔记记录流程,还是知识管理系统。
那么,这个系统如何实现上述需求?
总结来说:
- 它沿用 daily note 部分流程,并通过规范化命名、固定模板、保证定期整理的方式,实现无压记录;
- 通过规范化的内容排版,实现内容可靠;
- 通过设计可维护、可扩展的标签编码体系,(并通过数据库提供编码索引和元信息筛选功能),实现检索可靠;
- 用知识图谱的风格记录方法,分隔知识和思维,解决关系图杂乱问题;
关系图
配合虚拟引用
和提及
功能,激发灵感。
下面我会按照以下顺序介绍这个系统:
- 笔记架构
- 笔记记录流程示例
- 效果展示
- 附录:细节原理解释
1. 笔记架构
-
我的笔记分三种:
节点笔记
、关系笔记
、主题笔记
(为什么要给卡片笔记分类?详见卡片笔记需分类:分情况适配各原则
) -
KG 笔记法 创建知识笔记(详见
KG 笔记法:让关系图变成【知识图谱】
)。 -
Zettelkasten 和 MOC 创建主题笔记(详见
主题笔记
)。 -
daily note 是笔记入口,创建
草稿
、日记
、操作日志
(可选)。-
草稿
、日记
:格式自由,随意引用。方便你随心而动,并作为草稿纸辅助新 Zettel 的写作。这里只放
草稿
,不存储知识笔记
和主题笔记
。(所以 daily note 不进入关系图) -
操作日志
:是我在各个设备、应用上的操作记录,方便快速回看、复现之前做过的配置。比如:“Ubuntu 虚拟机的初始配置笔记”、“新电脑需要安装的东西”“思源笔记中使用 Jupyter notebook 的操作步骤”
-
-
标签编码系统给每一篇成熟的笔记打上可生长、可维护的标签,满足快速、准确检索的需求(详见
我的标签前缀编码系统
)。 -
数据库(可选) 将每一篇知识笔记和主题笔记加入
数据库
,能实现更精确的检索(但由于目前思源数据库的筛选逻辑暂时达不到 Notion 那么全面,所以这一步不是必选项。但鉴于思源超高的版本更新频率,说不定这个功能哪天就提上日程 🐶)
1.1 KG 笔记法:让关系图变成【知识图谱】
KG 笔记法基于知识图谱的理论,解决了笔记记录冗余、双链关系图杂乱的痛点。且对“卡片盒笔记法”的“原子性原则”进行了完善。
具体笔记方法不在这里赘述,可参考 Ryooo 大佬的原创文章:释放双链笔记图谱的力量——KG 笔记法。
这里主要谈谈我基于原版进行的扩展,包括:
- 将原方法的“概念”和“实体”统一为“节点”。
- 增加了知识图谱的“属性”概念,给知识赋予了
属性
,用数据库来存储和检索。- 确定了各项属性的键和值。
1.1.1 我对 KG 笔记法的扩展方案:
-
实体(或概念)和关系笔记都是知识对象,对它们的处理操作一致,故可统称为
节点笔记
。因此,我的 KG 笔记法的产物是节点笔记和关系笔记,我统称为
知识笔记
(详见知识笔记
)。 -
每个知识对象都有属性,属性可以自定义,可由数据库来管理。
灵感来源于 notion 数据库点开每个页面,页面开头的属性栏。
-
属性是对实体的描述和补充,即数据库中的“特征”(or 列名)
-
标签可视为页面的一个属性。
-
属性有这些:
-
对于实体/概念型对象:
-
类型:
节点
-
标签(以编码为前缀,详见
我的标签前缀编码系统
):编码分类的标签 +
#自创
(表示这个概念是我自创的)+#??
(表示观点不成熟或存疑)+#TODO
(表示待办/有待后续完善) -
创建时间(自动生成)
-
更新时间(自动生成)
-
-
对于关系型对象:
- 类型:
关系
- 标签:
#自创
/#??
/#TODO
- 创建时间(自动生成)
- 更新时间(自动生成)
- 类型:
-
-
1.1.2 知识笔记
知识笔记
是我的知识管理系统 2.0 中定义的一个笔记类别,它是 KG 笔记法的产物。
它有以下特点:
-
不遵循 Zettel 的
原子性原则
和不照抄原则
; -
出现在关系图中;
-
分类:
- 节点笔记
- 关系笔记
节点笔记
记录“什么是什么”的笔记,是知识图谱中的 节点(node)
,包括实体、概念,以及它们相关的定理等。该笔记的命名都是 名词
。
-
示例:
节点笔记
、知识图谱
、Python
、深度学习
、 ...
-
理论上,与该节点相关的全部内容都可以放到节点笔记页面。包括节点间的关系。但在实践中,会有很多需要关注的关系值得单独写成一篇笔记,即下面的关系笔记。
关系笔记
记录节点间关系的笔记,即知识图谱中的 边(edge)
。该笔记的命名格式是 节点A - 关系X - 节点B
。其中,关系X
以 动词
为主体。
-
示例:
LLM - 赋能 - 双链笔记
、提示词工程 - 影响 - LLM的性能
、
1.1.3 KG 和 Zettelkasten 的区别和联系
简单来说:KG 明确定义了什么是“一个知识点”,即讲述一个主题的文字就是同一知识点。而卡片笔记法的“一篇笔记只写一个想法”很模糊。
只有一个原子的定义明确了,笔记才不会被重复记录(冗余)。
所以,KG 在这一点更优越。通过明确了“一个知识点”的定义,解决了知识拆分问题,也因此促进了知识融合的进行。
在作者看来(KG 笔记法 - 经验分享),KG 法和卡片笔记法的根本差异在于对 如何拆分知识
的解答。
卡片笔记法仅提出了“原子化”的思想 (“一篇笔记只写一个想法”),但并未给出“原子化”的清晰的操作方式:
它的“一篇笔记只写一个想法”就已经是具体的操作指导,但这里存在的另一个问题是如何去区分一个个想法。
这也就导致了很多卡片法的用户后期会重复记录知识的问题。
而 KG 法中:
而在 kg 法中,知识点被定义为一段讲述了某一主题的文字。这段文字的字数可多可少,关键就是其要围绕某一主题而展开。基于这个明确的定义,我们可以轻松地作出以下判断:
- 如果两段文字,他们的主题不同,那么他们将是两个不同的知识点。
- 如果两段文字,他们的主题相同,那么他们则是一个知识点,只不过在表述上存在差异。
基于以上两种判断,我们基本就能将日常生活中遇到的信息压缩成知识了,并且不容易出现重复记录的问题。
至于为什么说 kg 法不仅仅是拆分,也是融合,这是因为日常我们所接触的所有信息,比如一本书、一篇文章甚至一段话,基本都是混合着多个知识点的,也就是同时涉及多个主题的。当我们将这些大体量的信息压缩成知识时,首先就需要将其中的一个个知识点离析出来。从这个视角来看,kg 法是拆分。但是,在人类出版的所有信息中,同一知识会以不同表述分散在不同的出版物中。比如某个学科的教材会有不同人的不同版本。即便在一本书中,同一知识也可能以不同表述重复出现。kg 法需要你在遇到这种情况时,分析、对比当前知识表述和以前记录的表述(已经记录于该知识点对应的笔记中),从而概括出一个更完整的表述。从这个角度看,kg 法也是整合。
1.2 主题笔记
它是 Zettelkasten 的产物。和 KG 笔记法产出的
知识笔记
并列,是我的知识管理系统 2.0 的一部分。灵感来自文章卡片笔记中的三种笔记类型中的“大纲笔记”。
-
它是对知识的——面向主题地——整理和展示,
-
指导思想:遵循 Zettelkasten 的原则,以 MOC 思想为指导。
-
创建场景:
-
期末复习时写知识大纲。
-
想到一个灵感,以灵感为契机牵出了以前的知识/主题内容。
比如:我突然想做一个“基于 RAG 的多轮对话版小爱同学”产品,基于这个主题,我串联起了硬件、软件、大模型部署、提示词工程等相关的知识笔记。还链接了之前的“插件开发:基于笔记知识库的问答机器人”这一主题笔记。
最终,我以 MOC 的方法将这些内容统一到新的主题笔记:“产品开发:基于 RAG 的多轮对话版小爱同学”。
-
-
题目/标题命名:详见
标题命名:直述观点,便于速览
-
内容模板:详见
笔记模板:嵌入导读,便于速览
。
2. 笔记记录流程示例
这部分主要是我的知识管理工作流的介绍,包含:笔记流程 -> 笔记记录规范 -> 后期整理流程。该工作流是我的知识管理系统 2.0 的具体操作。
2.1 Dailynote 2.0 流程
该流程以主题笔记为例,从零开始记录了【闪念开始之后 -> 分支填充之前】的部分。知识笔记的记录流程也与此一致。
补充了旧笔记新增新内容时的记录方法。
整个记录过程强调了无压的特点。
2.1.1 以主题笔记为例
-
我突然想记录下我最新的笔记流程,因为它善。
-
打开日记,在今天的页面上开始记录。
-
我先给这个笔记想了一个具体、贴切的标题:
我的知识管理系统 2.0
。命名规则遵循笔记标题的命名原则(详见标题命名:直述观点,便于速览
)。 -
在日记页面中另起一个无序列表,然后打出
【【
+我的知识管理系统 2.0
,点击新建页面。此时我得到了名为我的知识管理系统 2.0
的空白文档(我叫它一个 Zettel),同时日记中得到的是连向这个标题的传递型双链(这套行云流水的动作继承自 我的 dailynote 流程 1.0 版本~原理不再赘述)。 -
点开这个标题双链,进入页面开始编辑。
-
开始写正文:
1. 我突然想记录下我最新的笔记流程 ... 命名规则遵循笔记标题的命名原则
。写到这里,我还没有任何描述“笔记标题的命名原则”的内容,我将日记页面作为草稿纸,分屏到一旁,加了下面这一行(段落块,包在双链所在的列表块中,表示这是该 Zettel 的草稿): -
创建链接:点击草稿中“笔记标题的命名原则”的段落块图标 -> shift + ctrl + c 复制为块引用 -> 选中笔记页面中想要链接的锚文本,粘贴。效果如下:
日记页面的效果:
现在,我得到了一个指向草稿中段落块的
静态锚文本
,草稿中段落块的最右边也多了被引标识,提醒我这部分之后要单独说明(上述操作相当于链接了未来的卡片笔记)。 -
继续写。我希望先随着心流快速记录,以免闪念跑掉,所以不会强制遵循我的笔记记录规范(详见
笔记记录规范
)。把规范的压力丢给定期的后期整理(详见标题后期整理流程
)工作。 -
在记录过程中,我按照自己的心流,想起来就链接以前(或未来)的卡片笔记,同时写明链接的原因。(其实上述创建的静态链接,链接原因已经跃然纸上了。)
-
如果有内容参考自网络的文章,使用 Markdown 引用语法,将引文和参考文献直接贴到相关内容下方即可(如下)。
毕竟是心流笔记嘛,讲究无压记录,想到啥先记下再说。——鲁迅
鲁迅文摘(👈 假装这是个超链接)
-
确保闪念记录完毕,写完。
-
最后,我满意地将这个笔记打上合适的标签:
它表明:
- 这篇笔记需要在后期整理完善
- 它属于我的自创内容
- 它在分类上是一个新增的主题标签:
A4 - 我的知识管理系统
- 它还和已有的其他知识
MOC
、KG笔记法
相关。
这些标签是怎么建立的,为什么这么打,怎么还有前缀编码?详见
我的标签编码体系
。 -
以上,就是一个心流版的主题笔记本体的诞生。
现在该从草稿中处理它链接过的分支了。
-
对分支的处理:
分支就是 Zettelkasten 笔记法中的一个个小 Zettel,由主题笔记整合、链接。
分支可以单独放在一个页面中(如果我觉得必要),也可以以标题的形式,放在当前笔记中。
-
我觉得除了
我的标签编码体系
这一项值得单独说明,其他的都可以作为标题囊括在这篇笔记中。所以我将草稿中其他被链接的段落块,以鼠标拖动的方式拖到当前页面的下方,然后修改成合适的标题:拖动 👇
排版 👇
注意事项:
- 不要在段首按下退格键,也不要用剪切粘贴来移动。——这样都会改变原有块的 ID,让之前的链接失效!(通过查看块右边的被引标识来确认链接是否失效)
-
现在,这个主题笔记已经记好了。接下来开始填充一个个分支(即它所链接的 Zettels)。填充结果如下 2.2、2.3、2.4 的部分。
注意:这里也是【打通了大笔记和小笔记】的一个范例:即所链接的 Zettels 可以和本文在同一页面,也可以独立页面,具体怎么放全凭个人习惯和喜好(详见:
【链接上级标题】能打通“大、小笔记”
)。
2.1.2 记录知识笔记:场景不同但流程一致
- 流程一致:上述流程只是以主题笔记为例,但知识笔记(包括节点笔记、关系笔记)的记录流程也是一样的:以日记页面为入口,新建文档编辑,日记作为草稿纸辅助整理、排版。
- 知识笔记的具体记录方法,Ryooo 的原创文章中的概念、步骤、示例都很详细。
- 场景不同:当你记录所学知识(即输入)时,你一般会创建
知识笔记
;当你记录灵感、整合知识(即输出)时,你一般会创建主题笔记
。
2.1.3 旧笔记新增内容的流程
前述是新笔记的创建流程,但有时新增的笔记不一定是全新的主题/知识,笔记库中已经有类似记录了,此时就要用到旧笔记增添新内容的流程:总结来说,分为检索定位 -> 记录 -> 后期整理三部分。
旧笔记的增添流程就灵活多了,分以下两种情况:
- 一下子能想到旧笔记的题目或关键词,直接搜索题目或关键词即可。一下子想不到的,可结合搜索标签来快速定位(
我的标签前缀编码系统
会加速这一步骤),按照笔记记录规范
,增加到旧笔记中即可。 - 着急或者当下懒得定位的,就用老办法:以传递型双链的形式,直接写在日记中,只要确保把内容全部包在传递型双链所在的列表项中即可(详见 deerain 的 基本的 daily notes 流程,或 1.0 版流程的方法二)。
- 记得要后期整理。
2.2 笔记记录规范
该规范强调了【命名】、【导读】、【链接】、【行文思路】的特殊性,并解释了原因:为了知识的吸收 + 后期的速览。
我的笔记分三种:节点笔记
、关系笔记
、主题笔记
,(详见 笔记架构
)。三种笔记的规范相似,仅在 题目
的命名上有差别。
2.2.1 标题命名:直述观点,便于速览
标题命名的原则:用陈述句阐述正文。这样既方便后期的快速预览,又是总结吸收的过程。
- 部分观点类
主题笔记
的题目
、以及所有笔记的观点类标题
都适用此原则。
对于观点类的内容,其标题用完整命题作为题目,让笔记的名称和内容明确对应——题目就是一个通用的命题,一个明确的观点。
题目采用陈述句型的概括形式:A 是 B、A 可以 xxx、xxx 会导致 xxx、(核心:命名应直述观点。)
笔记标题规则大致可归纳为:
使用陈述句,完整概括笔记内容;
使用正面描述,便于直接引用,避免一直纠缠于原始问题;
尽量带上语境,让标题拥有前因或者后果,避免沦为命令(祈使句)。
e.g.
- 不给任何理由,就甩出一句
应从多个角度描述记忆卡
- 改善:
从多角度描述记忆卡可缓解浅层模式匹配
-
为什么这样命名?
直述观点的陈述句标题,能让我们在搜索笔记内容、浏览关系图时,通过极速浏览就能获取核心知识(这是我记笔记的终极需求之一,详见
完美笔记的四大核心:无压、检索、内容、创造
)。给出命令/指示的祈使句标题,仅仅给出“怎么做”,并没有传递知识(即“是什么、为什么”)。
-
笔记的标题 ---> 程序的 API:标题是为了沟通而存在。易读易懂的笔记,就是运行良好的程序,每则笔记的标题都是一个 API。
调用 API 时,我们不会关心背后源码如何运作,只需几句话就把它嵌入当前代码;引用笔记时也是如此,作者和读者都不想纠缠其背后的论述过程,只想看到观点或结论。如果一开始就把 API 编写得明白易懂、统摄全文,读者(包括未来的自己)读起来就不必劳神苦思。至于编写 API 的艺术,就是设计卡片笔记标题的艺术。
-
-
节点笔记
和关系笔记
的题目的命名:已在知识笔记中详述(详见知识笔记
)。 -
本文中所有的三级标题都是观点类标题,可作为范例参考。
2.2.2 笔记模板:嵌入导读,便于速览
为了内容可靠、容易快速理解,我的
知识笔记
和主题笔记
都遵循如下模板。这个模板基于传统的题目 -> 标题 -> 正文排版模式,做了如下微调:
- 增加了题目和标题后的导读,方便后期速览。
- 简化了参考文献的位置、确定链接原则。
本文也是这个笔记模板的范例之一。
以记录“MOC”这一知识(节点笔记)为例 :
-
题目:就是节点本身
MOC
-
别名:为了方便后期检索,给笔记加别名
moc, map of contents, 大纲笔记
-
导读:目的是转述给未来的自己,方便后期速览。
我把导读内容放到了 callout (思源集市插件)中:
-
导读,即以特定用户(未来的自己)为导向的内容组织。
可包含:写作背景(这段内容是为了解决什么问题) + 内容精炼(这段的主要内容)。
以体现“我为什么要关注这段内容”的目的去写,更容易结合具体情况写出最适合的导读。比如:
- 有的宜直接概括,不用说明“写作背景”;
- 有的内容本身比较结构化,此时只需写出背景,不用概括;
- 有的一眼可速览的内容也不用写导读。
-
类比费曼学习法:用自己的话转述知识内容,是知识的吸收过程。想象你在拍一个 vlog,正在向观众介绍自己的所学。
-
-
标题: 尽量写成陈述句形式
思想:面向主题
、特点:管理链接
、优点:高度自由
、如何实行:以整理和展示为导向
反例:
、思想
、特点
、优点
如何实行
-
标题下导读:
以
如何实行:以整理和展示为导向
为例:- 任何包含长内容的标题(无论几级标题),都鼓励写导读。
- 怎么还要在标题下写导读?——转换思维:标题下的内容相当于大卡片中的小卡片(详见
【链接上级标题】能打通“大、小笔记”
)
-
导读下正文:
-
行文思路:
为了做到有效且清晰地解释事物,应养成这样的写作习惯:
从问题本体出发 -> 展示 -> 解释 -> 问题-解决方案的故事循环 -> 切掉 10% 去除冗余 -> 频繁检验、迭代。
(详见
“问题-解决的故事循环”能有效解释事物
) -
中英文之间加一个空格,养成习惯。
-
允许在必要时抄原文。但要加上自己的理解 + 附上参考文献
(因为新学的名词、金句,光凭自己的转述无法精确表达原意)
格式:原文包在 Markdown 的引用语法中,末尾附上参考文献链接(如下图)。
-
对于电脑操作步骤等笔记,可以直接复制粘贴。
-
-
链接规范:
(记录时主要看心流,在没养成肌肉记忆前,不必拘泥规范——链接会在定期整理时更正)。
-
上下文中写明链接原因——保证链接清晰
-
链接对象是标题:
应链接相关内容所在的上级标题。(为什么不直接链接正文?详见
【链接上级标题】能打通“大、小笔记”
) -
节点笔记
中的链接:有两种情况:简单链接和建立关系笔记的链接(参考 KG 笔记法中信息的五种处理方式的后两种)
-
简单链接示例:
被“高级 Zettel”链接的标题块(右侧有被引标识)👇
-
复杂链接示例:
MOC 页面 👇
被链接的关系笔记页面(右侧有被引标识)👇
-
-
-
打标签:
“MOC”是一种高级的知识组织方法论,值得我设个新的标签类别,它在实践上又是卡片盒笔记法(标签为 A1 - Zettelkasten)的一部分,所以我新增标签
A11 - MOC
并加到这个页面。同时,我的知识管理系统中的主题笔记
也应用了 MOC 思想来组织,所以,该页面也打上了离它最近的A42 - 主题笔记
标签:
2.2.3 文档树操作(可选)
说明:这是以我的人生目标和近期专注为核心指导的文件夹分类,不为细分、要避免层级太深(减少笔记记录压力)。
为的是:减少因同一目录下页面太多而造成的应用卡顿(主要) + 吸引我打开 + 简单回顾。
-
这个笔记系统的标签编码体系配合搜索功能,已经完全可以代替文档树的作用。但由于同一目录下笔记数量太多,笔记本会出现不可避免的卡顿,故将成熟的 Zettels 分类放置。
我采取 PARA 这一信息组织法,但简化了
项目
文件夹(因为它是任务管理的范畴,与我已有的任务管理系统重合) -
文档树示例:
可以把它联想成你的 b 站收藏夹:你总有一些每天会打开的收藏夹(如健身、游戏、脱口秀),也有一些放着吃灰的收藏夹(如钢琴乐理、高等数学精讲、前端开发课程汇总)
2.3 后期整理流程
首先,整理是一定要做的(原因详见 后期整理不可避免,只能简化
)。按照自己喜欢的频率设定整理周期。
整理流程如下。
-
检查以下项目:
- daily notes 中有没有传递型双链?——原则上应全部整理到 Zettel 中。(实在是琐碎的观点、好句积累、词汇积累等的,可保留,但鼓励你尽量放到相关页面,写下心得、并给每一次的记录都打好标签)
- 题目有无其他别名?
- 题目、标题是否可改进?
- 导读是否完善?
- 是否要补充链接?有无冗余链接?链接对象是不是标题?
- 有没有打标签?
-
(可选)将新的标签和成熟笔记加入数据库:
-
增加页面的数据库属性:
光标移动到页面标题,按动快捷键(或点击页面块图标 -> 添加到数据库)加入“第二大脑数据库”(这里储存我的所有整理好的笔记页面),给笔记确定各项属性:类型 ->
节点
;标签 ->A11 - MOC
。如下图: -
同步数据库:
将标签内容同步到数据库中,效果如下图。
-
-
整理结束后,将成熟的笔记移出
我的笔记本/daily note/
目录。PS:我新建的笔记都会自动存放在
我的笔记本/daily note/Zettels
目录下(可在设置中自定义)这样设置的原因:
- 为了保持关系图的简洁——关系图会关闭
日记
开关,这样 daily note 目录下的内容将不会出现在关系图中。 - 同时,将笔记移出 Zettel 也是后期整理流程的一部分——允许笔记出现在关系图中是整理完成前的最后一步。
- 为了保持关系图的简洁——关系图会关闭
-
成熟 Zettels 最后放到哪,详见
文档树操作(可选)
。
最后,我的标签编码体系已写到另一个 Zettel 中,详见 我的标签前缀编码系统
。
以上,就是一个成熟的主题笔记和其所有关联 Zettels 的诞生过程。
2.4 我的标签前缀编码系统
简单来说:我通过前缀编码,让标签内容也能传递嵌套逻辑,再加上标签本身的组合能力(一个笔记可打多个标签),最终实现检索的高效、精准、全面这一核心需求(附解释) 。 最后,我会将标签也入库
标签编码库
,在定期整理时维护更新。本文灵感来自:卡片笔记前缀编码的艺术、标签不是乱打的:从描述性标签谈起
2.4.1 前缀标签系统是手动的、私人的、生长的
-
手动:个人笔记系统的编码,是在学习过程中手动进行的。
-
私人:它完全可以依据个人的实际情况来进行,手动构建私有编码体系
-
生长:它不是一开始就全部构建好的,而是生长出来的。
知识是生长出来的,不是建造出来的。
只有在需要的时候才增加知识结构。
2.4.2 如何编码:字母 + 数字的四位编码方法
字母 + 数字的四位编码,基于你的专注领域来确定第一位字母(从 A 开始)
再基于领域内的已有知识框架,确定第二位数字(从 0 开始)
-
如何给标签编码:
-
知识管理是我关注的第一个领域,在我的认知中,它包含“卡片盒笔记法、MOC、知识图谱笔记法、主题法”等方面的内容,那么我完全可以将编码第一位字母
A
赋予知识管理
。(我不在乎该分类是否全面,因为我对知识管理的学习目前已暂停并归档。后期如果需要微调,思源的标签整体修改也很方便)
-
A
后面的第一位数字分发给我知道的所有知识管理下一级的大类(完全根据个人目前的认知和喜好自定义):A1 -> 卡片盒笔记法、A2 -> KG 笔记法、A3 -> 主题法
-
我将 MOC 归入卡片盒笔记法的下级内容,因为它是构建高级 Zettel 的方法。所以:
A11 -> MOC。
-
以此类推。按照我的经验,这样的四位编码已经能够满足我的分类层级需求(熟悉的读者已经联想到了“中图法”,你也可以用中图法现成的编码方案来给你的知识分类)。
- 标签前缀编码只是一个模式,这个模式旨在提供标签间的嵌套逻辑。你完全不用拘泥我的四位编码,创造更合适你的标签前缀编码,欢迎评论分享你的思路。
-
2.4.3 如何规范地打标签:打“最近标签”
-
对于文章中谈到的每个主题,打一个最接近它层级的标签即可(因为该系统中,一个标签就已经包含了所有上层标签的信息)。
示例:
向量
属于线性代数
,线性代数
属于高等数学
,一篇笔记仅仅是关于向量的,那就打上A21 - 向量
标签(这里A21 - 向量
就是这篇笔记的“最近标签”),不需要打A - 高等数学
或A2 - 线性代数
(因为“A21”已经包含了“A”和“A2”两层信息)。 -
文章中可能谈到多个不同主题,有几个主题打几个“最近标签”。
示例:
我的知识管理系统 2.0
是个主题笔记,里面结合了多个知识点和别的主题。我打上了它内容中提到的所有“最近标签”:你会发现其中没有
A4 - 我的知识管理系统
这一标签,因为它不是最近标签(A41
、A42
、A43
都已经包含了“A4”这一信息)。
2.4.4 用数据库储存编码,方便查询
我通过数据库储存了标签的内容和描述 (每整理一个成熟的 Zettel,我会将它添加到思源的 数据库
中,并在编码库中同步新的标签),如下:
这样就可以从编码索引中找到要查主题的标签编号、临近编号的标签往往提示“这些主题和你要查的主题相近”这一信息。
2.4.5 前缀编码可传递“意义坐标”,让检索更全面
本部分详述了这个体系为什么能实现检索的快、准、全:
编码体现了多级的嵌套关系和同级的知识关系,就像给了标签“意义坐标”。
实时维护规范的编码系统,通过搜索编码就能实现全面、无遗漏的检索。
给标签加前缀编码,可能是目前表述知识内容间的嵌套、关联关系的最简单、经济的方式。
编码,其实是标签在认识论上的空间坐标,相当于地点的经纬度。打上第一个标签,就在标签体系里找到第一个位置,可以顺藤摸瓜,找找相邻的标签是否可用——或者更好。
-
为什么编码能让知识检索更全面?
-
设想你有一个关于线性代数的标签,编码为 A01,还有一张关于微积分的标签,标记为 A02,以及一张“数学”标签,编码为 A0。
当你想要检索所有数学领域的资料时,只需键入 A0,这样你就能获取到线性代数和微积分两个子领域的相关内容。
如果你只想查看线性代数的资料,你可以输入标签 A01,这样就会过滤掉微积分的内容——除非某份资料同时打了这两个标签。
-
反例:如果你没有规范的标签系统,你可能会给“线性代数相关的笔记”打上
线代
标签、有时又打上线性代数
标签,当你检索线性代数
时,势必会漏掉仅带有线代
标签的笔记。你常常会因为不信任自己的搜索结果而反复搜索多次不同的关键词,
尽管如此,我还是无法确认是否搜到了全部的相关知识(尤其是多次搜索都没有搜到任何相关信息的时候,我会花时间思考我还漏了哪些关键词,甚至会跳进关系图中做不必要的遨游)。
- 每次检索的压力就增加了。
-
-
编码标签和文档树的关系?
标签的检索过程看起来很像从文件夹中找东西?那么,为什么不直接用文件夹而是用标签编码?——文件夹只能显示嵌套关系(树状),但无法提供同级甚至跨级的关联关系(网状),而标签可以。
- 简单来说:一个知识可以打多个标签,但不能同时出现在多个文件夹位置。
3. 本系统达到的效果
-
无压记录:
- 快速定位记录区域:沿用 daily note 部分流程,打开笔记就能定位记录位置;
- 快速记录:允许记录心流笔记,也能通过固定模板养成肌肉记忆,能减少后期整理的压力;
- 快速排除后顾之忧:并通过明确的命名和模板规范、保证定期整理的方式,减少整理和检索压力。
-
内容可靠: 通过明确的内容模板规范,实现快速理解、快速浏览各个笔记卡片;
-
检索可靠:
-
标签编码的设计,让用户能快速定位检索内容、其近邻知识、且检索结果中能包含其下所有内容。
-
结合数据库的元信息筛选功能,实现检索更准确;
示例:检索关于“A1 - Zettelkasten” 主题的、在今年 9 月之后更新过的笔记,检索结果如下:
-
-
激发灵感:
-
关系图增加了
边的信息
,可读性更高:通过
关系笔记
来给关系图的边(即节点间的连接)赋予信息,让其成为真正的知识图谱; -
解决了关系图杂乱问题:
-
最后,
关系图
配合思源的虚拟引用
和提及
功能,通过链接和可视化知识的被动生成,能激发灵感。
-
4. 附录
以下是这个系统中一些重要细节的原理解释。
4.1 完美笔记的四大核心:无压、检索、内容、创造
我为了创建完美的知识管理系统,总结了记笔记的四大核心需求(or 核心原因),拆分后为 10~11 个具体需求。如下。
-
无压记录
- 快速定位记录区域
- 快速记录
- 快速排除后顾之忧
参考这里的分析:为心智负担兜底的一切
-
检索可靠
- 检索快:快速定位检索内容
- 检索准:能定位全部相关内容
想象这个场景:
- 某刻想记录“知识图谱的建立工具”,通过两次以内的ctrl+P搜索,我就可以确信:搜索结果的顶部会包含最接近该内容的笔记以及所有的相关笔记。
-
内容可靠
-
内容好懂
- 我熟悉它的行文风格——即用我自己的话写成(出自 Zettelkasten 和费曼学习法)
- 语句简单、朴素
-
能快速理解:通过极速浏览就能获取核心知识
- 统一的行文逻辑(甚至统一格式,格式甚至可以自动生成) 、整洁的排版
- 内容精炼、短
-
逻辑清晰(甚至逻辑一致——通过固定模板实现)
-
标题与内容紧密相关
不含浪费人时间的冗余、错乱内容 (让人有点开看的欲望)
-
链接清楚、完整
-
-
能激发灵感
- 笔记间的链接清楚
- 链接直观、可读性高
- 能实现在笔记中路径清晰地遨游
4.2 卡片笔记需分类:分情况适配各原则
这部分内容是为了解决卡片笔记下面两个原则不完备的问题:
- 对晦涩的新知识,怎么遵循“不照抄原则”?
- 对一下子学到的系统性的知识,怎么遵循“原子性原则”?
解决方法是:先澄清各个原则适用的卡片类型 -> 给卡片分类 -> 不同类别的卡片遵循不同原则。
- 为什么要分类——遵循卡片笔记的原则需要分情况。例如:
- 学到一个晦涩的心理学概念,确实需要摘录其完整定义,怎样才能不违背“不要照抄”这一原则?
- 整理好 Dieter Rams 的十大设计原则 1,如何存进卡片盒才能不背离“原子笔记”对篇幅短小的要求?
……
种种疑惑的根源是缺乏分类标准:如果能够事先澄清各个原则或规则所适用的卡片类型,则前述矛盾多能迎刃而解。
- 怎么分类——区分知识笔记和主题笔记
- 知识笔记:其创建场景就是学习新知识,可在必要时突破“不照抄原则”。
为了保证其权威性,还可以(也应该)突破那些“不能照抄”的教条,大可记下公认定义。
- 主题笔记:其创建场景是输出思考和灵感、整合知识。此时,应遵循“不照抄原则”。
- 知识笔记:其创建场景就是学习新知识,可在必要时突破“不照抄原则”。
- 为什么这么分?
分类的核心目的:解决卡片笔记法两个原则的不完备问题。
所以,相比于卡片笔记中的三种笔记类型中的分类,我在 RayalizingPKM 中作了精简的分类,力求简化分类压力的同时解决不完备问题。细节原因如下:-
知识笔记依托的 KG 笔记法已经更好地解决了“如何遵循原子性原则”的问题。
-
主题笔记一般是卡片笔记中的交通枢纽,如果你担心过多链接会污染关系图,你可以将主题笔记拖进 daily note 目录下,并关闭关系图的日记开关,暂时屏蔽它们 (如下图)。
-
在笔记的任何位置都可以通过加特殊标签来标明笔记的其他属性,这样可以代替笔记的其余分类。示例:
#??
表示存疑、不确定;#TODO
表示需要补充完善;#自创
表示这个知识/词条是我自己命名并定义的。在思想领域,为某个点子命名就相当于拥有了它。同样,如果你能够命名一个问题,你就可以拥有这一问题。——托马斯·L.弗里德曼
-
至于“原子性原则”:
"原子性原则"的目的是让笔记连接起来的指向性更加明确。
在本系统中,一个页面的题目或页面中的一个标题就是一个 Zettel,Zettel 中又可以【在需要时】通过增加下级标题来进一步细分更小的 Zettel。所以,从“链接指向性更明确”的目的上看,在本系统中,只要你注意标题命名和链接的规范(详见【我全都要】:用工具和规范来融合大小笔记
下的第二点),理论上任何笔记都不需要遵循“原子性原则”。
-
4.3【链接上级标题】能打通“大、小笔记”
简单来说:借助思源的“块属性”和“允许标题显示在关系图中”的功能,通过【规范标题命名】和【链接所引内容的上级标题】能够初步实现大小笔记的融合。
4.3.1 大笔记和小笔记的概念:
总结了大小笔记的概念、优点,和各自的需求。
摘自译文:众口难调的笔记,各取所需的工具
(原作者Chris Grieser ,原文标题为 One-Size-Fits-All? How to Take Big Notes and How to Take Small Notes )
大笔记指文档以长内容为主的笔记,特点是自上而下的层级思维,强调层次和秩序;
大笔记的优点:
- 严格的层次结构——使你尽快找到特定的信息;(需要搜索某一信息时,你会从主题开始,随后移步至相应小节)
- 更适合于收集既定知识——大笔记中,秩序不会主动涌现,而是在初期就被创造了。
大笔记的需求:
-
笔记内导航
- 相关功能:折叠、
- 自动生成大纲/目录
- 代码编辑器的 minimap 功能(还未实现,但很可能受欢迎)
-
链接
- 链接到特定标题,甚至区块的能力
-
追加、前置或移动文本
- 能让你把文字插入到特定位置,甚至不需要专门打开它(可通过插件实现)
小笔记是以短内容为主,特点是自下而上的扁平思维, 强调联系与创造。
小笔记的优点:
-
扁平分层,旨在鼓励我们主动寻找联系,而不是接受别人强加的秩序
理想情况下,我们在以前不相关的主题之间追寻联系,从而变得更有创造力,这种效果也被称为“偶遇的小美好”(serendipity)。
-
适合开发新想法的知识工作——避免了分层系统的束缚。
小笔记的需求:
-
链接——链接是小笔记的粘合剂
相关功能:
- 反向链接
- 自动补全
- 自动建议("这两个笔记可能相关")
- 数据库功能——用来汇总
-
快速创建新笔记
-
处理元数据
- 元数据是关于数据的数据,比如笔记的创建时间、标签、作者等信息,这些信息有助于更好地组织和检索笔记。因此,对元数据的重视变得尤为重要。
- 根据创建时间、标签或其他元数据来过滤搜索结果,可以提高搜索的准确性和效率。
- 更多的笔记意味着整个知识库——平均来说——也应该有更多的元数据(metadata),因而需要多加重视。如果不考虑元数据而直接搜索搜索笔记标题,你通常会得到铺天盖地的搜索结果。这使得处理元数据的插件和前面提到的数据库类型插件一样,和小笔记系统相得益彰
-
方便切换/方便预览。
- 比如:链接的浮窗功能,能让你在知识中徜徉。
4.3.2【我全都要】:用工具和规范来融合大小笔记
大小笔记的选择,一直是知识管理者的热点论题之一,Grieser 的观点是各取所需,核心在于工具的选择。
在我看来,即使同一个人在不同场景下,对大、小笔记也有不同的偏好。比如,学习新知识时,显然大笔记更适合我;而记录闪念、整合思维、创造灵感这些场景中,显然小笔记更能发挥作用。
那么,在同一个笔记本(or 个人知识库)中,为了适配不同时间不同场景的需求,我能否既要又要的同时,不影响知识库本身的秩序?
-
选工具:能同时支持大小笔记的优点和需求。
思源笔记的块属性和其他全面的功能,能同时支持大笔记和小笔记的记录需求:
-
细粒度极高的块属性,一切皆可成为【有唯一 ID 的知识对象】。 -> 能满足小笔记链接的同时,将大笔记看作有序摆放在一个页面的小笔记的集合。
理解这句话需要你转换思路:将一篇传统文章看作一组原子笔记的集合体——该文章本体相当于一个
高级 Zettel
,每个低级标题是高一级标题的小Zettel
。只不过所有小 zettel 的内容直接平铺在了同一页面。 -
思源允许标题显示在关系图中,而链接的显示需要:将链接放在标题上(见下面的规范)。
-
-
制定兼容大、小笔记的记录规范。
我的知识管理系统 2.0 中,笔记记录规范的部分设计,实现了大、小笔记的融合:
-
“创建链接时,应链接相关内容所属的上级标题”——这一设计实现了
页面
和其他页面中的标题
之间的互连,将标题和其下内容变成了小 Zettel。打开关系图的标题开关,小 Zettels 就以节点形式显示在了关系图中,同时显示了
被引用标题节点
和引用该标题的文档节点
之间的连接箭头。如下图:(黑色节点是文档块,紫色节点是标题块,灰色线条是文档和标题的连接,红色箭头是双链建立的连接)
-
“笔记题目和标题采取同样的命名规范”——这保证了标题在关系图中的可读性。
-
-
对思源关系图功能的优化建议:
现在,思源已经可以在关系图中打开标题的开关,从而显示标题节点。(这得益于其独特的“一切皆对象”的数据存储架构)
后期如果能将下面两个功能/插件开发出来,上述的操作就更加有意义:
-
【重要】标题子内容之间创建链接,其所属的上级标题节点之间能够产生连接箭头。(即,箭头连接的细粒度从文档块缩小到标题块)
解释:目前,在文档块的子内容中任何一处创建一个链接,关系图中都会显示【链接内容所属的两个文档块节点】和它们之间的连接箭头。即使打开标题开关,也无法显示被引内容所属标题之间的连接。(除非创建双链的部分和被引用的部分都是标题本身)
- 若能达到这一点,就不用通过刻意链接内容的上级标题来达到“让标题的链接显示在关系图中”的目的了。
-
【次要】优化关系图中标题和其所属文档的显示效果,让它们相较于其它关联此文档的文档块节点,显得更亲密——突出从属关系。
比如:标题和页面 A 的链接距离应比其他页面与 A 的距离小;或者用不同的可视化形式(如星球和卫星)来区分子标题和其他的页面。
-
4.4 "问题-解决的故事循环" 能有效解释事物
这是一个记笔记、做解说、演讲的通用有效模板,也是一个让 AI 来解释名词概念的提示词模板。
方法概述:从问题本体出发 -> 展示 -> 解释 -> 问题-解决方案的故事循环 -> 切掉 10% 去除冗余 -> 频繁检验、迭代。
本文全部参考自:如何能详细地解释一个事物 (notion.so)
问题:如何让你的读者/听众更容易理解你的内容,并持续被你的内容吸引?
解决:这个方法来自《How To Explain Things Real Good》是 Nicky Case 在斯坦福的一次演讲:
- 表现出你在乎的东西本体(而不是在乎的原因)
e.g.
反例:我为什么关心笔记记录方法?——因为它让我能更好地存储并串联我的思想
正例:我想让我的思想永久保存,并且随时可以快速回溯——因此,我需要探索一个合适的笔记记录方法。 - 先展示,再讲述(先直观展示、形象比喻,最后具体解释)
- 因此 & 但是(和问题-解决方案的故事循环)
- 写一份草稿,然后砍掉 10%
- 尽早、频繁地实战检验
一个故事循环示例:
- 问题: 有一个美丽的,重要的,复杂的想法,你想让别人知道。
- 因此,你需要一个解决方案: 写一个解释的大纲 —— 是什么让你关心,具体的例子是什么,因此 & 但是 —— 和即兴演讲的朋友测试。
- 但是,你遇到一个问题:你的朋友喜欢它,但是他们对某些部分感到厌烦,并且他们误解了其他部分—— 注意这是学习的感觉,还是真正的学习。
- 因此,你更新了一个解决方案:你接受他们的反馈,写第一稿,然后削减 10% 。然后,发送出去以获得更多的反馈。
- 但是,你会发现有更多的问题反馈;因此,你需要使用更多的解决方案来迭代。
- 不断重复,直到你真正解释清楚,然后点击发布按钮,向世界展示它。
4.5 后期整理不可避免,只能简化
为什么不可避免:不整理会降低信任度。
-> 所以真正要做的是简化检索
-> 简化检索的三个方向。
一个很好的比喻:
当你记笔记时,你实际上是给一个苛刻的用户——未来懒惰版的你——设计一个产品。
所以,你需要推销你的产品:
- 吸引注意力,激发兴趣,建立可信度,激发欲望,马上采取行动。
回到笔记记录:
我们说的无压笔记,是指“当下的记录压力是可以完全释放”的笔记,释放的方法之一就是相信自己会后期整理。
所以,后期整理这个过程总是要做的。因为不整理,你对整个笔记本中就会多一篇杂乱文章,要么影响你检索,要么扰乱关系图、影响你观看。结果:降低未来的你对“这款笔记产品”的信任度。
因此,老老实实设个定期的整理提醒吧。不要有后期整理可以被无限拖延的幻想。
那么,减少整理压力总可以吧?可以的:
- 我们真正要考虑的是如何尽量简化后期整理过程。
最后,如何简化后期整理?可以从三个方面着手:
-
一开始记录时就按一定的规范写,养成肌肉记忆
(平衡当下压力与后期压力。一旦将规范养成肌肉记忆,当下压力也会降低)。
-
减少后期整理条目
-
简化各个条目的整理过程(有条件的,尽量自动化)
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于