思源笔记作为 AI agentic 知识库的展望

我与我周旋久,宁作我!

——《世说新语·品藻》

上下文 (context) 不仅对大语言模型来说很重要, 对于人与人之间的沟通也是如此, 诸如"鸡同鸭讲", "对牛弹琴"这些成语, 都表达了沟通上常有的隔阂.

AI 知识库便是这样一种简单的想法, 在与人工智能聊天之前, 先将所有所需的背景知识 (所谓"知识库") 使用各种方式让 AI 得知, 再进行高效的有效沟通.

检索增强生成 (Retrieval-Augmented Generation, RAG)

这种非常简单的想法早就在 23 年初就出现了许多开源项目. 现在也有许多广泛使用的 AI 工作流创建软件支持将知识库注入, 如 Dify 和 Cozi; 也有大厂提供的 AI 知识库公开服务, 如 Google notebookLM 和 腾讯 ima.

  • 在学术上, 形成了"检索增强生成(RAG)"这一术语来统一描述这种"大模型对话的挂件".
  • 在技术上则有两种主要路径:
    • 通过若干模糊匹配算法, 得到若干段内容作为 Prompt,
    • 使用 embedding 模型将知识库向量化,进而执行更高效的基于向量相似度(做内积)的检索,以及更高效的 context 注入.

向量化之后的文本更加"LLM-friendly". 但是只要知识库很庞大, 逐个进行向量相似度计算依然比较费时. 更加棘手的是, 大模型的上下文是有限制的, 输入的 context 总是需要截断, 例如实践中可能只会将 80% 相似度的向量注入对话.

AI agent 时代下的 AI 知识库

我们人类是如何进行知识定位的? 即使在双链工具盛行的今天, 我们也依然需要树状结构的 MOC 这类文档来组织知识. 我们并不一定想到某个关键词, 就能通过搜索来彻底定位. 更常有的情况是, 我们从想要检索的知识所属的"大方向"出发, 逐级往下回顾, 最后找到了这个知识, 且在这个过程中加深了自己脑子里的知识架构.

在 AI agent 时代, 一个新的 AI 知识库方向是:

让 AI 操纵知识库、自主获取 context, 而不是从知识库搜索出信息注入给 AI.

这个技术并不新. 如果大家关注 AI 编程, 最早的 Github Copilot, 去年开始风头正盛的 Cursor 和 Windsurf 编辑器, 以及 VS Code 插件 Cline 和 Roo Code 就是已经落地并广泛应用的代表. 一些协议总结如下:

  • @doc 功能: 许多文档现在已经遵循 The /llms.txt file – llms-txt 规则, 在文档根目录加入一个 txt 文件来介绍文档的结构, 使得 Github Copilot 早期的 Chat with documents 得以实现. Cursor 和 Windsurf 也有 @doc 的连接外部文档的交互.
  • 知识增强生成 (Knowledge-Augumented Generation, KAG): 一个国产框架, 不是很火但是思路很类似, 除了知识卡片之外, 同时将知识图谱输入. AI 知识库的 O1 时刻!蚂蚁 KAG 或将取代 RAG【含喂饭级教程】.
  • mcp(model context protocol): claude 提出的一种模型上下文协议,用来连接大模型和各种在线或本地的数据库,包括读取文件系统信息,sqlite 数据库,github,网页内容等等。它解决的是大模型上下文长度总是有限,无法将整个数据库上传的问题。取而代之的是,让大模型通过 mcp server 来操纵数据库
    • 例如,官方文档和下面这个视频就展示了 claude 客户端中如何连接一个 sqlite 数据库进行数据分析,【Claude 的 MCP (模型上下文协议)有啥用?-哔哩哔哩】
    • 这种解决上下文长度的思想,除了 mcp server 之外,也在 cursor,windsurf 等 ai 编辑器使用别的方式来进行了部分的闭源实现。相应的,使用 claude 客户端加 mcp server,也能实现 ai 自动写代码、自动执行终端命令的 ai 编程。2025 年被定性为 ai agent 元年,这种连接数据库的各种协议,不管是通过 API 还是通过 GUI,应当是 agent 发展的重要一环。

可以看到, 重要的是先将知识库的结构 (如知识图谱, CSV 文件的表头和前面几行, SQLite 数据库的整体结构) 注入给 AI, 让 AI 可以知道从何搜起, 搜的内容对不对板.

如果希望有实操体验, 非常建议大家试用一下 AI 编辑器 Windsurf, 我第一次让他理解本地代码库, 以及让他进行联网搜索, 这种拟人化的搜索体验都非常震撼.

  • AI agent 会先理解整个 codebase, 如果你将代码结构写在了 readme.md 这样的文件就更好了; 然后它会进行必要的文件的阅读, 读了 1-100 行发现意犹未尽, 会继续读 101-200 行.
  • 联网搜索时, 它会先出来一个粗略的搜索结果汇总; 然后 AI agent 对这个结果进行阅读, 发现其中的某一条搜索结果对你布置的任务可能有用, 它会接着进入这个网页, 深入阅读这一条搜索结果.

思源笔记通过 mcp server 作为 AI 知识库的可能性

作为典型的本地软件, Obsidian 早就已经有成熟的基于 RAG 路径的知识库对话插件. 实际上, 由于 Obsidian 是使用 markdown 格式的本地应用, 所有 AI 知识库框架, 都能马上应用于 Obsidian 的文档库. 而对于思源笔记, 由于 .sy 后缀不支持向量化, 通常需要导出为 markdown 再连接 AI 知识库.

在 AI agentic 知识库方面, 目前已经存在很多使用 ai 编辑器 cursor 来连接 obsidian 知识库的操作,也有使用支持 mcp server 的 vs code 插件 cline 来连接 obsidian 知识库的操作,见【cline+mcp+deepseek+obsidian 的 AI 编程实践-哔哩哔哩】. 这些使用的都是针对本地文件系统的 mcp 协议。obsidian 由于使用 markdown 作为本地文件,很容易便能实现。

然而,思源作为原生支持 sql 搜索的本地软件,将其作为一个 SQL 数据库来对接大模型方面也应当具有很大的潜力. 这也是我对 2025 年思源作为 ai 知识库的一个期待 🥰🥰🥰🥰🥰🥰。一个粗略的想法是, 首先将思源理解为一个 SQLite 数据库, 往外提供数据查询的接口; 然后进行对应 MCP server 的构建(目前 Github 中已经有数百个 MCP servers 了); 最后可以在 Claude 客户端或其他支持 MCP server 的客户端来与思源笔记库对话.

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    23830 引用 • 96869 回帖
2 操作
Wangfh5 在 2025-02-04 16:36:19 更新了该帖
Wangfh5 在 2025-02-03 16:23:06 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 很棒的思路,感觉这个 mcp 很适合我开发的 ai 插件,有空试试

  • yalidabuda

    笔记往 ai 方向发展肯定是大趋势,而且也是必定的趋势

  • rei1989

    确实,什么双链反链,在 ai 检索面前都没太大意义了,ai 完全可以管理内容,不再过分依赖过去偏向第二大脑式的人工管理