Karpathy LLM Wiki:用 AI 建一个会自动生长的第二大脑
你问 AI 一百个问题,知识归零一百次。Karpathy 说:换个玩法——让 AI 替你持续编译一本百科全书,问得越多,它越聪明,知识永远不归零。
这不是又一个「Obsidian 搭建教程」
先说清楚:这篇文章不是教你怎么用 Obsidian 做笔记、怎么整理 PARA、怎么挑插件。那些话题网上已经写得够多了。
我要讲的是一种完全不同的知识生产方式——
让 LLM 当「编译器」,把你的原始资料增量编译成一本结构化、互相链接的 Markdown 百科全书。
这个想法来自 Andrej Karpathy。2025 年 4 月,他在 GitHub Gist 上发了一篇不到 500 字的短文,标题叫 LLM Wiki。没有代码,没有工具推荐,只是一个思路:
与其每次提问都让 AI 从原始文档里重新检索、重新拼答案(RAG 的老路子),不如让 AI 把知识预先编译成一本 wiki。交叉引用已经建好,矛盾已经标注,综合结论已经反映了所有已读过的资料。
这条 gist 拿到了 55K 点赞,30 多个开源实现紧随其后。
为什么一个「让 AI 写 wiki」的想法能引爆全网?因为它戳中了一个每个人都在忍受的痛点——
你剪藏了 500 篇文章,一篇也没看过。你问 AI 同一个问题,它每次给你不同答案。你的知识从来没有在「积累」,只是在「循环」。
LLM Wiki 要解决的就是这件事。
一、为什么不是 RAG?——「增量编译」vs「每次重做」
RAG 的问题
大多数人用 AI 处理知识的方式,本质上都是 RAG(Retrieval-Augmented Generation,检索增强生成):
- 上传文件 / 丢链接
- AI 把文档切成碎片(chunks)
- 你提问时,AI 从碎片里检索出相关的几段
- 拼成一个答案给你
- 结束。下次再问,从头来。
NotebookLM 是这样,ChatGPT 的文件上传是这样,绝大多数「AI 知识库」产品都是这样。
问题在哪?没有积累。
你问了一个好问题,AI 花了一堆 token 检索、推理、综合,给出了一个精彩的回答——然后这个回答就消失了。下次你或者别人问类似的问题,同样的检索、同样的推理、同样的 token 消耗,一切从零开始。
这就像每次做菜都从买菜开始。
LLM Wiki 的核心差异
Karpathy 的方案完全不同:
知识被编译一次,然后持续维护,不是每次查询重新推导。
打个比方:你有一个助手,不只是帮你做菜——他会帮你备菜、切好、分装、贴标签。下次做菜的时候,直接打开冰箱拿就行。如果来了新食材,他会更新冰箱里的分类,而不是把所有菜都倒掉重来。
这就是「增量编译」:
- 新资料进来 → LLM 读取它
- LLM 对比已有的 wiki 页面
- 更新已有页面(加入新信息、补充细节)
- 创建新页面(如果有全新概念)
- 建立交叉引用(双向链接)
- 标注矛盾(A 页面说 X,B 页面说 Y,但两者冲突)
- 更新索引和日志
知识是编译进去的,不是检索出来的。
这两者的区别,用一个表格说清楚:
| 维度 | RAG(每次重做) | LLM Wiki(增量编译) |
|---|---|---|
| 知识处理时机 | 查询时实时检索 | 摄入时预先编译 |
| 知识形态 | 原始文档碎片 | 结构化 wiki 页面 |
| 交叉引用 | 每次查询重新发现 | 已预先建立 |
| 矛盾处理 | 可能返回冲突信息 | 已标注并待审核 |
| 更新方式 | 追加文档到向量库 | 增量更新已有页面 |
| 人工介入 | 较少(自动索引) | 较多(审核编译结果) |
| 知识积累 | 无(每次从零开始) | 有(雪球越滚越大) |
一句话总结:RAG 是「每次现查现答」,LLM Wiki 是「持续编译、越用越厚」。
二、Karpathy 的三层架构
Karpathy 在 gist 里描述了一个简洁的三层结构。理解这三层,就理解了 LLM Wiki 的全部骨架:
┌─────────────────────────────────┐
│ Schema 层(规则) │ ← CLAUDE.md / SYSTEM.md
│ 告诉 LLM 怎么组织 wiki │
├─────────────────────────────────┤
│ Wiki 层(编译产物) │ ← 你的「第二大脑」
│ 概念文章、实体页面、索引、链接 │
├─────────────────────────────────┤
│ Raw 层(原始资料) │ ← 等待编译的原料
│ 文章、论文、播客笔记、网页剪藏 │
└─────────────────────────────────┘Schema 层:规则书
一个 Markdown 文件(通常叫 CLAUDE.md 或 SCHEMA.md),告诉 LLM:
- 目录结构怎么组织
- 文件怎么命名
- 链接格式是什么
- 什么时候创建新页面、什么时候更新已有页面
- 遇到矛盾信息怎么处理
这是整个系统的「宪法」。 LLM 每次操作前都会读它,确保编译出来的一致性。
Wiki 层:你的百科全书
这是 LLM 编译出来的产物——一堆结构化的 Markdown 文件:
concepts/— 概念页面(如「AI Agent」「个人知识管理」)entities/— 实体页面(如「Obsidian」「Claude Code」)comparisons/— 对比页面(如「RAG vs LLM Wiki」)index.md— 目录索引log.md— 操作日志
每个页面都有 YAML frontmatter(标题、创建日期、更新日期、来源、置信度等),页面之间用 [[wikilinks]] 互相链接。
Raw 层:等待编译的原料
你收集的所有原始资料放在这里:
raw/articles/— 文章、博客raw/papers/— 论文 PDFraw/notes/— 播客笔记、会议记录raw/bookmarks/— 网页剪藏
Raw 层的东西不是知识,是知识的原料。 只有经过 LLM 编译进入 Wiki 层,才算真正变成了你的知识资产。
Karpathy 自己说:「Obsidian 是 IDE;LLM 是程序员;Wiki 是代码库。」
三、30 分钟搭起来:环境准备与最小复刻
你需要什么
- Obsidian(任意版本,免费)—— 用来浏览和可视化 wiki
- Claude Code CLI(或其他能操作本地文件的 LLM agent)—— 用来编译知识
- 终端(macOS Terminal / iTerm / Windows Terminal)
⚠️ 重要区分: 这里用 Obsidian 不是因为它有什么「AI 功能」,而是因为它是一个纯粹的 Markdown 文件浏览器。LLM 写入文件,Obsidian 实时显示。不需要插件,不需要配置,不需要向量数据库。这和普通 Obsidian 知识库搭建完全不同——那篇文章讲的是「人怎么整理笔记」,这篇讲的是「AI 怎么编译知识」。
步骤 1:创建 Vault 目录
mkdir -p ~/llm-wiki
cd ~/llm-wiki
# 创建三层结构
mkdir -p raw/articles raw/papers raw/notes
mkdir -p wiki/concepts wiki/entities wiki/comparisons wiki/queries步骤 2:写 Schema 文件
在 vault 根目录创建 SCHEMA.md:
# Wiki Schema
## Domain
[你的知识库主题,比如:AI 技术与个人知识管理]
## Conventions
- 文件名:小写、连字符、无空格(如 ai-agent.md)
- 每个 wiki 页面以 YAML frontmatter 开头
- 使用 [[wikilinks]] 链接页面(每页至少 2 个外链)
- 更新页面时,必须更新 frontmatter 中的 updated 日期
- 新页面必须加入 index.md
- 每次操作必须追加到 log.md
- 来源标注:在段落末尾添加 ^[raw/articles/文件名.md]
## Frontmatter 模板
---
title: 页面标题
created: YYYY-MM-DD
updated: YYYY-MM-DD
type: entity | concept | comparison | query
tags: [标签1, 标签2]
sources: [raw/articles/来源文件.md]
confidence: high | medium | low
---
## 页面规则
- 一个概念在 2+ 来源中出现 → 创建独立页面
- 一个来源提到了已有概念 → 更新已有页面
- 只是顺带提到 → 不创建页面
- 页面超过 200 行 → 考虑拆分
## 矛盾处理
当新信息与已有内容冲突时:
1. 检查日期——新来源通常优先
2. 如果确实矛盾,在两个页面都标注两种观点
3. 在 frontmatter 中标记:contradictions: [页面名]
4. 在日志中标注待审核步骤 3:初始化索引和日志
创建 index.md:
# Wiki Index
> Last updated: [今天日期] | Total pages: 0
## Entities
(暂无)
## Concepts
(暂无)
## Comparisons
(暂无)
## Queries
(暂无)创建 log.md:
# Wiki Log
> 所有操作的 chronological 记录。仅追加。
## [今天日期] create | Wiki initialized
- Structure created with SCHEMA.md, index.md, log.md
- Ready for first ingestion步骤 4:在 Obsidian 中打开
- 打开 Obsidian
- 选择「Open folder as vault」
- 选择
~/llm-wiki目录 - 你会看到左侧文件树
**
