大多数人和 LLM 协作知识的方式是这样的:上传一堆文件,查询时 LLM 检索相关片段,生成答案。NotebookLM、ChatGPT 文件上传、大部分 RAG 系统都是这个逻辑。这套东西能用,但有个根本缺陷:每次提问,LLM 都在从零发现知识。 问一个需要综合五份文档的复杂问题,LLM 必须每次都把那五个文档的相关碎片找出来拼在一起。没有任何积累。
Karpathy 在这篇 Idea File 里提出的 LLM Wiki,是另一种思路。
RAG 从零拼装,Wiki 持久累积
LLM Wiki 的核心洞察是:让 LLM 在查询之前就构建好一个持久的、结构化的 wiki。当你往 wiki 里加入新文档时,LLM 不是简单索引一下就完事,而是主动读取、提取关键信息,把新内容整合进现有的 wiki——更新相关实体页面、修正已被新数据推翻的旧结论、加强或挑战已有的综合判断。跨文档的交叉引用早就建好,矛盾早就标记,综合分析已经反映了你读过的所有内容。Wiki 随着每一次添加而变得更丰富,而不是每次提问都重新发明。
这和 Vannevar Bush 1945 年提出的 Memex 概念在精神上一脉相承:Bush 预见了私人、主动维护的知识库,其中文档之间的关联和文档本身一样有价值。Bush 没解决的是谁来维护。LLM 解决了。
三层架构
LLM Wiki 分为三个层级:
Raw Sources(原始文档)——你精心筛选的源文件集合:文章、论文、图片、数据文件。只读,不可修改。这是唯一的truth。
The Wiki——LLM 生成的 Markdown 文件网络。包括摘要页、实体页、概念页、对比页、综合分析。LLM 全权负责这一层:创建页面、接收新源时更新、维持交叉引用、保持一致性。人类读 wiki,LLM 写 wiki。
The Schema——一个配置文件(如 Claude Code 的 CLAUDE.md 或 Codex 的 AGENTS.md),告诉 LLM wiki 的结构规范、约定、以及处理 ingest、query、maintain 的工作流程。这是关键配置文件,让 LLM 成为有纪律的 wiki 维护者,而不是泛泛的聊天机器人。这份配置会随着你对领域的理解和偏好共同演进。
三种核心操作
Ingest(摄入):把新文档放入原始集合,告诉 LLM 处理它。LLM 读取文档,和你讨论要点,写入摘要页,更新索引,更新 wiki 中所有相关的实体页和概念页,在日志中追加一条记录。一份文档可能涉及 10-15 个 wiki 页面的更新。Karpathy 更倾向于逐个摄入、保持参与,但也可以批量处理。
Query(查询):你向 wiki 提问,LLM 搜索相关页面、读取、综合答案。答案可以有多种形式:Markdown 页面、对比表、PPT(Marp)、图表(matplotlib)。关键洞察:好的答案应该可以存回 wiki 成为新页面。你请求的一次对比分析、一次发现、一个洞见,都应该作为新页面沉淀到知识库里,而不只是消失在聊天记录里。这样你的探索和摄入的文档一样复合积累。
Lint(体检):定期让 LLM 做 wiki 健康检查:页面之间是否有矛盾、新文档是否已让旧结论过时、是否有孤儿页(没有任何入站链接)、是否有重要概念被提及但没有自己的页面、缺失哪些交叉引用、数据空白在哪里可以网络搜索填补。LLM 擅长建议新问题和寻找新源。
两个导航文件
index.md 是内容导向的目录—— wiki 中每个页面的链接、一句话摘要、可选元数据如日期或来源数。按类别组织(实体、概念、来源等)。LLM 每次 ingest 都更新它。每次回答问题前,LLM 先读 index 找到相关页面,再深入阅读。这个方法在中等规模(约 100 个源、数百个页面)下效果出奇地好,无需嵌入向量 RAG 基础设施。
log.md 是时间线——按时间顺序追加的记录,记录发生了什么、何时发生的。每次 ingest、query、lint 都是一条记录。每条记录以固定前缀开头(如 ## [2026-04-02] ingest | Article Title),log 就可用简单 Unix 工具解析:grep "^## \\\[" log.md | tail -5 就能拿到最近 5 条。log 让 wiki 的演化有迹可循,帮助 LLM 理解最近做了什么。
工具栈
Karpathy 推荐了一套工具组合:
Obsidian Web Clipper 浏览器扩展可以把网页文章转成 Markdown,配合下载附件快捷键把图片本地化,LLM 可以直接引用图片而非依赖可能失效的 URL。Obsidian 的 Graph View 是看 wiki 整体结构的最佳方式——什么连接什么、哪些是中心页、哪些是孤儿,一目了然。
qmd 是本地 Markdown 语义搜索引擎,支持 BM25 + 向量混合搜索和 LLM 重排,全部本地运行。它有 CLI(LLM 可以直接 shell 调用)和 MCP server(作为原生工具调用)。随着 wiki 扩大,你可能需要比 index 文件更专业的搜索能力。
Marp 让 Markdown 直接生成 PPT,Obsidian 有插件支持。Dataview 可以对页面 frontmatter 运行动态查询,生成表格和列表——如果 LLM 在 wiki 页面中添加了 YAML frontmatter(标签、日期、来源计数),Dataview 可以做很多事情。
Wiki 本身就是一个 Git 仓库——版本历史、分支、协作都免费获得。
为什么有效
维护知识库最累人的不是阅读或思考,是记账工作:更新交叉引用、保持摘要最新、标记新数据与旧结论的矛盾、在数十个页面间保持一致性。人类放弃 wiki 是因为维护负担增长比价值更快。LLM 不会厌倦、不会忘记更新交叉引用、一次可以修改 15 个文件。维护成本接近零,wiki 因此得以持续维护。
人类的职责是筛选来源、引导分析、提出好问题、思考意义。LLM 的职责是其他一切。
LLM Wiki 的本质是把知识的编译提前到写入时而不是查询时——这个思想恰好是 SOTA Sync 正在做的事,只是输出形式不同(wiki vs MDX 文章)。Auto Research loop 就是这个思路在内容生产领域的落地。