小小实践一下之前的想法 思源笔记作为 AI agentic 知识库的展望 - 链滴
实践过程
今天在 Cline 里面安装了 Claude 官方出品的 MCP server 之 SQLite,
它帮助大模型具有了如下能力
虽然我对 SQLite 不太熟悉,命令也写不出来几条,但是初步体验,使用大模型操纵数据库的确很有意思!!
AI 初探数据库之 blocks
表
我安装好之后,马上将配置文件中的 database path 修改为了思源笔记的 db 文件(位于 temp 文件夹里面)
"github.com/modelcontextprotocol/servers/tree/main/src/sqlite": { "command": "uv", "args": [ "--directory", "/Users/ssqc/AIGC_Projects/mcp/sqlite-mcp/src/sqlite", "run", "mcp-server-sqlite", "--db-path", "/Users/ssqc/SiYuan/temp/siyuan.db" ], "disabled": false, "autoApprove": [] }
然后就和 AI 对话,让它从零开始研究这个数据库,
它首先通过 MCP server 调用了 list_tables
工具,查到了可以先关注表 blocks
:
然后使用 describe_table
tool 来观察 blocks
这个表 ,发现了里面丰富的结构
然后 AI 使用工具 read_query
获取了最近的几条笔记内容, 发现了我前几天剪藏的大佬的 SQLite 入门文章思源 SQL 新人指南:SQL 语法 + Query + 模板 - 链滴,AI 阅读了一下, 并且发现了文档类型的关键字 d
和 h
分别代表文档和标题,且发现文档内容包括层级结构
紧接着 AI 继续发起 query, 仔细阅读这篇 SQL 新人指南, 认为块类型系统非常重要, 总结了出来
AI 又看了我最近创建的一篇文章. 随后它开始统计我笔记里面各种块的数量, 并分析块数目最多的文档,
AI 二探数据库之双向链接引用网络
下面, 我拒绝了 AI 继续查看我笔记内容的请求. AI 就转向了对我数据库中引用网络的查询, 并识别到了其中丰富的双向链接结构
并查询了引用和被引用次数最多的文档标题, 对我的知识库作出了评估
对我的标签作出了评估,
AI 表示任务完成并作出总结
最后, AI 不再发起请求, 作出总结, Cline 完成任务
注意, 以上这一切都是自动发生的, 当然我对许多查询请求进行了手动的批准. 故事的开头仅仅就是我问 AI,
一些想法
- AI agent 完全有能力从零开始了解这个数据库. 这是数据库的天然优势, 其结构化的特征是所谓"LLM 友好"的数据类型.
- 其他使用树状结构的笔记应用, Obsidian, notion, 也可以将文件夹的树状结构辅助 AI 探索. 目前开源社区中已经存在 notion 和 Obsidian 的 MCP server 了.
- 对于像 roam research 和 logseq 这种激进的放弃树状结构的软件, 也不需要灰心. 双向链接笔记都存在一个网状结构, 类似于知识图谱, 也是 LLM 友好的. 只是目前似乎还没有太多的讨论和项目开展.
- 思源笔记很特别. 虽然思源笔记的用户量不是很多, 像 MCP server 也没有大佬牵头, 但是由于它直接维护一个 SQLite 数据库, 使得 SQLite 的 toolkit 可以直接应用.
- 如果搭配一个像思源 SQL 新人指南:SQL 语法 + Query + 模板 - 链滴这样的文档教程先喂给 AI, 它会更快上手, 直接根据用户需要发起查询.
- agent 搜索的特点
- 根据搜索结果进行自我修正(self-reflection), step-by-step 地判断是否需要进一步搜索, 是否需要更换 query 搜索, 是否可以停止搜索开始内容生成.
- 各位可以体验一下马斯克 XAI 刚发布的 Grok3 deep search 模型, 完全免费登陆就能用, 且透明展示思维链, 非常清晰地展示了 agent 搜索的范式.
- 可以通过规则设定, 让 AI 搜索到合适的内容之后, 全文读进去, 避免 RAG 的将文本分段的弊端.
- 根据搜索结果进行自我修正(self-reflection), step-by-step 地判断是否需要进一步搜索, 是否需要更换 query 搜索, 是否可以停止搜索开始内容生成.
视频教程推荐
MCP 是非常好上手的, VS Code 的 AI 编程插件 Cline 已经安排上了 MCP 商店, 可以让 AI 帮你安装; AI 编辑器 Cursor 和 Windsurf 也可以进行方便地配置. 配置好 SQLite 的 MCP server 之后就按照我最前面的代码, 将 MCP server 的配置文件数据库文件路径替换为自己电脑里面思源笔记的数据库文件就行 (Cursor 可以进行可视化配置).
推荐观看:
- : 关于如何通过命令来使用 GitHub 上开源的 MCP server, 视频中展示了日常生活很常用的 fetch 和 filesystem 这些, SQLite 也是类似的.
- : 关于如何搭建自己的 MCP server
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于