LLM Wiki 冲上 1.91 万星:让模型把文档增量'读成'持久知识库,而非每次重新 RAG
2026 年 4 月,Andrej Karpathy 在 GitHub Gist 上发了一个设计文档《llm-wiki.md》,提出了一个大胆的命题:大多数 RAG 系统让模型每次从零检索答案,知识从不积累。更好的做法是让模型增量构建并维护一个持久的、互相链接的 Markdown 知识库——知识被"编译"一次并持续更新,而不是每次查询都重新推导。
这个 gist 在 Hacker News 上拿了近 300 分,催生了一波实现。其中最有影响力的,是 nashsu(x.com/nash_su)的 llm_wiki:一个跨平台桌面应用,5 个月冲到 1.91 万星。仓库地址:https://github.com/nashsu/llm_wiki
这篇文章拆解 LLM Wiki 这个模式:它为什么是 RAG 的替代思路、llm_wiki 怎么落地它、以及和"Agent 上下文数据库"这类新方案的关系。
本文 outline
- 先看原始问题:RAG 的"从零开始"困境
- Karpathy 的答案:LLM Wiki 三层设计
- llm_wiki 落地:Tauri 桌面应用,1.91 万星
- 三个核心操作:Ingest / Query / Lint
- 知识图谱:4 信号建图
- 与 RAG、OpenViking、Mem0 的关系
- 适用场景与局限
1. 先看原始问题:RAG 的"从零开始"困境
传统 RAG 的工作方式:把文档切成 chunk → 向量化 → 查询时检索相关 chunk → 塞进上下文让模型回答。问题在哪?
每次都是从零开始。同一份文档,你问三遍,模型就要检索三遍、重新理解三遍。知识没有被沉淀——模型"读过"的文档,下次还是"没读过"。文档之间的关联、矛盾、综合结论,也从来不会被提取和固化。
Karpathy 的核心观察:知识应该被编译一次,然后持续更新,而不是每次查询都重新推导。他拿人类对比——学者积累知识靠的是做笔记、写综述、整理文献卡片,而不是每次回答问题都去翻原始资料。
这就是"LLM Wiki"模式的第一性原理:让模型像学者一样做笔记。
2. Karpathy 的答案:LLM Wiki 三层设计
LLM Wiki 模式把知识库分成三层:
第一层:原始资料(Raw Sources)。不可变的原文——文章、论文、图片、数据。LLM 只读不改,这是事实的最终来源。
第二层:Wiki。LLM 生成的一堆 Markdown 文件。这一层完全由 LLM 拥有——它创建、更新、交叉引用这些文件。实体页、概念页、摘要页、综合页,互相用 wikilink 链接。
第三层:Schema。一份规则文档,告诉 LLM wiki 怎么组织、有什么页面类型、按什么工作流维护。类似 CLAUDE.md / AGENTS.md 之于编码 Agent。人和 LLM 共同演化它。
几个关键设计理念:
- "LLM reads what it needs, writes what it learns":LLM 读原始资料、写/维护 wiki;人很少自己写。人的职责是筛选资料、提问、指导方向。
- Obsidian 是 IDE,LLM 是程序员,wiki 是代码库。知识库就是一堆普通 markdown 文件,放进 Obsidian 就是可视化知识库,放进 git 就有版本历史和协作。
- 为什么这个模式可行:人类放弃 wiki 是因为维护成本增长速度超过价值;LLM 不会厌倦,一次可以碰 15 个文件,维护成本约等于零。
- 规模主张:索引式导航在中等规模(约 100 个来源、几百个页面)表现"出奇地好",避免了对 embedding RAG 基础设施的需求。
思想谱系甚至可以追溯到 Vannevar Bush 1945 年的 Memex 构想——个人知识库 + 关联路径。Bush 没解决的是维护问题,现在 LLM 解决了。
3. llm_wiki 落地:Tauri 桌面应用,1.91 万星
nashsu 的 llm_wiki 是这个模式最完整的实现。硬数据:
| 指标 | 值 |
|---|---|
| GitHub 星 | 19,148(2026-09-13) |
| 许可证 | GPL-3.0 |
| 主语言 | TypeScript + Rust 后端 |
| 创建时间 | 2026-04-08 |
| 最新版本 | v0.6.11 |
| 技术栈 | Tauri v2 + React 19 + Tailwind v4 |
它不是 CLI 工具,而是一个桌面 GUI:三栏布局(知识树 + 聊天 + 预览)、活动面板、多会话聊天。支持 macOS/Windows/Linux,还有 Chrome 网页剪藏扩展。
存储上极其朴素:内容就是普通 markdown 文件 + YAML frontmatter,没有数据库。应用状态在 .llm-wiki/ 的 JSON 里,可选向量索引用 LanceDB(嵌入式,Rust 写的)。目录结构:
my-wiki/
├── purpose.md # 目标、关键问题
├── schema.md # 结构规则、页面类型
├── raw/sources/ # 不可变的原始资料
├── wiki/
│ ├── index.md # 内容目录(每次摄入更新)
│ ├── log.md # 追加式操作日志(可 grep 解析)
│ ├── overview.md # 自动更新的全局摘要
│ ├── entities/ concepts/ sources/ queries/ synthesis/
└── .obsidian/ # Obsidian 库配置这个目录结构本身就是 LLM Wiki 模式的精华:index.md 是导航入口,log.md 是可解析的操作时间线(前缀如 ## [2026-04-02] ingest | Title,grep/awk 就能用),entities/、concepts/、synthesis/ 是分类的知识沉淀。
4. 三个核心操作:Ingest / Query / Lint
llm_wiki 把 LLM Wiki 模式的操作收敛成三个动作:
Ingest(摄入):加入一个来源,LLM 读它、写摘要和实体/概念页、更新目录、追加日志。一个来源可以触碰 10-15 个 wiki 页面——这就是"知识被编译"的具象化。增量机制:用 SHA256 哈希跳过未变化的文件(省 token)、两步 chain-of-thought 摄入(先分析后生成)、串行摄入队列带崩溃恢复和 3 次重试、源文件夹自动监听。
Query(查询):LLM 先读 index.md 找到相关页面,再深入,综合答案并带引用。好答案可以归档回 wiki(wiki/queries/),让探索成果持续积累——查询本身也在写知识库。
Lint(体检):定期健康检查:矛盾、过时声明、孤立页面、缺失交叉引用、数据缺口。这是对"LLM 会幻觉"的直接回应——引入 Review 系统(人机协同)和 Lint,因为纯 LLM 维护的 wiki 需要质量护栏。
多格式解析覆盖 PDF、DOCX、PPTX、XLSX、EPUB/MOBI、Org mode、图片、网页剪藏。多模态支持:视觉 LLM 给 PDF 里的图片加说明、图像感知搜索。还内置 Deep Research(Tavily/SerpApi/SearXNG 多查询网页搜索,结果自动摄入)。
5. 知识图谱:4 信号建图
llm_wiki 不只是个 markdown 文件夹,它有知识图谱功能:从 wiki 页面的 wikilink 和 frontmatter 计算实体间关系,用 4 个信号加权:
- 直接链接 ×3.0
- 来源重叠 ×4.0
- Adamic-Adar 系数 ×1.5(共同邻居)
- 类型亲和 ×1.0
配合 Louvain 社区检测,能发现"惊人连接"、"知识缺口"、"桥节点"。图谱用 sigma.js 可视化,可以浏览整个知识库的关系网络。查询管线也利用图谱做 2 跳扩展,提升召回。
6. 与 RAG、OpenViking、Mem0 的关系
这三个对比特别值得写清楚,因为它们正好覆盖"Agent 长期知识"的不同路线:
vs 传统 RAG:RAG 是"查询时从原始文档检索、从零回答"——无积累、无交叉引用、矛盾从不被标记。LLM Wiki 是"知识先编译成结构化 wiki、再增量维护"——交叉引用和矛盾已经存在于产物里。wiki 本身就是记忆,不是检索索引。llm_wiki 里的向量搜索(LanceDB)是可选项,不是核心。
vs OpenViking(昨天写的火山引擎项目):OpenViking 是给 Agent 用的"上下文数据库"——viking:// 虚拟文件系统(resources/memories/skills),L0/L1/L2 分层加载,Agent 像操作文件一样操作上下文。它也有 ov compile 能把资料编译成 wiki。一句话区别:OpenViking 是面向 Agent 检索的上下文存储基础设施,LLM Wiki 是面向人的、可读的、互链的知识产物(Agent 维护它、人浏览它)。
vs Mem0:Mem0 是 Agent 的"记忆层"——存用户偏好、会话状态,运行时语义检索,是机器可读的。LLM Wiki 是人类可读的互链知识库,你在 Obsidian 里浏览。一句话区别:Mem0 是"Agent 记得关于你的事",LLM Wiki 是"Agent 从你的文档中学到的东西"。两者互补,不是竞争。
7. 适用场景与局限
适合:个人知识库(目标/健康/心理)、跨周/跨月的深度研究(论文逐步演化)、读书(构建一本书的伴生 wiki)、团队知识库(喂 Slack/会议记录)、竞品分析、尽职调查、旅行规划、课程笔记。
局限(要诚实说):
- 规模天花板:索引导航在 ~100 来源、几百页面表现好;更大需要可选向量索引,且 token 预算限制上下文
- 成本高:每次摄入是多次 LLM 调用(两步 CoT),token 成本远高于朴素 RAG 索引——这是"持久产物"的代价
- 依赖 LLM 质量:整个 wiki 由 LLM 维护,所以项目才加了 Review 系统和 Lint——LLM 会幻觉、会漏
- 串行摄入:摄入是队列串行的,有设计考量但大资料库导入慢
- 仅桌面:没有 headless/CLI 优先的工作流(HTTP API + MCP server 部分弥补了 Agent 场景)
- 项目年轻:2026-04 创建,生态还在早期,259 个 open issues
一个值得注意的生态信号:这个 gist 催生了一整个 mini-movement——llm-wiki-agent(3.5k 星)、llm-wiki-skill(2.5k 星)、karpathy-llm-wiki(2.2k 星)、llm-wiki-compiler(2k 星),以及 wuphf、vault-operator、mcptube(YouTube 变体)、memento(邮件变体)。"让模型维护知识库"这个思路,正在被不同方向反复验证。
对正在做 Agent 长期知识方案的团队:LLM Wiki 模式值得认真研究——它和 OpenViking 的"上下文数据库"、Mem0 的"记忆层"一起,构成了 2026 年"Agent 知识基础设施"的三条路线。选哪条,取决于你的核心诉求是"人可读的知识资产"、"Agent 可检索的上下文"还是"机器可读的记忆"。
参考
- nashsu/llm_wiki GitHub — 1.91 万星,GPL-3.0,Tauri v2 桌面应用
- Karpathy 的 llm-wiki.md gist — LLM Wiki 模式原始设计文档
- llm_wiki_skill — 给 Claude Code/Codex 用的 LLM Wiki skill
- 前篇:OpenViking Agent 上下文数据库 — 同赛道对照
- 前篇:8 家 Agent 记忆方案横评 — 记忆层方案对照
作者: itech001 来源: 公众号:AI人工智能时代(the-ai-era) 网站: https://www.theaiera.top/ 关注每日最新AI新闻和技术博客,主页有更多的文章的AI 技术参考:https://www.theaiera.top
关注公众号,获取更多 AI 技术干货!