对于笔记系统的重新思考

date
Apr 6, 2024
slug
note-rethink
status
Published
tags
生活
总结
summary
我最开始使用的是Logseq作为我的笔记工具,在2022年,读了Alan的四篇My Vision文章,Heptabase开始进入我的眼帘,我开始尝试使用Heptabase,在使用Heptabase的过程中,我也有了自己的一些实践经验,但是随着公司内部安全的原因,不能使用Heptabase这种联网的应用,我开始转过头来在公司使用Local First的笔记软件:Obsidian,因为自己的重心还是在Heptabase上,所以对于Obsidian的使用一直是很基础的使用,直到我意识到工作的内容也占据了很大的时间,还是要对于工作中的内容进行深度的思考和整理,我开始深度使用Obsidian,我发现基于Heptabase的方法无法很方便的嵌入到Obsidian的流程中来,我开始思考是不是之前对于笔记的思考有点不可迁移,经过了几周的思考,就有了这篇文章,这篇文章会着重介绍我自己对于笔记系统的重新思考
type
Post

缘起

我最开始使用的是Logseq作为我的笔记工具,在2022年,读了Alan的四篇My Vision文章,Heptabase开始进入我的眼帘,我开始尝试使用Heptabase,在使用Heptabase的过程中,我也有了自己的一些实践经验,但是随着公司内部安全的原因,不能使用Heptabase这种联网的应用,我开始转过头来在公司使用Local First的笔记软件:Obsidian,因为自己的重心还是在Heptabase上,所以对于Obsidian的使用一直是很基础的使用,直到我意识到工作的内容也占据了很大的时间,还是要对于工作中的内容进行深度的思考和整理,我开始深度使用Obsidian,我发现基于Heptabase的方法无法很方便的嵌入到Obsidian的流程中来,我开始思考是不是之前对于笔记的思考有点不可迁移,经过了几周的思考,就有了这篇文章,这篇文章会着重介绍我自己对于笔记系统的重新思考

为什么要使用笔记软件?

笔记出现根本原因是人类对于信息的存储和提取很有限,需要一个外部的容器来存储,方便我们在使用的时候可以找到信息
在只有座机的时候,相信对于纸质的电话本不会陌生,这就是最原始的需求,我需要有一个笔记本把要联系人的电话给记录下来,在2G到5G时代,电话本这个需求还是一直在的,只不过从纸质的电话本变成了手机的通讯录,再到微信的好友列表。还有在浏览器上大家最常用的书签功能和类似1Password这种密码记录工具,他们都是笔记的第一维的用法:记录固定的信息
随着信息的剧增,大家对于信息的消费不仅仅局限于固定的信息,网络中的文章,书籍中的摘要,以及视频中的笔记需要记录,这个时候现代意义上第一代的笔记软件就出现了:Evernote。Evernote本质上做了三件事情:
  • 快捷的剪藏,可以把看过的文章快速完整的汇入Evernote
  • 笔记的分类:无限的文件夹
  • 还不错的搜索:不得不承认Evernote的搜索还是不错的,可以在整个Evernote中搜索信息,包括了PDF中的文字
实际上Evernote在功能上做的还算是挺不错的,那为什么Evernote现在不流行了?要说明为什么,那么得先看下现在流行的笔记软件都有哪些,他们都解决了哪些问题?
  • Notion
  • RoamResearch、Obsidian、Logseq
我暂且把RR、Obsidian和Logseq放到一起,先来看下Notion解决了什么问题:
notion imagenotion image
Notion官网介绍的主要功能点是Write、Plan、Organize,其中Plan、Organize最依赖的功能就是Database,其中很多人使用Notion最主要的目的也是依靠Notion来建立Project和Plan
再说下RR、Obsidian和Logseq:
Logseq:
notion imagenotion image
Obsidian:
notion imagenotion image
RoamResearch:
notion imagenotion image
上面是这三款软件的官网介绍,我认为他们本质上是通过Backlink来建立一套笔记间关联的能力
所以我把Evernote称为笔记第二维的用法:建立个人的素材库,Notion和RR等双向连接称为笔记的第三维的用法:基于个人的素材库更容易的建立连接

我们需要笔记软件做什么

首先得承认这个世界的复杂性,没有一款软件可以把全部的事情都囊括进来,在后续我也只能以自己的实际情况尽可能的阐述自己的方法和思路,针对自己的实际使用场景,我分为这几类:
  • 固定的信息:工作中的网页地址、个人的一些信息、收藏的一些博客地址
  • 每天的日志:为了让自己更好的掌控时间,自己会使用所谓的Daily Note记录自己在某个时间做了什么事情,大致的格式是这样的:
    • 08:00-8:30:写了某个功能的集成测试,有一些关于Mock的问题,我认为后续可以优化一下
    • 08:30-09:00:产品拉了会,讨论了一些项目上的细节….
  • 基于PDF、ePub、微信读书做书籍笔记
  • 看到一段让我受益的话,我会记录下来
  • 阅读收藏的博客,先把地址存下来,然后有时间再阅读
  • TODO任务,但是我一般不会使用笔记软件来做TODO
  • 项目相关的事项记录
  • 自己对外输出的博客等
明确了自己的需求之后,对于笔记软件的使用场景就比较清晰,主要是这几个场景(参照gqs):
  • 个人日志:每天的行动记录、阅读、日常交流的碎片想法的固定
  • 构建知识网络:沉淀整理,发表输出,构建完善自己的知识网络
  • 项目维度:目标梳理、任务拆解规划、任务执行过程中的记录与调整

从哪些方面评估适合自己的笔记软件

虽然自己主要有这三个需求,但是每个需求的权重是不一样的,如果只能选两个,我会选个人日志和构建知识网络,如果只能选一个,我会选构建知识网络,因为我已经使用过多款笔记软件了,我站在现有认知的视角,写下我认为最重要的几个功能:
  • 本地优先
  • 以原子笔记为基本的单位
  • 完善的Backlink
  • PDF/ePub highlights
  • 完善的搜索功能
  • Daily Notes
  • 有项目管理的功能

以原子笔记为基本的单位

这里我想强调下Block的概念,Block是在RoamResearch中引入的,在Logseq中也区分出来了Page和Block,但是我想表达的Block和Logseq中的Block有一些区别,在卡片盒写作法中单个笔记或者说 Zettel 是什么样的呢?每条笔记由三部分组成:
  1. 唯一标识符:它为你的笔记提供一个明确的地址;
  1. 笔记的正文:这是你记录的笔记内容,一般为一段简短的原子化的信息;
  1. 参考文献:如果你的内容来源于外部,你可以在每条笔记的底部写上信息来源,如果你记录的是你自己的想法,则留空。
在卢曼卡片盒笔记法介绍中其实并没有提及Block和Page,只有一个原子化的原则,Logseq的设计中引入了Page和Block的概念其实是增加了用户的理解成本,什么时候该创建Page,什么时候该创建Block?我在写的时候很难区分出来,我认为Heptabase中的Card是一种很聪明的设计,Card就是一条原子笔记,如果你认为当前的原子笔记承载的信息过多,那么Heptabase提供了很方便的功能将其中的Block转成一个Card,没有刻意的引导你要创建Page还是Block,只有在你需要的时候提供最方便的功能来做这件事情
关于Obsidian的基于Markdown的设计,gqs这篇基于 Logseq 重构个人知识管理体系 - gq's blog (zgq.ink)文章写的相当棒,我很认同里面的观点,我觉得对于Why not我不会比他写的更好,我就直接摘抄他的观点过来:
  • 信息组织粒度很粗
  • 笔记结构上和文件系统强耦合
Obsidian是以Markdown为基本的存储单位,这里有一点问题是:Markdown 文档是笔记的基本单位吗?我想不是。Markdown 更多侧重于如何组织和表达一个完整的文档,文档是由若干个“元素”组合组成(一个典型例子是,在 Web 的 HTML 体系下,每一个“元素”都通过“标签”去表达,每个“标签”都有自己的 id)。一篇文档的形成,需要花很多的时间和精力去尝试去记录和编排其中的各种“元素”,对应了上面说到的 Page 和 Block 的概念,但 Obsidian 更多强调的是 Page 和 Page 之间的链接网络。
以 Page 粒度的引用链接面临一点问题是,当我们需要跨文档去引用其他 Page 的某个元素的时候,我们不仅要拿到 Page 的 ID,也需要指定对应的元素 ID,如 Web 网页 URL 中的 /[page-id].html#[element-id] 模式。最原始的 Markdown 格式无形中把 element ID 的表达精简掉了,且未预设一个比较好的解决方案,导致维持引用的成本变高,Obsidian 在初始状态下也只是实现了针对“小标题”的引用
感觉上,在写文章表达的场景,侧重于阅读的体验,而不很强调细致的引用,以 Page 为粒度是可以接受的;但在笔记场景,信息高频率的修改、频繁地相互引用的状态下,处理引用关系会带来比较大的心智负担,导致其并不总是好用。比如,在项目任务的管理中,需要组织高频率变化的 Task List,又需考虑这些点的相互之间链接的时候;在知识点的管理上,也会有类似问题,当一处信息发生更新,与之相关联的另一处,也需要得到一个及时的更新,这样的手动同步就比较繁琐和痛苦
上面讲的内容应该解释清楚了原子化笔记的各家的设计思路,因为我在上一篇中讲了第三维笔记的关键是连接,这个连接就是基于原子笔记的连接,只有底层设计的好,才有可能铸造起上层的笔记体系

本地优先

在经历了近期语雀宕机10几个小时,Notion出现了好几次服务不可用的事故之后对于本地优先的设计应该是认同了,这点Logseq和Obsidian做的都是比较好的,可以完全基于本地来完成笔记的全部流程,Notion完全不可以在本地完成,Heptabase可以在本地完成,但是由于涉及账号和付费,不能做成一台机器完全离线,一台设备在线和离线,这个点是我在工作中不能选择Heptabase的重要因素,但是除了Notion和RR以外,其他几款软件在本地优先方面做的都还是不错的

完善的搜索能力

搜索我没有针对几款软件的做过专门的对比,我分别对几款软件的搜索能力做一下简要的总结:
  • Obsidian
    • 支持全文搜索,也支持按照文件类型、tag、属性等进行搜索
    • DataView提供了强大的查询能力
  • Logseq
    • 支持全文搜索、按照Page名称搜索
    • 提供了高级的Query语法,类似DataView
  • Heptabase
    • 支持全文搜索
    • 在卡片库中提供了各种Filter进行查询和过滤
我最终的笔记选择是日常主力使用Heptabase,在工作中使用Logseq,我的选择逻辑应该在上面的介绍中说清楚了,也希望给大家一个参考

笔记方法怎么做到可迁移

Obsidian CEO是怎么使用Obsidian

虽然我最终没有选择使用Obsidian,但是Obsidian仍然是最优秀的笔记软件之一,社区还有很多人贡献者自己的力量,让我们看看 Obsidian CEO 是怎么使用 Obsidian 的 – 效率火箭,火箭君的新博客 (xlrocket.blog) 这篇文章中详细的说明了Steph Ango是怎么使用Obsidian的,我简单总结一下:
  • 只用必要的文件夹,例如附件、网页剪藏、每日记录、引用和模板,通过双向连接替代文件夹分类
  • 原子笔记中必须使用类别和标签(为了更好的索引)
  • 到处都是用日期格式,形成统一的风格
  • 大量使用模板

Randy是怎么使用Logseq的

链接我放到最后了,我也简单的总结一下:
  • 尽量所有的记录从Daily Notes开始,不要单独记录Page
  • 利用标签系统进行分类
  • 单独建立Dashboard,在里面利用Query进行统一的汇总,方便查找
  • 记录笔记的时候首先问自己一个问题,这个笔记以后我会在什么场景用到

我的实践

方法论

I.A.P.R

notion imagenotion image
相比起PARA,我觉得少楠的IAPR更契合实际情况
  • I:I 是 Inbox 的缩写,意思是“收件箱”。收件箱用来存放所有临时性的、还未消化的内容。它可以让我在记录时不必纠结把笔记放在哪个更具体的标签下,但需要定期整理。
  • A:A 是 Area 的缩写,也就是前面说的“领域”。领域用来标记那些做了对别人有帮助,做砸了自己要承担责任的事情。
  • P:P 是 Project 的缩写,意思是“项目”。项目用来标记那些有明确起止时间和目标的事情。我在这类笔记里主要记录对项目的思考、决策,以及对应的结果。
  • R:R 是 Resource 的缩写,本意是“资源”,我用它来标记那些自己持续感兴趣,但对别人没影响,别人也不在乎的内容
我觉得不管是笔记还是学习,都是一个渐进的过程,通过建立自己的领域,不断的通过项目填充,利用自己的好奇心支撑起兴趣

我的一些感悟

  • 不要迷信那些好看的Graph
  • 双向连接不是万能的,自己的笔记不应该是一个一个的链接,每篇笔记都可以独立的存在,有自己独立的观点可以支撑
  • 笔记代替不了思考,AI也是,记录思考过程更重要,这块Heptabase做的真的很不错!
  • 尽量不要使用文件夹
  • 输出文章可以使用Markdown,但是笔记尽量不要使用Markdown,而是利用更容易扩展的格式
  • 多回头看看自己记录的笔记,从已有的笔记中让自己成长
  • 最后一点:笔记是渐进式的,不是一次可以完成的

Reference

  • 笔记的方法
If you have any questions, please contact me.