Karpathy所说的LLM Wiki

这AI圈的新概念真是比新概念英语的新概念还多。

Andrej Karpathy最近又提了一个概念,叫LLM Wiki。这是一个使用LLM构建个人知识库的方法,Karpathy在他的post开篇就说了,这是一个high level idea,每个人在操作层面都可以有一些自己的具体设计。

大致上来说,LLM Wiki是一套人与LLM/Agent(用Claude Code就行)协作,逐步构建个人知识库的“动态过程”。为什么强调动态过程,因为LLM Wiki不是一次构建就固化使用的概念,而是不断迭代,持续更新的方案。

比如说,我现在要系统学习LLM,那我首先要去搜索一些论文,学习一些概念,形成体系。在这个过程中,一个经典的做法可以把这些文献构造成一个数据库,然后借用RAG的能力来学习,比如用腾讯的IMA。

RAG确实可以解决很多问题,但是也存在一些约束。比如说我要学习模型架构的发展,一开始怎么在RNN里开始加上attention,然后出了Transformer,之后有BERT和GPT,期间Pre-Norm和Post-Norm如何对比,MHA怎么发展到MQA、GQA和MLA,MoE又是什么起源,位置编码怎么从绝对迁移到相对。这些概念都交织到一起,如果想获得这些概念的全景图,或者顺着一个概念一直联系相关概念学习下去,仅用RAG可能就没法获得很好的效果。

RAG为什么处理不好这些问题呢?因为离散式的搜索召回,本身就很难把这些相关概念正确地组织起来。可能有人说,不会啊,模型自己就能知道这些概念都和模型结构相关,因此搜索的时候可以通过生成覆盖面足够大的query list来召回。且不说模型能不能在规划搜索的时候做到完善,如果面对的概念不是预训练的数据库中已经较好学习过的,比如是最新最前沿的科学概念,那模型明显就缺失了相关背景知识,从而难以覆盖应有的概念。

另外,即使搜索到了足够多的信息,要从离散的片段里,正确地梳理好这些知识,本身就不容易。再者,问过的问题好不容易用了很多知识回答好了,但是下次再问又得从头做了。

那么能不能把这些知识联系和组织的工作提前做好,并且还能不断更新呢。诶,LLM Wiki就是为此而生的。与其在查询时从原始文档中检索,LLM Wiki增量式地构建和维护一个持久的wiki——一个结构化的、相互链接的 markdown 文件集合。当你添加新资料时,LLM Wiki不只是为后续检索建立索引。它会阅读资料,提取关键信息,并将其整合到现有wiki中——更新实体页面,修订主题摘要,标注新数据与旧数据的矛盾。知识被重新整合,保持最新,而不是在每次查询时重新推导。

爽的是,这一切操作都不用自己动手,而是让LLM来干就行了。用户只需要把操作的原则设定好就行。

具体来说LLM Wiki的架构有三部分:

  • 原始资料:源文档集合,文章、论文、图片、数据文件。这些是不可变的,LLM 从中读取但从不修改它们。这是你的真相来源。
  • Wiki:LLM 生成的 markdown 文件目录。摘要、实体页面、概念页面、比较、概览、综合等。LLM 完全拥有这一层的权限。
  • Schema:一个文档(例如 Claude Code 的 CLAUDE.md 或 Codex 的 AGENTS.md),告诉 LLM wiki 如何结构化,约定是什么,以及在摄入资料、回答问题或维护 wiki 时要遵循什么工作流程。这是关键配置文件——它让 LLM 成为一个有纪律的 wiki 维护者,而不是一个通用聊天机器人。你和 LLM 随时间共同演进这个文件。

一个schema的样例:

# LLM Wiki Schema

## 项目结构
- `raw/` — 不可变的源文档。严禁修改。
- `wiki/` — LLM 生成的 Wiki。你拥有其完全所有权。
- `wiki/index.md` — 主目录。每次摄取时更新。
- `wiki/log.md` — 仅限追加的活动日志。

## 页面规范
每个 Wiki 页面必须包含 YAML frontmatter:
```
---
title: Page Title
type: concept | entity | source-summary | comparison
sources: [引用的 raw/ 文件列表]
related: [链接的 Wiki 页面列表]
created: YYYY-MM-DD
updated: YYYY-MM-DD
confidence: high | medium | low
---
```

## 摄取工作流
当我说 "ingest [文件名]" 时:
1. 读取 raw/ 中的源文件
2. 与我讨论核心要点
3. 在 wiki/sources/ 中创建/更新摘要页面
4. 更新 wiki/index.md
5. 更新所有相关的概念和实体页面
6. 在 wiki/log.md 中追加一条记录

## 查询工作流
当我提问时:
1. 阅读 wiki/index.md 以查找相关页面
2. 阅读这些页面
3. 综合答案并附上 [[wiki-link]] 引用
4. 如果答案有价值,提议将其归档为
   一个新的 wiki 页面

## Lint 工作流
当我说 "lint" 时:
1. 检查页面之间是否存在矛盾
2. 查找没有入站链接的孤立页面
3. 列出已提及但缺少独立页面的概念
4. 检查被新来源取代的陈旧主张
5. 建议下一步要调研的问题

一开始收集资料,就让LLM/Agent按照schema的要求对所有资料进行处理,后续再进来新的资料,也同样操作。

所构建成的wiki directory样例:

wiki/
  index.md                 # Master catalog of all pages
  log.md                  # Chronological activity record
  overview.md             # High-level synthesis
  concepts/
    attention-mechanism.md
    mixture-of-experts.md
    scaling-laws.md
    tokenization.md
  entities/
    openai.md
    anthropic.md
    google-deepmind.md
  sources/
    summary-attention-revisited.md
    summary-scaling-update.md
  comparisons/
    gpt4-vs-claude-vs-gemini.md
    rag-vs-finetuning.md

schema里的raw和wiki就是三部分架构里的另外两个。schema里还提到index.md和log.md两个部分。log.md很好理解,就是wiki的变化日志,用于追溯每个变化都是哪个文献引起的。

index.md则是wiki中所有内容的目录。有query的时候,LLM/Agent首先就看index.md,然后找相关的内容。index.md长这样:

# Wiki Index

## Concepts
- [[attention-mechanism]] — 自注意力、多头
  注意力及其变体 (12 个来源)
- [[mixture-of-experts]] — 稀疏 MoE 架构,
  路由策略 (8 个来源)
- [[scaling-laws]] — Chinchilla、Kaplan 定律,
  计算最优训练 (15 个来源)
- [[tokenization]] — BPE、SentencePiece、tiktoken
  (3 个来源)

## 实体
- [[openai]] — GPT 系列,组织历史
  (20 个来源)
- [[anthropic]] — Claude 系列,宪法 AI
  (14 个来源)
- [[google-deepmind]] — Gemini, PaLM, AlphaFold
  (18 个来源)

## 来源摘要
- [[summary-attention-revisited]] — 2026-03-15
- [[summary-moe-efficiency]] — 2026-04-01
- [[summary-scaling-update]] — 2026-04-02

## 对比
- [[moe-routing-strategies]] — 归档自查询 2026-04-04
- [[rag-vs-finetuning]] — 权衡与使用场景

在操作上,Karpathy 定义了三个核心操作。

1、Ingest

这是最重要的操作。单次 ingest 不仅仅是创建一个新页面 — 它会波及整个 wiki。如果你 ingest 了一篇关于新 transformer 变体的论文,LLM 可能会:

  • 为该论文创建一个新的摘要页面
  • 使用新变体更新 “Attention Mechanism” 概念页面
  • 如果论文包含新的基准测试,则更新 “Scaling Laws” 页面
  • 更新论文作者或其所属机构的实体页面
  • 如果论文针对已知模型进行了基准测试,则更新对比页面
  • 从引用新内容的现有页面中添加链接
  • 使用新页面更新索引
  • 在log中记录导入 (ingest)

示例:

# 你将一篇新文章放入 raw/ 目录

> 我刚刚在 raw/articles/ 中添加了一篇新文章
>   2026-04-mixture-of-experts-efficiency.md
> 请导入它。

# LLM 读取它,然后回复:

本文的核心要点:
1. MoE 模型在相同质量下实现了 4 倍的吞吐量
2. 路由效率比 Switch Transformer 提高了 23%
3. 与我们 wiki 中关于稠密模型 (dense models) 的说法相矛盾:
   即在 10B 参数以下总是更高效

我将执行以下操作:
- 创建 wiki/sources/summary-moe-efficiency-2026.md
- 更新 wiki/concepts/mixture-of-experts.md
- 更新 wiki/concepts/scaling-laws.md (新增基准测试)
- 在 wiki/concepts/dense-vs-sparse.md 中标记矛盾点
- 更新 wiki/index.md
- 追加到 wiki/log.md

2、query

直接对LLM/Agent提问就行,但是有一个关键点:优秀的答案可以作为新页面归档回 wiki 中。

示例:

> 对比我们所有来源中
> MoE 模型的路由策略。哪种方法具有最佳的效率/
> 质量权衡?

# LLM 读取 wiki/concepts/mixture-of-experts.md,
# wiki/sources/summary-moe-*.md,并生成分析

[LLM 生成带有表格的详细对比]

> 太棒了。将其归档为 wiki 页面。

# LLM 创建 wiki/comparisons/moe-routing-strategies.md
# 更新 index.md,从相关页面添加链接

3、Lint

定期让 LLM 对 wiki 进行健康检查。比如看有没有矛盾的信息、孤立的信息、缺失的信息。

Karpathy提出了一些检查类型:

> Lint the wiki.

Wiki Health Report (2026-04-04):

CONTRADICTIONS (2):
- concepts/dense-vs-sparse.md claims dense > sparse
  below 10B, but sources/summary-moe-efficiency.md
  shows opposite. Recommend: update with nuance.
- entities/openai.md says GPT-5 is 200B params,
  but sources/summary-gpt5-leak.md says 300B.

ORPHAN PAGES (3):
- concepts/tokenization.md (no inbound links)
- sources/summary-old-bert-paper.md (no references)
- comparisons/old-gpu-benchmark.md (outdated)

MISSING PAGES (4):
- "RLHF" mentioned 12 times, no concept page
- "Constitutional AI" mentioned 8 times, no page
- "KV Cache" referenced in 5 sources, no page
- "Speculative Decoding" mentioned 3 times, no page

SUGGESTED INVESTIGATIONS:
- No sources on inference optimization post-2025
- Entity page for Meta AI is thin (only 1 source)
- The "Scaling Laws" page hasn't been updated in 3 weeks

LLM Wiki大致的构建和维护思路就是这样。schema的设计,directory的设计也仅供参考,用户完全可以自定适合自己的一套。

Karpathy提到他是用Obsidian来做文档转换和链接可视化的,并且最好一点一点构建数据库,这样可以边构建边学习。

Reference

【1】https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f
【2】Karpathy's LLM Wiki:其 Idea File 全方位指南,https://antigravity.codes/zh/blog/karpathy-llm-wiki-idea-file


【推荐文章】
- Agent:
Harness Engineer
字节的M3-Agent
DeepResearch的报告生成方法
从RAG到DeepSearch
阿里通义Lab: WebWalker,WebDancer和WebSailor
Agent评测数据集
Agent完全手册(零):三大模块,三个理念
agent调研(1)--MetaGPT,OpenManus和OWL
Devin和Anthropic的Agent开发经验
- MoE:
DeepSeek-V3细节探索
MoE模型的前世今生
DeepSeek-V2和MLA
昆仑万维-SkyworkMoE
成本10w刀的JetMoE
MoE的top-p routing
对MoE模型的一些观察
从dense到MoE -- sparse upcycling
MoE路由--expert choice routing
- 端侧模型:
苹果智能系统模型--AFM
MiniCPM
适合移动设备的语言模型--MobileLLM
phi系列模型
Gemma2
苹果的OpenELM
bilibili的index-1.9B
- 预训练:
预训练经验
Qwen3实测&技术报告
代码大模型(一)--业界现状
代码大模型(二)--OpenCoder
LLM高效预训练(一)
LLM高效预训练(二)
Llama3.1--预训练要点一览
Qwen2技术报告
Yi技术报告-划重点看细节
InternLM系列模型
GLM4报告的一些技术点
从Yuan2.0到Yuan2.0-M32
从loss视角理解大模型涌现能力
- 数据:
训练数据合成(一)
训练数据合成(二)
训练数据合成(三)
LLM预训练数据策略(一)
预训练数据处理--长度分解
- 长上下文:
Qwen2.5-1M技术解析
LLM长上下文的问题
解锁大模型长上下文能力
大模型推理窗口-从有限到无限大
prompt压缩(一)
prompt压缩(二)
reasoning压缩(一)
- 推理加速:
大模型推理加速-投机解码
大模型推理加速-MEDUSA
- 对齐:
VeRA,LoRA-XS和TinyLoRA
腾讯的Training-Free GRPO
深度求索DeepSeek-R1详解
基模型Cognitive Behaviors对RL的影响
Llama3.1--post-training要点一览
模型平均 -- model soup
大模型偏好对齐-DPO
大模型偏好对齐-ODPO
大模型偏好对齐-simPO
大模型偏好对齐-IPO
- Transformer:
Attention Residuals
理解Attention:从起源到MHA,MQA和GQA
LLM的重复生成和ICL
transformer中normalization的二三事
从代码实现看normalization-到底做了什么
稀疏注意力计算:sliding window attention
理解LLM位置编码:RoPE
RoPE的远距离衰减
LLM水印
- 训练框架
Muon优化器
LLM训练框架:从优化器和精度讲到ZeRO
LLM训练各种并行策略
- 项目应用:
一个模型支持智能助手系统
关于The Bitter Lesson
- CV:
CV入门--关于Vision Transformer
CV入门--无监督学习
- 多模态:
多模态入门(一)--CLIP
多模态入门(二)--Flamingo,LLaVA系列和BLIP系列
多模态入门(三)--MiniGPT4,DeepSeekVL,InternVL系列和QwenVL系列
多模态入门(四)--CogVLM,VILA,MM1,MM1.5和Pixtral-12B
多模态入门(五)--InternVL系列
小米的移动UI多模态模型--MobileVLM
DeepSeek-VL2的细节
- 论文阅读:
最近阅读--关于数据合成、agent、reasoning和多任务
最近阅读2-关于自适应深度思考、context engineering和模型训练
- 大模型算法题:
(1)(2)(3)(4)(5)(6)(7)(8)(9)