如何利用AI学习任何复杂知识,帮助你构建属于自己的知识体系
视频介绍了利用Gemini等AI工具结合Obsidian笔记软件,高效拆解大部头书籍并构建个人知识体系的学习方法。
UP主: 师出有铭 · 时长: 34:34 · 🔗 B站原视频
标签: AI学习 · 知识体系 · Obsidian · 学习方法 · 效率工具
面对大部头书籍的学习痛点与AI解决方案
大家好。我相信大家在学习的过程中,往往会遇到这么一些问题:在你所学的专业或者所研究的领域中,往往充斥着很大部头的书,就是这种很厚的书籍。如果我们想对这个领域有所了解,往往需要大量地去阅读这些书,甚至是从头读到尾。但在实际的过程中,我个人的感受是阅读这种很厚的书是非常困难的,尤其是涉及到一些很复杂的概念。因为浪费时间不说,而且我们很难坚持下来,这是非常耗时耗神的,学习效率也非常低。
我最近的一个想法是,既然我们现在有很多很先进、很丰富的AI工具,能不能利用现有的工具来帮助我们更好地整理、吸收以及理解这些知识呢?经过我过去几个月的探索与实践,我给大家总结了一种方法,就是如何利用一系列的工具来帮助我们更好地整理知识,构建属于自己的知识库。
核心工具介绍:Obsidian、Gemini 与 Cursor
本视频中用到的一些软件和工具,主要是一个记笔记的软件叫 Obsidian,还有谷歌开发的AI工具叫 Gemini,还有 NotebookLM。当然我可能还会用到一些AI代码编辑器,像 Cursor,我之前的视频中也已经说过。接下来我会给大家展示一下,如何更好地利用这些工具来帮助我们学习和理解内容。
首先介绍一下我们这节课主要用到的软件 Obsidian。它是一个以 Markdown 文件为主的记笔记软件。关于 Markdown 文件,我相信很多观众也清楚它的优点,就是书写起来比较规范整洁,尤其是对于理工科科目,比方说数学公式或者代码,看起来会非常有条理、很整洁。而且 Obsidian 这个软件有很多插件功能可以用,是我推荐大家使用的一个工具。这款软件主要是用来构建我们的知识库,或者作为我们记录所学知识的平台。
第一步:利用 Gemini 提取书籍核心知识点
我们如何利用AI来学习东西呢?比方说以计算机科学为例,你想学习算法,比较有名的一本书像《算法导论》。我相信学计算机的同学应该对这本书非常了解,这本书出了名的经典,但是很难,而且是一本大部头。我将会以这本书为例,教给大家如何用AI来构建类似于学习《算法导论》的知识体系,更有效率地去学习这本书。
首先用到我刚才提到的工具 Gemini,这是谷歌提供的大语言模型。目前有很多软件也提供这个功能,大家可以去尝试不同的软件。但是 Gemini 有一个很好的功能,就是它可以直接读大量文本。我想学习《算法导论》这本书,就直接喂给它这本电子书。我们选择最新版本的《算法导论》,打开后可以问它一些问题。我们的目的是把这本书所有的算法提取出来,因为你可能并不想一页一页地去读。
我给AI指令,让它把这本书中所有的算法给我列出来。它确实需要一些时间去分析,因为这本书非常厚,大概有1000多页。它相当于把整本书分成了十个章节,分成十个知识点,有排序算法、选择算法、数据结构、动态规划等,并且每一个小节都有不同的知识点,相当于帮我们总结了一下。
第二步:将提取的内容导出为 Markdown 文档并导入 Obsidian
接下来我们应该怎么做呢?我最终想把这些知识点变成 Markdown 文档的形式。我可以告诉AI把它输出成一个文档(Document)。有时候它会说无法导出,可能是因为涉及到知识产权等问题。我们可以利用别的方法,比如 Canvas 画板功能,它其实也是可以帮助我们创建文档和代码的。
我们再要求它 Export 试一下。这种方法能很好地帮助我们创建文档形式,大家可以看到这边有一个 Export to Docs,点击一下,它就可以把所需内容转换成文档。这个文档可以保存成 Word 或 PDF,基本上覆盖了很多种算法。我们想把这个文档保存成 Markdown 形式,可以点击 File Download,下载为 Markdown (.md) 文件。
现在我们需要把这个文档放在 Obsidian 里面。关于 Obsidian 的基本操作方式,你可以在本地创建一个文件夹,专门管理和放这些笔记。我在这边有一个 My Note 文件夹,把它粘贴进去。现在我的 Obsidian 里就有一个 Markdown 文档了,并且看起来非常有条理。现在我得到了《算法导论》这本书里基本上所有的算法。
第三步:使用 Cursor 批量创建知识库文件夹与文件
我想做的是什么呢?就是为每一个算法创建一个单独的文件,并且这些文件里有每个算法的解释、代码实现,甚至是算法之间的联系。怎么创建这一套东西?这个时候就会用到AI编程软件 Cursor。Cursor 是一个AI智能编程工具,我们可以通过给它指令,让它帮忙处理编程或文本功能。
既然我有大概十个话题(Topic),我想把这十个话题分别创建成十个文件夹,每个文件夹下有单独的算法文章或文本。第一步先创建十个文件夹。我要求它根据文本,在我的算法文件夹下创建十个文件夹,并且以每一个 Topic 的名字来命名。运行一下,这边就创建了十个文件夹,并且目前都是空的。回到 Obsidian 看一下,确实是有的。
下面我要创建很多文件了,这个时候AI的作用就显示出来了。如果想为每个算法创建一个文件,可能有上百个算法,工作量太大了。利用AI可以很好地省略这些工作。接下来让它在每一个文件夹下创建对应的算法文件。给它指令,指令完全可以用中文,只不过如果你的教材或文本内容是英文的,它能更好地理解英文。为了给它更详细的指示,我可以举些例子,比如在排序算法中1、2、3、4、5、6。
它需要创建一会儿。我们可以看到 Sorting 里面已经创建好了一些单独的 Markdown 文件,只不过里面什么内容都没有。回到 Obsidian 看一下,Sorting 里面是不是帮我们创建好了不同排序算法的标题?虽然是空的,但至少帮我们省略了非常多的工作。这里面有大家很常见的算法,比如 Prim、Kruskal(最小生成树算法),还有常见的数据结构如红黑树。它完全根据书本内容帮我们提取出了重要的知识点。
第四步:在 Obsidian 中构建知识关系图谱
现在基本上它已经帮我创建好了,每一个文件夹下都有对应的算法。这一步我想给大家演示的重要功能,就是如何利用AI和软件工具来构建文档。我可以给大家看一下 Obsidian 的关系图谱功能。点开后你会发现每一个文档其实都是一个点。
这个软件还有一个很好的功能,就是你可以创建文件和文件之间的联系。什么意思呢?比方说在图论算法中,你觉得这个跟 Prim 算法两者之间很有联系,你可以用双括号语法 [[Prim algorithm]],这样就相当于给它们建立了一种联系。如果你再打开关系图谱,你会发现 Prim 和 Kruskal 之间连了一条线。你可以点击任何一个进入,也可以手动添加任何联系,还可以拖动它们。这是一种非常好的构建知识体系的方法,把不同的知识点联系在一起。
第五步:结合 NotebookLM 深度提炼与辅助学习
到了这一步,有的同学想通过书本一页一页去看。接下来我会给大家介绍另外一个工具,也是谷歌出的,叫 NotebookLM。它其实是一个非常好的提炼知识点的工具。你给它一本书,它能给你列出很多知识点,包括帮你生成脑图或者音频。我们可以把这些工具结合起来使用。
还是通过《算法导论》这本电子书,先上传上去,给它一些时间去解读。NotebookLM 可以当成辅助学习的工具。大家可以看一下界面,左边是它生成的文档或你的 Source,中间的 Chat 就像 GPT 一样可以问问题,右边是一些其他功能。比方说你可以用它生成 Audio,像有声书或播客的形式,两个人对话讨论这本书。右下角还可以生成 Study Guide(学习建议/指导),以及对这本书的总结。如果是历史类的书,还有一个 Timeline 按钮,能很好地帮你梳理时间线。
回到我们创建的知识点,接下来主要看个人的学习习惯了。如果你接受能力比较强,想自己尝试,完全可以按照我们创建的顺序,从书中找知识点,自己把代码实现一遍,或者把数学证明记录一下,这是非常好的记笔记习惯。
NotebookLM 这里面有个非常好用的工具就是 Mind Map(脑图),它是提炼一本书非常好的工具。生成脑图需要一些时间,打开看一下,它能非常好地把这本书总结出来。大家可以结合刚才的文档和这个工具进行笔记的填充。比方说从数据结构来看,分成红黑树等,非常详细。如果你想了解具体内容,点它就行了,Chat 界面会给你从书上提炼出它包含的定义。这个软件很适合定义类、文科类等大量理论知识的学习,因为它都是以文字为主的。大家可以看到它给了红黑树很详细的解释。
第六步:利用 Cursor 自动生成算法代码与解析
回到我们这本书,如果有的同学觉得一个一个算法去看太耗费时间了,接下来我给大家展示如何用AI把这些对应的算法都实现一下,然后只需要学习它的代码和实现就可以了。
还是要回到 Cursor 这个AI智能代码编辑器。我就给它提要求,让它根据每个文件的名字,把算法都给我实现出来。算法的语言你可以自己要求,比方说以 Python 为例。我忘记跟它说语言了,它正好生成了 Python。我们可以看一下,它确实给我们添加了一套算法,包括把每个算法的优劣势、时间复杂度都解释出来了。
但这有一点目前做得不是很好,就是它没有把代码写成 Markdown 的形式。我可以要求它改进一下,让它把代码部分以 Markdown 语法来写,这样看起来更好看,能看到语法高亮。我又重新给它指令,因为确实要不断跟AI周旋,有时候它对指令理解有偏差。我给了更详细的例子,保证代码在三个点之间,这样才是正确的代码格式。
现在确实好一点了,我要的就是这种效果,代码部分是高亮的。对于个别漏掉的,我们可以手动添加一下。现在基本上我们可以把 Sorting 这一部分的代码看一下,生成的非常好,每一个都有注释和例子,可以直接拿到代码编辑器上跑一下。下面有解释、原理以及时间复杂度。如果你需要中文,直接告诉AI想要中文版就可以了,语言不是大问题。
第七步:完善个人知识库与图谱可视化
NotebookLM 还可以帮你生成 Briefing Doc,简单概括一下这本书。它生成的内容比刚才 Gemini 提供的更详细、更深入,也可以下载为文档。
回到 Obsidian,我干脆让 Cursor 帮我把这十个话题下的算法都实现出来。这样你基本上就构建了一个属于自己的算法知识库,非常全,覆盖了这本书所有的算法。复习的时候,你可以一个一个算法自己跑一下,看一下解释就行了,没必要去读整本书。
你可以在 Obsidian 里构建知识点的链接,而且它的可编辑性非常强。你可以分类,改变每一个点的颜色。比方说把 Sorting 算法都设置成红色,Graph 设置成黄色,Data Structures 设置成绿色。以路径的名字来对它进行选择,把每个话题分成不同的颜色,看起来比较美观。随便点一个,就可以进入当前的算法。
结语
本期内容就先到这里了。这就是我想给大家演示的功能,如何利用现有的工具来构建你的知识体系。我个人认为这种方法是更有效率的。感谢大家的观看,如果你有什么问题,可以在视频下方给我留言。