LLM Wiki

发布于 作者: karpathy

前言

原文LLM Wiki

LLM Wiki

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

这是一个想法文件,设计为可以复制粘贴到你的 LLM 代理(例如 OpenAI Codex、Claude Code、OpenCode / Pi,或其他等)。它的目标是传达高级概念,但你的代理将在与你协作的过程中构建具体细节。

核心思想

大多数人使用 LLMs 处理文档的方式类似于 RAG:你上传一批文件,LLM 在查询时检索相关片段,并生成答案。这种方式可行,但 LLM 每次都要从零开始重新发现知识,没有积累。如果你问一个需要综合五份文档的微妙问题,LLM 每次都必须找到并拼合相关片段。没有任何东西被建立起来。NotebookLM、ChatGPT 文件上传以及大多数 RAG 系统都是这样工作的。

这里的想法有所不同。不再只是在查询时从原始文档中检索,而是让 LLM逐步构建并维护一个持久的维基——一个结构化、相互链接的 markdown 文件集合,位于你与原始来源之间。当你添加一个新来源时,LLM 不只是将其索引以供以后检索。它会阅读它,提取关键信息,并将其整合到现有的维基中——更新实体页面,修订主题摘要,记录新数据与旧说法的矛盾之处,加强或挑战不断发展的综合。知识被编译一次,然后保持最新,而不是在每次查询时重新推导。

这是关键区别:维基是一个持续累积的成果。交叉引用已经存在。矛盾之处已被标记。综合内容已经反映了你读过的所有信息。随着你添加的每个来源和提出的每个问题,维基不断变得更加丰富。

你很少(或者几乎不)亲自编写维基——LLM 负责所有编写和维护工作。你负责资料来源、探索和提出正确的问题。LLM 处理所有基础工作——包括摘要、交叉引用、归档和簿记,这些工作使知识库随着时间的推移真正变得有用。实际上,我在一侧打开 LLM 代理,另一侧打开 Obsidian。LLM 根据我们的对话进行编辑,我实时浏览结果——点击链接、查看图形视图、阅读更新后的页面。Obsidian 是集成开发环境;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] 摄取 | 文章标题),日志就可以用简单的 Unix 工具解析——grep "^## \[" log.md | tail -5 可以给你最后 5 条记录。日志提供了维基演变的 时间线,并帮助 LLM 了解最近做了什么。

可选:CLI 工具

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

小贴士和技巧

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

为什么这样有效

维护知识库的繁琐之处不在于阅读或思考——而在于账目管理。更新交叉引用、保持摘要最新、记录新数据何时与旧主张矛盾、在几十页之间保持一致性。人类会放弃维基,因为维护负担的增长速度超过了其价值。LLM 不会感到厌倦,不会忘记更新交叉引用,并且可以一次性处理 15 个文件。维基得以保持维护,因为维护成本几乎为零。

人类的工作是管理来源、指导分析、提出好问题,并思考这一切意味着什么。LLM 的工作是其他所有事情。

这个想法在精神上与范内瓦·布什的 Memex(1945 年)相关——一个个人化的、经过精心策划的知识存储库,文档之间有联想路径。布什的愿景更接近于这个想法,而不是后来互联网变成的样子:私有的、主动策划的,文档之间的联系与文档本身一样有价值。他未能解决的问题是:由谁来维护。LLM 处理这个问题。

注意

这份文档是故意写得抽象的。它描述的是一种理念,而不是具体的实现。精确的目录结构、模式约定、页面格式、工具等——所有这些都将取决于你的领域、你的偏好以及你选择的 LLM。上述所有内容都是可选和模块化的——选择有用的,忽略没用的。例如:你的来源可能只有文本,所以你完全不需要图像处理。你的维基可能足够小,以至于索引文件就足够了,不需要搜索引擎。你可能不关心幻灯片,只想用 markdown 页面。你可能想要一套完全不同的输出格式。正确使用这份文档的方法是把它分享给你的 LLM 代理,并一起工作来实例化一个符合你需求的版本。这份文档的唯一工作就是传达模式。你的 LLM 可以自行处理剩下的部分。