初级

使用 LLM 构建个人知识库的模式

LLM 维基

一个使用 LLM 构建个人知识库的模式。
这是一个构思文件,旨在供你复制粘贴到你自己的 LLM 智能体(例如 OpenAI Codex、Claude Code、OpenCode / Pi 等)中使用。其目标是传达高层次的想法,而你的智能体将与你协作,构建出具体的实现细节。

核心理念#

大多数人与 LLM 和文档交互的体验类似于 RAG:你上传一批文件,LLM 在查询时检索相关的片段,然后生成答案。这确实有效,但 LLM 每次回答问题都是在从头开始重新发现知识。没有积累。当你提出一个需要综合五份文档才能回答的微妙问题时,LLM 每次都必须找到并拼凑相关的片段。没有构建任何东西。NotebookLM、ChatGPT 文件上传以及大多数 RAG 系统都是这样工作的。
这里的想法有所不同。LLM 不是在查询时仅仅从原始文档中检索,而是增量式地构建和维护一个持久的维基——一个结构化的、相互链接的 Markdown 文件集合,它位于你和原始资料之间。当你添加一个新资料时,LLM 不只是为了后续检索而索引它。它会阅读它,提取关键信息,并将其整合到现有的维基中——更新实体页面,修订主题摘要,标注新数据与旧主张矛盾之处,强化或挑战不断演进的综合理解。知识被编译一次,然后保持最新,而不是在每次查询时重新推导。
这是关键区别:维基是一个持久的、可复利的产物。 交叉引用已经存在。矛盾之处已经被标记。综合理解已经反映了你阅读过的所有内容。维基随着你添加的每一个资料和提出的每一个问题而不断丰富。
你从不(或很少)自己编写维基——LLM 编写和维护所有内容。你负责资料收集、探索和提出正确的问题。LLM 完成所有繁重的工作——总结、交叉引用、归档和簿记,这些工作使得知识库随着时间的推移真正有用。在实践中,我通常一边打开 LLM 智能体,另一边打开 Obsidian。LLM 根据我们的对话进行编辑,而我实时浏览结果——跟踪链接、查看图谱视图、阅读更新后的页面。Obsidian 是 IDE;LLM 是程序员;维基是代码库。
这可以应用于许多不同的场景。举几个例子:
  • 个人用途:追踪你自己的目标、健康、心理、自我提升——归档日记条目、文章、播客笔记,并随着时间的推移构建一个关于你自己的结构化图景。
  • 研究:在数周或数月内深入研究一个主题——阅读论文、文章、报告,并增量式地构建一个包含不断演进论点的全面维基。
  • 阅读一本书:随着阅读进度归档每一章,为角色、主题、情节线索以及它们之间的联系构建页面。到最后,你将拥有一个丰富的配套维基。想想像 Tolkien Gateway 这样的粉丝维基——成千上万个相互链接的页面,涵盖了角色、地点、事件、语言,由志愿者社区花费数年时间构建。你可以在个人阅读时构建类似的东西,由 LLM 完成所有的交叉引用和维护工作。
  • 商业/团队:由 LLM 维护的内部维基,数据源来自 Slack 线程、会议记录、项目文档、客户通话记录。可能有人工参与循环来审查更新。维基保持最新,因为 LLM 完成了团队中没人愿意做的维护工作。
  • 竞争分析、尽职调查、旅行规划、课程笔记、爱好深潜——任何你随时间积累知识并希望其被组织起来而非零散分布的场景。

架构#

共有三层:
原始资料——你精心策划的源文档集合。文章、论文、图片、数据文件。这些是不可变的——LLM 从中读取但从不修改它们。这是你的真相来源。
维基——一个由 LLM 生成的 Markdown 文件目录。包含摘要、实体页面、概念页面、比较、概览、综合理解。LLM 完全拥有这一层。它创建页面,在新资料到达时更新它们,维护交叉引用,并保持一切一致。你阅读它;LLM 编写它。
模式——一个文档(例如 Claude Code 的 CLAUDE.md 或 Codex 的 AGENTS.md),它告诉 LLM 维基是如何构建的,有哪些约定,以及在摄取资料、回答问题或维护维基时应遵循哪些工作流程。这是关键的配置文件——正是它使得 LLM 成为一个有纪律的维基维护者,而不是一个通用的聊天机器人。你和 LLM 会随着时间的推移共同演进这个模式,以找到适合你领域的最佳实践。

操作#

摄取。 你将一个新资料放入原始资料集合并告诉 LLM 处理它。一个示例流程:LLM 阅读资料,与你讨论关键要点,在维基中编写摘要页面,更新索引,更新整个维基中相关的实体和概念页面,并在日志中追加一个条目。一个单独的来源可能会涉及 10-15 个维基页面。就我个人而言,我更喜欢一次摄取一个资料并保持参与——我阅读摘要,检查更新,并指导 LLM 强调哪些内容。但你也可以以较少的监督批量摄取多个资料。这取决于你开发适合自己风格的工作流程,并将其记录在模式中供未来会话使用。
查询。 你针对维基提出问题。LLM 搜索相关页面,阅读它们,并综合出一个带有引用的答案。答案可以根据问题的不同采取不同的形式——一个 Markdown 页面、一个比较表格、一个幻灯片演示(Marp)、一个图表(matplotlib)、一个画布。重要的洞见是:好的答案可以作为新页面归档回维基。 你要求的一个比较、一个分析、你发现的一个联系——这些都是有价值的,不应该消失在聊天历史中。这样,你的探索成果就像摄取的资料一样,在知识库中不断积累。
检查。 定期要求 LLM 对维基进行健康检查。寻找:页面之间的矛盾、已被新资料取代的过时主张、没有入站链接的孤立页面、被提及但缺少自己页面的重要概念、缺失的交叉引用、可以通过网络搜索填补的数据缺口。LLM 擅长建议需要调查的新问题和需要寻找的新资料。这能确保维基在成长过程中保持健康。

索引与日志#

随着维基库的增长,有两个特殊文件能帮助 LLM(以及你)进行导航。它们各有不同的用途:
index.md 是面向内容的。它是维基库中所有内容的目录——每个页面都列出链接、一行摘要,以及可选的元数据(如日期或来源数量)。按类别(实体、概念、来源等)组织。LLM 在每次信息摄取时都会更新它。当回答查询时,LLM 会先读取索引以找到相关页面,然后再深入查看。这在中等规模(约 100 个来源,数百个页面)下效果出奇地好,并且避免了基于嵌入的 RAG 基础设施的需求。
log.md 是按时间顺序记录的。它是一个仅追加的记录,记录了何时发生了何事——信息摄取、查询、代码检查等。一个有用的技巧:如果每个条目都以一致的前缀开头(例如 ## [2026-04-02] ingest | Article Title),那么日志就可以用简单的 Unix 工具解析——grep "^## \[" log.md | tail -5 会给出最后 5 个条目。日志提供了维基库演变的时间线,并帮助 LLM 了解最近完成了哪些工作。

可选:CLI 工具#

在某些时候,你可能希望构建一些小工具,帮助 LLM 更高效地操作维基库。最明显的一个是维基页面上的搜索引擎——在小规模下,索引文件就足够了,但随着维基库的增长,你需要适当的搜索功能。qmd 是一个不错的选择:它是一个用于 Markdown 文件的本地搜索引擎,具有混合 BM25/向量搜索和 LLM 重新排序功能,全部在设备上运行。它既有 CLI(因此 LLM 可以通过 shell 调用它),也有 MCP 服务器(因此 LLM 可以将其作为原生工具使用)。你也可以自己构建更简单的东西——当需要时,LLM 可以帮助你快速编写一个简单的搜索脚本。

技巧与窍门#

  • Obsidian Web Clipper 是一个浏览器扩展,可以将网页文章转换为 Markdown。对于快速将来源获取到你的原始收藏中非常有用。
  • 将图片下载到本地。 在 Obsidian 设置文件和链接中,将“附件文件夹路径”设置为固定目录(例如 raw/assets/)。然后在设置 → 热键中,搜索“Download”找到“Download attachments for current file”并将其绑定到一个热键(例如 Ctrl+Shift+D)。剪藏文章后,按下热键,所有图片都会下载到本地磁盘。这是可选的,但很有用——它让 LLM 可以直接查看和引用图片,而不是依赖可能失效的 URL。请注意,LLM 无法在一次处理中本地读取带有内联图片的 Markdown——解决方法是让 LLM 先读取文本,然后单独查看部分或全部引用的图片以获得额外上下文。这有点笨拙,但效果足够好。
  • Obsidian 的图谱视图 是查看维基库结构的最佳方式——什么连接了什么,哪些页面是中心,哪些是孤立的。
  • Marp 是一种基于 Markdown 的幻灯片格式。Obsidian 有相应的插件。对于直接从维基内容生成演示文稿很有用。
  • Dataview 是一个 Obsidian 插件,可以对页面 frontmatter 运行查询。如果你的 LLM 向维基页面添加了 YAML frontmatter(标签、日期、来源数量等),Dataview 可以生成动态表格和列表。
  • 维基库只是一个 Markdown 文件的 git 仓库。你可以免费获得版本历史、分支和协作功能。

为什么这行得通#

维护知识库的繁琐部分不在于阅读或思考——而在于簿记工作。更新交叉引用、保持摘要最新、记录新数据何时与旧主张相矛盾、在数十个页面中保持一致性。人类放弃维基库是因为维护负担的增长速度超过了其价值。LLM 不会感到无聊,不会忘记更新交叉引用,并且可以一次性处理 15 个文件。维基库得以保持维护,因为维护成本几乎为零。
人类的工作是策划来源、指导分析、提出好问题并思考这一切的意义。LLM 的工作是处理其他所有事情。
这个想法在精神上与 Vannevar Bush 的 Memex(1945)相关——一个私人的、经过策划的知识存储库,文档之间具有关联路径。Bush 的愿景更接近于此,而不是后来形成的网络:私有的、积极策划的,文档之间的连接与文档本身一样有价值。他无法解决的部分是谁来进行维护。LLM 处理了这一点。

说明#

本文档有意保持抽象。它描述的是理念,而不是具体的实现。确切的目录结构、模式约定、页面格式、工具链——所有这些都取决于你的领域、你的偏好和你选择的 LLM。上面提到的所有内容都是可选且模块化的——选择有用的,忽略无用的。例如:你的来源可能只有文本,因此你根本不需要图片处理。你的维基库可能足够小,只需要索引文件,不需要搜索引擎。你可能不关心幻灯片,只想要 Markdown 页面。你可能想要一套完全不同的输出格式。正确使用此方法的方式是与你的 LLM 代理共享它,并共同协作,实例化一个适合你需求的版本。本文档的唯一工作是传达这种模式。你的 LLM 可以解决其余问题。