AI与Obsidian闪念笔记:构建高效知识捕获与内化系统 用AI發電 2025-12-27

大家好,我是社群管理员敏。今天是我们第一次会员直播分享,邀请到了社群的好朋友Flash。社群里大家一直有一个愿景,就是看看AI到底能有多大的能力,把我们的生产力推向多远。今天我们邀请到了一位非常有想法的实践者Flash。平时我们做笔记时灵感很多,但笔记很碎,整理起来比较麻烦。Flash他自己用AI coding工具和Obsidian(笔记管理应用: 收集、整理笔记,支持标签、文件夹、笔记关联,本地存储)结合起来,做了一套自己的工作流程和笔记流程。更准确地说,今天他会把这套系统背后的逻辑分享给大家。

大家好,我是Flash,一名程序员。前段时间公司裁员,我在家准备面试,接触到了coding社区。进入社区后,我觉得环境特别好,大家互相帮助,点子很多。点子一多,我就发现没地方记了。所以我想,我得把这些冒出来的点子,或者说我学习过程中碰到的概念,用一个更快、更快速的方式收集起来。基于这些收集的内容,我再可以做发散,甚至可以基于它产出新文章,或者做一些更深度的思考。但前期最关键的还是要先把它们都记下来,因为我们的灵感冒得很快,如果不写下来,它可能就忘光了。

核心思想:第二大脑与AI优先策略

这里面的背景逻辑是,我们的大脑其实不是用来存东西的,而是用来产生想法的。所以我们最好是把脑子里的一些东西放在外面,这就是很多人提到的一个概念——第二大脑(Second Brain: 将外部工具作为大脑延伸,存储信息以释放大脑思考空间)。这个概念就是为了让我们的脑子放松,腾出空间去想一些创意性的东西,思考知识背后的智慧。知识就是知识,都写在文字里、书本上,或者在你的电脑笔记里。当你把这些脑子里的空间腾出来之后,你就会真的有很多想法。

那么怎么清空脑子的空间呢?我的方法就是通过语音记录下来。我会有一个想法,会念出来。最早期我是拿iPhone自带工具录音,然后转文字。但接触了web coding社区后,我发现另外一条流程更快。我就在电脑上装了一个语音转文字的APP。这种APP很多,你可以选一个合适的。转完文字后,我又想把它整理到Obsidian的卡片里。这时,我就通过AI web coding的方式,把这条路径打通了。结果就是,我们当时在文章开头看到的动图,能很快实现这个效果。

大概讲一下这个核心思路。我们在做任何功能或解决痛点时,应该怎么思考?首先,我推荐大家的就是我们社区里也经常提到的AI First(AI优先: 遇到问题首先咨询AI,利用AI的广阔知识库拓宽解决方案视野)这个概念。任何你想做的事情,先问一下AI为什么这么做呢?因为我们人作为个体,思维必定有局限性。我们有点像一杯水,我们的知识储备。而AI里面你可以理解成大海那么多的水。遇到任何想法,最好的办法是先去问一下大海里有没有现成的水可以装到我杯子里。这样的话,就比我们自己去想,选择性更多一点。所以AI First其实解决了一个问题,就是我们在解决问题的选择上反而多了,你在选择上变得富有了。当你有更多选择的时候,其实往往你会做一个比较正确的选择。你选项多,你考虑的角度多,然后你选出来一个,它比你只有一个选项要更优一点。这个方法就通过AI问AI思路来达到。这个会融合到我们整个过程中,所以我就不细讲这块了,因为在社区视频里,像瑞和其他老师都讲了很多遍,在他们的视频里都会反复出现这个概念。

以终为始的设计与任务拆解

我另外一个想给大家介绍的呢,就是以终为始(Begin with the End in Mind: 先明确最终目标或结果,再倒推实现路径)的设计实现。也就是说,当你想做一个东西的时候,你其实是要想到你最终呈现的是一个什么东西?这结果是啥?具体怎么实现你不用管,你甚至可以写出来或者画出来你想要的东西。待会儿后面的Demo会给大家展示。

另外一个想提到的就是我们怎么样把任务拆开。当你把任务拆开的时候,你有一个目标了,然后把它拆开的时候,你会发现OK,那我希望从语音转到文字,然后再交给AI,再保存成Obsidian里面的一个笔记,然后就可以了。那然后你就可以根据一步一步去做这件事情。脑子里有个大纲,就可以正常的去往下操作了。这个就是我一个开篇。它本身的概念非常有价值,后面怎么做其实都是对这个概念的一个重申,或者说是一个强调和应用。

关键工具:语音转文字与Obsidian

那我们就进入下面具体怎么做的情况。具体做的话,我这边还是要先介绍一些工具,因为有些工具还是很便利的。第一个介绍的就是语音转文字的工具,它可以帮我们把说的话转成一段文字。

这个工具是Voice In(语音转文字工具: 将语音实时转换为文本,支持Mac系统,一次性付费)。这是它的官网,你可以下载。这个是针对Mac系统的,Windows系统会有另外的,大家可以去找一下,社区里也有,甚至你可以问一下社区里的AI。它的作用是怎么做的呢?我可以展示一下。比如说我随便写一个东西,我会说“Voice In是一个语音转文字的工具”。你会看到我的下方会有一个录音的图标在闪烁。当我再按一下快捷键之后,它就会把我刚才说的这句话直接贴过来,它会做一些整理,不会说把那些“呃”、“嗯”的东西都弄过来。这是我觉得很方便的一点。这个工具它有一段时间的试用,所以我推荐如果你是Mac系统,你可以下载下来试试看。它的价格也挺好,因为它并不是按月份收钱,它是Solo价,就是一次性的价格,管一生,也就是Lifetime(终身授权: 一次性购买,永久使用)。我比较推荐它。另外我这边还有一个优惠,大家如果通过我的链接进去,它会有一个大概7折优惠的样子。当然你先要试用一下,试用一段时间觉得好用,你再说这件事,不好用你就换别的呗,对吧?

这个是我们AI Web Coding(氛围编程: 在心流状态下流畅输出想法)最关键的一点,我认为是最关键的一点。很多人觉得AI其实无所谓,但是我为什么说它关键呢?是因为Web Coding这种氛围编程,你是有一个状态。我们一般聊天的时候是最有状态的,或者我现在跟大家说是最有状态。但是如果我要落在纸上,我要去打字的时候,你会发现一些非常轻微的停顿,你会想这个措辞要怎么样,这个要怎么样。当你进入这个想的状态的时候,氛围就没有了,一个流逝地往外输出你的概念那个状态就打断了。所以这个语音转文字的工具在Web Coding里是非常重要的,它让你很容易地进入一个心流的状态,把你脑子里的想法都Down下来(记录下来: 将脑中的想法快速捕捉并记录)。这是很关键的一个Idea(想法: 经过思考和关联产生的洞见)。所以我首先开篇先介绍这个东西。

下面再介绍一个简单的东西,就是Obsidian。这个概念可能大家有人用过,它是一个APP,帮你把笔记整理成一个个笔记。你会看到界面里面是具体笔记的内容,它会有些标签,这边是你所有笔记的列表,还可以放到文件夹里做分类。你甚至还可以把笔记做关联,然后你就会看到一些趋势,有哪些笔记比较集中,说明这个概念可能会比较重要。具体怎么做Obsidian笔记不是这次讲的内容,所以我就不细讲了。这次我们只是讲说,我们怎么样把脑子里的概念快速地放到笔记里面去,也就是说创建一个个的笔记,怎样快速地去创建,而且保留一些我们固定的格式。

Obsidian笔记的AI辅助创建实践

这里我们要进入实操的Demo了。现在我要做的就是创建一个新的笔记空间。我这边来选择Open Vault(打开库: 在Obsidian中打开一个笔记集合)。Vault这个概念在Obsidian里,你可以理解成就是一个工作空间,可以说是一个文件夹。我在这里新建一个文件夹,可以叫做“AI Note”。我也可以选择从一个现有的文件夹打开,默认选到“AI Note”然后打开。这时你会发现我有一个空的Obsidian工作空间,和我现有的不大一样,因为现有是已经有东西了。这个空工作空间比较方便大家分类去做一些事情,比如说你的烹饪可以放一块,你的AI Notes可以放另外一块。这样就有点像分主题,但是它比主题要大一点。所以随着你的卡片笔记的增多,你就会发现OK,我真的需要分了。所以我建议你最好最开始就分一下。

OK,我们建好之后,我们来创建一条笔记。比如说,这就是强调刚才以终为始的那个概念,就是我们到底希望笔记长什么样子。我们可以通过“Create New Note”来创建一个笔记。在Obsidian里面,一个笔记的名称可以在这里写,我可以说叫“Obsidian介绍”。OK,这个标题其实就是它的文件名。你会在这里看到它的文件是一个Markdown(轻量级标记语言: 一种纯文本格式,通过简单标记实现排版)文件格式。我们打开之后就是它的内容。Markdown文件格式本身是一个让你专注于内容创作的格式,它会给一些小的标记,让你来区别一些常见的内容框架,比如标题、标签或列表之类的。我们不会设计那么深,我们就会看一下这次的标题的Demo是什么样。我们会做一个类似这样的一个格式:有标题,有标签(Tag: 用于分类和检索笔记的关键词),然后有一个描述。我们有了标题,然后我们加一个标签,这是标签的Fleeting(闪念: 快速捕捉的临时想法)。这是一个标签,标签你可以过滤。Fleeting这个英文的意思就是闪念的意思,它这个词来自于卡片笔记整理法,这个就不细讲了,大家有空可以去搜索一下。任何一个闪念都会加一个Fleeting标签,然后会有一句话。这句话可以是我语音说上来的,但是我可能觉得它还需要精简,这块先这样,我觉得应该是差不多精简过的内容。好,这就是我们做成了一个我们想要的Note,笔记,或者我们叫它卡片也好,因为它内容不多。这就是我们最终的目的。你会看到,其实我不用任何AI工具,我人工也可以创造出来,对吧?我只要遵循一个格式,就可以把它创造出来。好,这就是我们介绍了Obsidian的笔记,你会有很多,你会把很多东西记起来。

利用ChatGPT简化笔记创建

接下来我们来介绍跟AI有关系的。我们在做真正的Web Coding的时候,其实我想给大家介绍一个非常方便的东西来进入这件事情,就是你不用装任何东西,你就可以做这件事情。我们就是用ChatGPT(对话式AI助手: OpenAI开发的大型语言模型,擅长自然语言理解与生成)这种对话式的AI就能帮你实现。

具体怎么做呢?我们来看Demo。我在右边打开一个ChatGPT的聊天窗口,你会发现这个聊天窗口其实跟我们任何其他聊天工具,比如说Gemini(谷歌开发的对话式AI模型)呀,或者是Claude(Anthropic开发的对话式AI模型)呀,或者是国内的豆包啊都很像的。在AI这个大的语境下,这种对话式是最先出来的,也是最常用的。那么我们先来让它帮我们做一件事情。我可以怎么做呢?首先我可以在这里面跟它讲:“你是一个Obsidian的助手,你会帮我创建一个Obsidian格式的卡片,然后这个格式是下面这个样子。”我给它定义了一下你要干什么。然后呢,我要把我所谓的格式写给它。你会看到我加了三个点点点,这是一个标记,Markdown里面标记是一个代码框的意思,到时候你可以去看一下Markdown就了解了。这是我们想让它生成的内容,大概是这样。然后我再说:“请你根据这个格式,把我下面的内容转化成这种格式。”然后把内容写给它。大概是说我们想说什么呢?比如说ChatGPT吧,我描述一下ChatGPT这个概念。那么ChatGPT呢,它是一个以对话形式跟你聊天的AI助手。OK,好,我来回车。你会看见我其实并没有登录我的付费账号,所以这就意味着你免费也可以做这件事情,不用做任何设置。这个对我们小白用户是非常友好的,你可以快速地去做这件事情。

我们看到它已经帮我们打了一个标签,打了一个题目,因为笔记已经做好了。OK,那我们就把它复制下来,在我们这里创建一个新的卡片,然后贴过来。贴过来的时候,你发现哎,这个标题和我们说的标题不大一致,这个没关系,我们会在后面再讲到怎么解释。那么现在我们就是手动把它改一下。OK,好,我们又有了另一个。你会发现它还有识别性的错误,那么我们稍微手动改一下,好,或者说“Intro”都可以。好,这样我们有了第二条笔记。我可以继续跟它说我的笔记内容,它就可以自动地来做这件事。我们来试另外一条笔记。比如说我们Obsidian介绍了,Voice In是一个可以把语音转换成文字的APP,它在macOS系统下运行,可以方便地提高Web Coding的心流体验。这就是我用口语描述了一个内容,然后给到它。OK,保持当初,先不管它。

你会看到我又放了一条我口述的内容,然后它就自动地帮我把这件事情做成卡片了。所以你会发现,其实到现在为止,你都不用装任何的像什么CodeX乱七八糟的,什么VS Code的这些东西,你已经可以提升很多的效果了,对吧?你会发现哎,这已经可以解决我很多问题了。我们创建一个Note,然后把它粘过来。然后都稍微改一下它的拼写,它拼错了,我把这个删一点。OK,好,又是一条笔记,我们这样做了三条笔记出来。

这个AI能帮我们做很多事情,主要是哪几点呢?我们会客观地说,其实如果是我们刚才手工创建的时候,我们要写很多东西,格式调整。但是在AI里面,它就帮你简单做好了。另外一个我们会发现,你会观察到它其实会有一种记忆的感觉,它会明白你是什么意思。当你再给一个新的笔记的时候,你什么都不用说,然后它就照做了。哎,这个是很有意思的一个观察。它背后是一个什么逻辑在呢?它有一个关键的逻辑,是我们讲到的是它的一个上下文窗口(Context Window: AI模型在单次对话中能记住和处理的信息范围),或者说你把打开的这一个叫做一个对话窗口。当你关闭或者不开启新的窗口时,它都是这么一个能够记住你指令要求的一个短期记忆块。如果我们开一个新的窗口,我们把刚才的一个命令,刚才一个想记录的内容给到它的时候,你会发现它的结果跟我们前面一个就完全不一样,它就根据你的话在解释这件事情。那其实这并不是我们想要的,对吧?你也会发现,相当于它开启了一个新的窗口的时候,它已经忘记了你前面给它下的指令了。所以这个ChatGPT就非常好地给大家展示了这个上下文窗口这个概念,你可以理解成它就是一个非常短期的记忆,就在这一个对话框里存在。如果换了框就不实现了。但是你因为有了这个框,你可以在下面继续给它你的笔记,它就会不停地、一致性地给你转化成你的效果,实现你的需求,任何你的新功能都可以用这种方式来实现。

VS Code与CodeX:文件操作的自动化

但是这种方式实践,它其实还是会有一些问题。因为你会看到我们在转化的时候,还是要手动去改一些格式的问题,因为它的文件名我们没有办法让AI直接帮我们出文件名这些事情。因为假设我们创建一个东西,然后我们复制它,然后我们粘到这里的话,你会看到它有点不一样。因为Obsidian默认定义说你的文件名就是标题。然后如果你把全文字都粘下来的时候,你仍然还要做一些这种编辑,然后这边还不大对,然后你可能会改很多地方。OK,那我把这个删掉。

好,那这个时候我们就要介绍一个新的工具了。这个就是我们刚才提到的,把它放大一点,叫做CodeX,呃,sorry,VS Code(Visual Studio Code: 微软开发的免费代码编辑器)。VS Code是一个编程人员常用的代码编辑器,或者说一个Application(应用程序: 运行在操作系统上的软件)。它的界面中间就是显示你的代码。当然对于我们来讲,可能就不是代码了,对于我们来讲,可能就是展示我们的Obsidian里面的内容。这个内容跟这个很像,你会发现它俩。但是左边也是列表或者一些功能,右边它不同的地方在于它有一个AI对话框。它把刚才我们说的ChatGPT这种对话模式整合到了代码编辑器里面。那么其实你可以理解成,它就是一个AI对话整合到了编辑器里面。但是因为它专门用来开发代码的,所以它还包括这个编辑器,还有一些代码相关的功能,会让你更顺畅地来做这些事情。当然我们这次的重点不是在这里,我们就是介绍一下这个东西是什么。然后呢,我们来根据VS Code展示一下怎么样用VS Code把这件事情来实现。

好,现在我来打开VS Code这个应用程序。VS Code打开,这个时候把其他的就稍微关一下,然后把VS Code拽出来。你会看到VS Code它默认就是一个空白的页面,我们可以关掉,然后这边都是空的。这时我需要打开一个Folder(文件夹: 用于组织和存储文件的目录)。这个Folder就是我们刚才创建的“AI Note”这个Folder。你会发现它会跟Obsidian共用一个Folder,这就是我们的关键所在。我们共用Folder,就可以在这个情况下做一些很有意思的操作了。好的,这是空的。我们看一下我们已经创建的一些文件,这个字体有点小,我放大一点。好,希望大家能看清楚。这个就是已经有的文件,但是它跟我们Obsidian查看的时候稍微有点怪,对吧?这是它渲染出来的一个比较漂亮的格式。在这里呢,你会看到它是一个纯文本的格式。因为Markdown本身就是一个纯文本的文件,里面就是文字,然后用这个来表示标签,然后它的文件名被渲染成了标题。大概是这个效果。当然我一点一个标签,就可以把同样标签的卡片或者说笔记展示出来。这个不是今天的重点,我们就先不管它。

VS Code。当我们有了这个之后呢,我们在右边的对话框里面,我们会看到有两个。那你如果还没装CodeX的时候,你应该只有一个。然后我们就以这一个来开始,因为它不需要你装CodeX,我们就可以开始做这个聊天。我们怎么办呢?我们还是把刚才那个事情来,我们把刚才的对话复制一下,这是我们给它要下的命令,复制一下。我们在这里贴一下。好,“你是一个助手,会帮我创建一个卡片,然后格式是这个样子的。”嗯,格式这个格式我就稍微改一下了,因为这里我们并不需要标题。然后“请你把下面格式转化成格式。”OK,我这里面可能需要介绍一下说:“你要创建Markdown文件的,然后Markdown文件的名称就是这个内容的标题。”好,这是我给它补充的一个内容。好,然后“请你把下面内容”OK,行,差不多了,我觉得OK了,然后我们就点这个发送把它发出去。

因为VS Code是微软开发的,它会自带一个微软提供的AI助手。所以我们可以直接用它,而且你会发现这个助手也是不用你花钱的,它也是免费的开箱即用的。当然你可能会有一些用量、线上的限制或者速度上的限制,反正就是会有一点限制。不过对我们来尝试来讲是没有问题的。你会发现它刚才在写了一通的话,其实我们不用看。它是在思考怎么做。我们点开可以看到细节,但是现在我们不用太关注细节,我们就关注它的结果就好了。你会发现它创建了任务,然后已经完成了,做了个报告,说它生成了这么一个笔记,包括这个包括这个。这个答案我不管它,我们看一下它生成的笔记。好,你会发现它直接生成了一个我们说的笔记或者卡片的内容,然后这个格式也是我们想要的。OK,没问题。虽然跟我们刚才生成的不大一样,不过问题不大,这已经满足我们的需求了。我们可以对后面的一些做修改。这里面你会发现VS Code的这个助手在生成这种内容的时候,它会有一个绿色的这种高亮,那个意思就是说整个这个文件是新创建的。然后你觉得这个内容好,那我们就可以选择“Keep”来保存这个文件。OK,相当于是做一个Double Check(二次确认: 再次核对以确保准确性)。

这是它的一个特有功能。这时我觉得这个助手的特点,你会发现它能够非常顺利地帮你手动创建这么一个卡片,对吧?把这个卡片是不是也能放大一点?看一下。你会发现它也是能够帮你做卡片了,而且不用你手动去做文件的这种名称的操作,对吧?但如果我们大家追求完美的人,会觉得哎,这个卡片它有一些不大好的地方,比如说文件名就比较长,对吧?我有些新的需求出来了。那这样的话,你可以直接跟它说:“你的文件名太长了,我们希望文件名尽可能地短。比如说把关键的内容提取出来就好,不要太长。”你看我并没有给它具体多长这件事,因为我也不清楚多长合适。但是呢,我就大概给它说了我的这个概念。然后它也就会去想怎么怎么样,然后我们再看它会有什么结果出来。OK,你看它在思考的过程中,已经提到了这个文件。OK,好的。你看它说:“我把文件重命名为短名,创建新的短名文件,删除了旧的文件。”OK,Check一屏。OK,好。你看见它把刚才,看一下这里,我们点开一下这个小窗口,很有意思。它是创建了个新的文件。如果我们觉得OK,我们点开看一下,你觉得OK我们可以Keep保留。然后它说已删除,它其实并没有删除。你会发现这个文件还在,对吧?这里面你可以直接让它删除,当然更快的方法就是我们直接删除,这样也是OK的,就看你怎么喜欢怎么来。

你会发现我们刚才用AI的方式,我们创建了一个功能,它能够把我说的内容变成卡片,同时我还能稍微改一下这个内容。当然你会发现这个文件名也错了,也是这样。你可以让AI改,然后你可以手动改。因为今天的展示时间比较有限,所以我就不让AI改了,我就直接手动改。好,这俩是一样的,那可能删一个。

接下来我就再再说一条吧。这些概念都讲过了。那么我们再讲说,Voice In这种语音转文字的APP它对我们Web Coding非常重要,因为它能够让你保持一个流式输出的状态,把你脑子里的内容一口气地给到外面。好,这也是我给了一个新的笔记。我们看一下它会不会帮我们创建一个新的笔记出来。顺便再说一下,就是整个VS Code默认的Chat聊天的Agent,它默认是用中文回答你的,好像它对中文这种处理会比较好。你用中文说,它一般都会用中文回答。当你切换到CodeX的时候,可能你要明确地跟它说用中文回复我,它才能够切换那个状态。看一下,它还在工作。

OK。然后我们等一下,我们顺便介绍一个概念,就是说当我们在跟Chat这种AI来聊天的时候,如果你用中文跟它对话,你就一定要它用中文回复你。这并不是说为了我能看懂英文这种概念,而是说你要保持一个心流的状态,也就是说你不要在中文和英文之间做太多的切换。所以如果我用中文下命令,你一定要要求它尽可能地用中文回答我,保证我的思考流向是同一个流。但如果你说我是用英文下命令,那它最好是用英文回答我。这样我都在一个Channel(频道: 信息交流的路径或方式)上,我不用在两个频道来跳,这样也会提升你的Web Coding的氛围感。这是我的一个体验。

好,我们看到它其实并没有创建一个新的卡片,它是在旧的卡片上做了一个修改。我们点开看一下。OK。这里面我会再介绍一下这种AI编程工具的编程编辑器,它有一个挺有意思的点,就是它能够帮你做这种比较,就之前我的内容是什么,那么我现在的内容是什么,它会有一个比较。这两个比较你会看到说之前有个空格,在后面的这个高亮的这块它有两个空格在,那么现在它把空格去掉了,就是绿色的部分。那我觉得OK,它改的可以,没问题。那我们需要Keep。那么下面它会说,它会把这两个内容加在一起。你会发现,在这个情境下,我觉得加一起就加一起吧,也没什么问题。但是在有的情境下,你可能希望它分开,那你就可以选择Undo(撤销: 撤回之前的操作)。就是我不希望你这样做,你虽然刚才做了一通东西,但是你做的并不是我想要的。那么这个时候怎么办呢?我就不接受你的修改,然后我再下一个命令说:“你需要把刚才我的笔记内容单独创建一个卡片文件,不要跟现有的Voice In混淆。”好,这就是我给它下了一个新的命令。理论上讲,它会创建一个新的出来,当然它可能会有一些边界的情况出现,我们到时候再看。这就是说,我们让它下命令,让它把合并错误的让它分开,或者说让它单独出现。

另外要提到一点,就是刚才我们在ChatGPT聊天里面,我们提到了上下文的概念。那么在AI Web Coding的VS Code里面,这个概念也是成立的,有这个窗口,其实也是一个上下文的窗口。当我们如果说创建一个新的窗口的时候,它就会完全忘记了我们刚才所说的内容,所以你要有这个概念。然后我们点刚才的这个对话的Session,我们还可以回到我们刚才说的内容。OK,它好像我看它是怎么回答我的,哦,已经创建了这个问题,并且按照任务。OK。这个后续的下一步动作,通常看你的需求要不要做。我们不需要合并,所以不用管它。那我们这边看一下,它生成的新的叫做“Voice In”,它能让保持。OK,好,我觉得好,保持,这就是我们想要的。

现在我们发现我们可以做这件事情了。我们可以通过VS Code来实现刚才我们实现不了的一些功能。比如说我们让它创建文件的名称,做一些细节的修改。这个东西如果在我们之前的Obsidian里面,我们可能要手动来做。在这里面可能也要复制粘贴,不方便。而当我们用到了走到了这一步,其实我们才真正进入了Web Coding的这个状态里。为什么呢?还是回到刚才最原始的概念。Web Coding,你是要保持这个氛围的。我们通过语音转文字保持氛围。我们通过一致性的中文问题、中文回答保持氛围。而我们通过VS Code的这种能够直接操作文件的APP加上AI,同样也是为了保持一个氛围。也就是说你不用去考虑修改文件这件事情,它帮你做了,而这个流畅度就又近了一步。

记忆化Agent与CodeX CLI的进阶应用

OK,好。这时你会发现说我们给它做这件事情,我们并没有换了一个窗口它就忘了。我们要想把它记住怎么办呢?记住的办法的话,我们会介绍下一个概念或者下一个应用了。这个是OpenAI的CodeX(OpenAI提供的代码生成与理解模型: 针对代码层面优化的AI助手,擅长代码开发、文件操作)。CodeX是什么呢?你可以理解它是一个AI助手,就跟刚才我们那个Chat是一样的,但是它更针对代码层面做了优化。所以它更擅长于对于开发人员来讲,它更擅长于开发中的写代码、改代码或者评测代码或者合并代码。但是我们小白用户其实不用关心那些事情。我们关注的最重要的一点就是,它可以帮你写代码,或者更基础的一点,它可以帮你创建文件、删除文件、修改文件。这些其实已经能够帮助我们在Obsidian这个Case里解决很多问题了。至于说代码这件事情要不要深入,那我们可以在社区里其他的CodeX课程可以了解一下。

CodeX它有几种形式。一种形式是配合IDE(Integrated Development Environment: 集成开发环境),就是说我们的VS Code这种东西就叫IDE。我们打开一下,看,我们把这收起来。它可以作为一个插件,你可以在这里插件安装这个CodeX的插件。安装完之后,你就可以在右边看到这么一个对话框,它跟下面那个Chat是一模一样的。但是呢,它有它的一些特性。那这是一种形态,它可以通过CodeX这种插件的方式存在。还有一种方式,它可以通过终端,就这个界面展示的终端的形式来存在。你开一个终端窗口,然后里面写进去就可以。那终端这个概念叫做CodeX CLI(CodeX Command Line Interface: 通过命令行与CodeX交互的工具),也在我们的社群视频里也有,大家搜一下关键字也可以了解。我们就先用这个。这个教程在这里,我好像看看我能不能直接复制粘贴给大家。好,那我们就基于这个来做一些事情。

现在我们用CodeX做这件事情。如果我什么都不做,我直接跟CodeX说:“CodeX是一个专注于代码的AI编程助手。”我说了这句话,我给到它,其实你会发现它没有任何的,不会有太多的操作在里面。你看它只是说“OK,我明白”。但你会发现CodeX和ChatGPT有点不同,还有一点不同就是它反应稍更快一点。因为Chat会稍微慢一点,首先是因为我们没有付费。而CodeX我用了付费的账户,它是跟我们的GPT有一个Plus账户,也就是每个月20美刀,这个是绑定的。所以你有了那个Plus账户,你就可以在CodeX里直接用这个CodeX功能。好,然后你会得到一个更好的专注于代码生成的能力,然后你还会得到更快的一个响应。当然你还会解锁一些更多的功能,这就是我们下面要介绍的。

好。这里面其实我会推荐大家可以看一下瑞的那个“For an App”里面,它其实非常详细地介绍了你怎么用CodeX来实现你的功能。那个更细,我这个介绍的就是简略地介绍一下。OK。我们下面其实是希望能够实现它能够记住。也就是说当我开一个新窗口,它应该把这些都记住,而不是说就忘了,这并不是我们想要的。我们可以把刚才的这一段话复制出来,全选复制,然后到这边粘贴过去。OK,我大概跟刚才Chat里面做的内容其实是一样的,只不过我是跟CodeX有明确说了一下这件事情。然后它好像做了一些东西。它做的东西还挺奇怪,它好像在我们这创建了一个文件夹,然后又创建了一个Fleeting Card,然后又创建了一个这种标签形式的东西,这是一个新的概念。那么我看一下它为什么会这么操作。这很奇怪,它的行为很奇怪。我们看一下它创建了什么。它是在我们的Vault里面创建了Fleeting文件夹,然后放进去了,然后加了一些Fancy的一个展示,然后这是一样的。OK,OK,懂了。这是为什么呢?这是因为我安装了一个我自己设计的一个Skill(技能: AI助手预设的、可执行特定任务的功能模块)。看一下叫做“Edit Card Skill”。这个Skill相当于把我刚才讲的那些东西打包了一个包,然后它就会做这件事情。它会在默认的文件夹里面放置这个,然后根据这种格式,Fancy的格式来展示。这个Skill我可能会在做完这次分享之后,在论坛发个帖子给大家,然后告诉大家这个怎么安装。因为这个不是今天的重点,我就不细说了。但是你会发现我的Skill已经和我刚才说的这个文字的东西冲突了。

当然Skill也是一种帮你把你的功能落地的一个方式。你可以自己让它创建Skill。比如说这有一个Skill Creator,然后你跟它说我要创建一个什么什么Skill。当然我在这里就不演示了,然后它就会帮你创建一个Skill。当然我们这次重点不是讲Skill,而是说当我们把这件事情做完之后,我们怎么做呢?呃,我们怎么让它真正没有Skill的情况下记住这件事情呢?我们要介绍一个叫做agents.md的概念。这个也是在“For an App”里面提到过的。这是什么东西呢?就相当于给Agent,我们这个文件夹的Agent给了个记忆,它每次进入这个文件夹都会读取这个文件。

那么我们可以这样说:“请你创建这个文件,然后把刚才我们对创建闪念卡片的事情记录在你这个文件的Playbook栏目里。”你有的时候会发现这个语音转文字它其实有些错别字。在我的体验里来讲,就是首先为了达到Web Coding的状态,错别字你不要管。其次,因为AI助理它其实是很强大的,它能够通过你的字里行间理解你的意思,忽略那些错别字,所以也不用太操心。

这时我们创建了个agents.md,然后Playbook(行动手册: 记录常用操作和指令的集合)。这就是我们讲的一个Markdown的格式,就是大标题、次标题、三标题。Playbook就相当于说我要怎么操作,一些常用的都放进去。我们在瑞的那个教程里有详细的介绍,有空可以去看。这个面呢是“我讲一个闪念卡片的制作”。OK,闪念卡,这个叫法有点怪,我可以让大家叫“闪卡创建”。闪卡创建就说明AI运行,这里面运行差应该是跟我的那个Skill脚本那个重复了,这个就重复了。然后我们可能会稍微改一下,说把这个格式给到它。我们可能还会说一些:“文件名用作标题来做文件名。”OK,这就是一个Playbook。然后当我们在开一个新的Chat的时候,因为有Playbook,所以我们所做的事情就都记下来了。我因为时间关系,因为这已经超时了,所以我就不讲那么细了。大概的概念是这样,大家能理解这个思路是什么就OK。

最后可能我要介绍一下最开始的CodeX CLI(CodeX Command Line Interface: 通过命令行与CodeX交互的工具)。CodeX CLI就是相当于当你去,这是一个Terminal(终端: 命令行界面)这个概念,咱们社区里也有讲。当你用CodeX安装成功之后,然后你运行就会进入这个状态。我这边呢要进入我刚才的那个上下文内容的话,我就用这个复杂的命令,但是其实你只用前面就够了,如果你开新的话。关于这个Session的概念,如果大家感兴趣,我可以单开一期来讲,今天不是这个主题。当我们Demo一下最终的效果是什么样的。当然这个已经包含了我的。我还是开一个新的会比较好。比如说我开一个终端,然后我要进入到我刚才的那个文件夹。我找一下我文件夹,在这里,OK,这是我的文件夹,然后这边点复制,然后找到刚才这终端。然后CD应该,哎等会儿,我还是用一个大家比较容易接受的方式来进入比较好。首先,我找到文件夹,然后右键有个服务,然后有一个叫做“New Warp Window Here”。当你装了这个Warp这个终端软件,它也是需要安装一下,我们社区也有介绍怎么安装。当你安装之后,你就进入了这个文件项目文件夹。当然我用这个命令是用来看这个内容的。当然你可以不用这个时候,你直接输入CodeX。当你安装了CodeX之后,你就可以直接进去了。进去的时候,它会问你是不是允许一些Approve啊?Require Allow啊?我用Allow就行了。这个是在说它做一些操作的时候,会不会征求你的同意?我就让它为了丝滑的话,我就让它直接不用征求了。然后这个状态就进入好了,那我就可以把这个标签留着,然后我再把刚才的Obsidian找出来。稍等,我再稍微调节一下,开的东西有点多。

我们就可以通过一些Fancy的设计。比如说我打一个大于号,这就是Markdown里面的引用的意思。当然这个我没有刚才介绍,你是通过刚才的介绍概念可以自己加的。比如说有个大于号的内容,你就把它转化成闪念卡片,你加一句自然语言,它就能做这件事。然后我们说:“CodeX CLI是在终端命令行运行的一个AI编程助手。”好,这样我又加了一条记忆。你会看到它其实操作跟我们在VS Code里其实是类似的。那我推荐新手最开始先不要走这里,而是先从这里做。因为它有一些非常直观的上下文,让你能够了解它在干什么,然后也很方便操作这些文件。什么时候用CLI呢?就是当你很熟练了,你会发现哎,其实我这些看的都差不多,都知道,然后我就直接用吧,就可以再做这件事情了。然后你可以看到它操作了一大堆,然后它在这里生成了一个这个文件。我在这里能够看到它刚才生成的这个笔记。那我依照这个思路,可以说很多,比如说:“命令行是一个跟电脑进行交互的程序,它能把你的命令给到系统,然后会把系统的执行命令的结果给还到你。”就是这么一个对命令行的一个介绍。然后我还是用这个方式加一个大于号来给它。你会看到它对命令行也做了一个解释,对吧?笔记也落下来了,非常好。那我甚至可以把命令行和它连起来。哦,我不做这个连接了,这个是超出我们课程的介绍了,时间差不多了,我觉得我已经讲的差不多了。

问答环节:闪念的价值与知识内化之道

Flash,我们想看一下你最后的那个效果,你可以展示一下你最终的效果吗?就是直接出现一个卡片。对,直接出现一个卡片。你会看到这是最终的效果,这是我们在号召这个活动分享活动的文章里展示的。当我们写一个大于号,然后我们后面按下这个语音输入,比如说:“我们这个AI和Obsidian闪卡记录的分享活动,是分享Flash怎么样去创建一个闪卡的过程,还有它的思考路径。”当我说了这些话之后,你会发现它就会转化成文字。当我回车之后,它就会正常地运作,然后会把这些过程你其实不用再管。但是你会看到在右边的Obsidian卡片里面,它已经创建了一个卡片,格式很标准,也是我们想要的。顺便说一下,我当时是在下面做的。后来我发现其实做一个专门的Fleeting卡片目录(闪念卡片目录: 专门用于存放快速捕捉的临时想法的文件夹)给到它会更好,因为你会知道去哪。当你卡片很多,你就发现了个痛苦了。所以有这么一个入口的一个文件夹是很重要的。这样我们就可以在这个状态下一直输入很多你想要的这种闪念,这都是没问题的。好的,那我这边分享就结束了,下面就请我们进入到问答环节。谢谢Flash的分享。

我们稍微等等一下大家的问题,他们可能不大适应这种问答的形式。大家可以把问题写到上面,也可以举手上来问。

问:平时不在电脑前面,是怎么记录闪念笔记? 这个问题其实非常好。你如果不在电脑前面的话,最好的办法我觉得还是要通过手机这种随时能跟到你手边的设备来记录。我觉得你可以找一些,像瑞就设计过一个闪念记录的功能,当然你需要把它内容同步到Obsidian。另外一个我觉得比较方便的是,就直接用手机里面内置的录音就可以,然后你把它录下来就行。当你回到电脑的时候,你可以一条一条地再播放给这个语音识别的,比如说Voice In,就直接重复一下这件事情。当然还有一些比较批量化的Fancy的做法,那么对小白用户来讲可能不大友好,所以我就不推荐了。

批量做的话就是,你相当于要把你这些录音,比如说你是一段一段录的,你会有10条录音,你想办法把这10条录音从你的手机同步到你的。比如说在苹果系统里面,它有这个语音备忘录这件事,这是我的Mac电脑上的样子。但是在我的手机里呢,它也是能够看到的。它俩之间是同步的。当你把这个同步解锁了的时候。它两个是同步的,就是当你这边录了,这边就会过来。那这个语音你就可以直接地转文字,然后复制粘贴到你的内容里面去。当然你看我其实录了很多,所以可能不大适合这种一条一个小的东西,但是也没问题,也可以这么做。闪念这个东西因为太快了,所以你最好的办法,当你不在电脑前的时候,最好的办法,你还是要想一个非常快的个方式把它录下来。手机是一个办法。还有我发现Apple Watch也有录音的功能,也是会非常快地解决这个问题。所以我觉得这块应该能解答到你的答案吧。

这里面顺便说一下,就是闪念(Fleeting Idea: 瞬间产生的、有价值的想法)这个事情还是要非常关注地记录这些东西的。因为我把闪念这个东西比喻成上帝给你的提示。也就是说,这些提示是非常有价值的,也只是在某些状态下会触发,所以它非常宝贵。如果你错过了,你可能真的就想不起来这个提示了。这时你也不能埋怨上帝说你没帮我,对不对?人家给了你提示了,你只是没接住而已。所以其实我们大家很多时候,比如散步、聊天、甚至洗澡,都会想到一些非常有创意的概念点子。这些点子对于我来讲非常有价值,而且非常难以复现。这时你还要尽可能地快速地把它收集起来。最快的方法就是录音,其次呢,就可能就是写下来。

问:Obsidian最大的优势和Web Coding的关联在哪里? 这个问题其实问得特别好。因为我们在讲Web Coding,我们也在讲Obsidian,其实我们不一定是说Obsidian,甚至是任何笔记管理软件,它和Web Coding之间有什么最大的优势。首先我讲这种笔记管理软件的优势是什么?最最开始我也提到了,就是它能够释放你大脑去。首先它能够帮你的大脑清空,把你所有的概念都放到了一个外部的第二大脑的一个笔记管理的里面,就清空你的大脑。然后呢,你才有了空间,你才会去想一些创意的事情。然后你还是发现说这个卡片和卡片之间的关联,你还是要去自己去想这件事情,就是光收集这件事情。当然跟我们的主题就有点远了。这个问题问得非常好。当你收集够了之后,你下一步怎么办?那么你可以像我这样做这种图片,这种Visual Aid(视觉辅助: 辅助理解和记忆的图表或图像)来把它关联列出来,然后找一些它们之间的关系。对我来讲最好最有价值一点,就是它能够把你脑子清空,你不用总想着这件事情,你就怕忘了,因为它就在你的电脑里,它不会丢。甚至像Obsidian这个软件,我比较喜欢它的一点是它在免费版本,它可以在本地一个随便文件夹就可以开始了。那么这些东西都不用上传到云端。当然上传到云端,你可以用多设备同步这件好事。但是其实有很多人他并不喜欢上传到云端,或者他喜欢简洁,这就够用了。当然,上传云端好像是要收费的,我印象中。当你这些知识都放到外面的时候,其实你会腾出更多的空间去思考一些创意的事情,思考一些它们之间的关联的事情。

问:Obsidian最成功的Use Case是什么? Use Case(使用场景: 特定情境下的应用实例)的话,我可以先讲一个非常跟Coding有关的。就是当我们在进入Coding这个社群,我们会学很多东西。首先我们看很多视频,对不对?我们会接到很多的教程要去学。那你会发现其实用Obsidian这类的笔记工具,帮你来记录是非常方便的一个方法。你只要对着它说,因为我们做好了这个工作流之后,你只要打开一个我们想学的内容,然后学到一部分,然后你对着它总结说这一部分讲的是什么,然后这就变成你自己的一个卡片知识卡片。它跟教程不一样,教程很细节,而你的卡片是很概述的,提纲挈领一样。然后当你的卡片都增多了之后,基本上这个课程的内容你就学完了,都放在一起了,对吧?然后让AI整理。

对,我觉得Web Coding,就是刚才我说,然后让它整理这件事情就已经很好了。至于说如果我想把这些卡片之间的关系让AI帮我连起来的话,我觉得不是不可以,但是我个人不推荐。因为如果AI帮你学习了,那你能学到什么呢?我一直有这个疑问,就是学习这个东西还是要内化到我们自己。你完全可以拿一篇文章,让AI去分成卡片,然后AI找这卡片之间关系,然后AI再出一篇文章来介绍这件事情。但是这个过程中有你什么事呢?有我们作为人任何的东西呢?我在里面的价值是什么呢?或者说我到底懂没懂这个概念呢?这都是个问号。所以我个人的一个思路,就是第一,我在学习东西的时候,我用这种方式把里面的知识点摘出来。我在摘的时候,因为我在做口述,其实是在训练我的思考和总结的能力。我在把这个东西落下来。那么原来可能是十篇十段文章,我可能就落成了大概6张卡片,我做了总结。那么这6张卡片,我在发现一些规律。那么当我有这些规律的时候,我其实可以让AI帮我把这些规律生成一篇文章。这是我之前在社区里发文章的时候做过的事情。之前我也跟我们社区的其他伙伴聊过这个事情就是。这个产出的过程,你可以让AI帮你做,输入的过程,也可以让AI帮你做。但是内化、找关系、理解这个过程还是你自己要去做。我个人是秉持这个观念的。

我再补充一个你觉得更受益的,但是你前期可能没有想到的一个益处是什么呢?就是我们听过庄子有句话说,知识是无边无际的,但是人的生命是有限的。你用有限的生命去追求无边无际的知识,这本身就是一件很荒谬的事。对吧?具体原话怎么说我忘了,但这个意思大家都明白。而这个比喻特别适合我们现在对AI Web Coding也好,AI也好的FOMO(Fear Of Missing Out: 错失恐惧症)的情绪。我们老觉得Fear Of Missing Something(错失某些东西的恐惧: 担心错过重要信息或机会)。但其实你根据刚才庄子的道理来讲,你真的没有必要去都学。但是我们在社会中工作,我们又要用一些技能,我们又不能说一点也不学,对不对?那怎么办呢?那我们再取个中道嘛,我们不都学,我们也不一点也不学,我们只学一点点。那这个一点点是怎么来的呢?就从你的笔记来的。当你把一个概念整理成笔记的时候,其实我们是在做什么?我们是在做归纳总结,我们在把书读薄,你发现了吧?我们把一本书读得很薄的几个概念点。

下一步有机会可能会讲,或者大家可以有兴趣去看,就是卡片笔记记录法。它会介绍我们这个Fleeting Note(闪念笔记: 快速记录的临时想法)只是第一步,后面还要叫Permanent Note(永久笔记: 经过提炼和关联的知识卡片)。那个是什么呢?就是针对你的Fleeting Note,把它转化成可能是参考引用的笔记或卡片,或者转化成你的Idea(想法: 经过思考和关联产生的洞见)这种概念的笔记,这类别不一样。那这里就不叫Fleeting Note了,这里可能就叫做Literal Note(字面笔记: 直接引用原文的笔记)。这个就是你的引用的一些原话的内容,然后也可能叫做Permanent Note,这就是你的Idea,你形成的一个Idea。当你形成这些Idea的时候,当你有一些新的Idea的时候,这有一个创建流程。当你的Permanent Note创建出来,你是要跟之前的Permanent Note这些Idea挂钩的。所以这有点像就是怎么讲,就迫使你去做一个减法。

当我们把一本书精简到了几个Fleeting卡片进到系统的时候,然后我们又把这几个卡片又给它精简到了Permanent Notes。也就是一个Note,可能是关联到,它会转化了嘛。然后它可能跟他有关,它跟那关,然后你这个时候就会做减法,说既然它们都有关系,我应该会把它再拆成更细小的一个概念,一个知识点能够覆盖更多的关系。那么这就是我们刚才说你做功能会把它拆几步,是类似的。当你一些概念摆在这个画布上的时候,当你把你所有观点摆在这个画布上的时候,你其实就很容易发现它们哪些是重复了,哪些是一些很基本的概念,哪些是他这些基本概念组合出来的概念?你就会很有概念了,对吧?你会有这种概念。那这个时候怎么办呢?我个人的现在的建议就是把那些核心概念(Core Concepts: 构成知识体系基础的、不变的、可组合的根本原则)掌握透,而组合的概念不用太管。因为那个就是无限多种可能性,而最基本的核心概念是可以让你自己慢慢能找出来,那些东西是不会变的。而你就抓住这些抓手,抓住这些不会变的概念,然后再去发散也好,创意也好。你的可能性是无限的,而你也不用把所有的这些可能性都学会,都记住,没有必要,也不可能,也不现实,对吧?所以这有点像我们就是在FOMO世界里找到一个平衡点。我们不是一点也不学,我们也不是都学,我们就学一些很核心的点,然后我们用这些核心点的组合来创造一些新的东西。那创造出来的东西,我们不用学,因为我们随时都可以创造,随时都可以组合。而这些真正的核心点怎么来?是通过做笔记这种过程来筛选出来的。这是我觉得更有价值的一个点。

非常感谢Flash的分享,这毫无保留。后凯回应你的话,他说:“感觉最近有一个概念蛮有道理,未来的赢家是那些能跨域、跨领域整合知识,理解宏观格局,成为通才,并能指挥AI完成具体工作的人。”这个是。他的分享非常好。我比较喜欢说这个通才这件事情。那通才到底是怎么通的?我个人觉得他应该是把基本的概念掌握到了,他能举一反三,而且他都是一个人嘛,都是这么大几十年的一个学习经历。他在哪地方比你好,他肯定不是花的时间比你多。我从来不觉得花时间多能解决问题,我是觉得是方法的问题。我们举个例子,就是当我们有了这些原概念、原知识的时候,比如说你有6个原概念,它的组合可能性就很大。然后从外面来看,你就觉得哎这个人好像什么都知道,什么都会,一点,什么都讲得有道理。但你只是看到了它组合的结果而已。你并不知道它的起点,那些原概念是怎么内化的,怎么梳理的。而他这种方式可能有的人是无意识的,而有的人可能就是有意识的。比如说你听了我Flash今天的分享,你有意识去做这件事情,你有意识去做。而这种方法反而会让你达到一个指数级(Exponential: 呈几何级数增长的)的一种进步,而不是简单的那种堆时间的进步。这是我的一种感觉。

哇,感谢感谢大家的提问,也有很多新的启发。谢谢Flash分享,太感谢了。我们社群会继续持续推荐、邀请像Flash这样优秀的分享自己项目的会员。如果大家有想法,也可以直接来私信我,我会邀请大家。我们今天时间差不多了,今天就到这儿。非常感谢Flash,感谢大家陪伴。也谢谢大家的参与,然后也给我一些很多的机会,能表达一些新的概念和我自己的体会。好,谢谢各位,拜拜。非常有价值。我们之后这个直播会有回放,可以看回放。好,那就结束了,再见。好,再见各位。

📌 文中提及的人物和组织

关键字: knowledge-management ai-productivity note-taking voice-to-text personal-knowledge-management