Karpathy 的 LLM Knowledge Base:用 AI 编译个人知识库

> 来源: https://x.com/karpathy/status/2039805659525644595

> 日期: 2026-04-02 (推文) / 2026-04-03 (报告)

> 作者: Andrej Karpathy(前 Tesla AI 总监,OpenAI 创始成员)

> 互动: 2.1 万赞 / 295 万浏览

🎯 一句话版本

Karpathy 发现:与其让 AI 帮你写代码,不如让 AI 帮你"编译知识"——把散乱的文章、论文、数据源丢进 raw/ 目录,LLM 自动生成一个互相链接的 Markdown Wiki,然后你可以对这个知识库做 Q&A、生成报告、做健康检查。

Karpathy 的完整工作流

架构图


原始数据源                    LLM "编译器"              输出 & 查看
──────────                   ───────────              ──────────
文章 ─┐                                               
论文 ─┤                    ┌──────────────┐           Obsidian
代码 ─┼─→ raw/ 目录 ──→   │  LLM Agent   │ ──→  .md Wiki
数据 ─┤                    │  (编译+维护)  │           ├── 概念文章
图片 ─┘                    └──────┬───────┘           ├── 摘要索引
                                  │                    ├── 反向链接
                           ┌──────┴───────┐           ├── Marp 幻灯片
                           │  Q&A / Lint  │           └── matplotlib 图
                           │  工具 + CLI   │
                           └──────────────┘
                                  ↑
                           查询结果回写 Wiki
                           (知识持续积累)

六个阶段详解

1. 数据摄入(Data Ingest)

- 对所有 raw/ 数据写摘要

- 分类为概念

- 为每个概念写文章

- 建立反向链接

关键洞察:他用了"编译"这个词——把非结构化数据"编译"成结构化知识,就像把源代码编译成可执行文件。

2. IDE(Obsidian 作为前端)

3. Q&A(知识库问答)

这是最反直觉的发现:Karpathy 原以为需要向量数据库 + RAG 管线,但发现在 ~400K 词的规模下,LLM 自己维护的索引 + 摘要就足够了。

4. 输出(多格式渲染)

- Markdown 文件

- Marp 幻灯片

- matplotlib 图表

5. Linting(知识库健康检查)

- 找不一致的数据

- 补全缺失数据(用搜索引擎)

- 发现有趣的关联,推荐新文章候选

6. 进阶探索

❓ "编译 Wiki"具体长什么样?

用一个具体例子说明 LLM 是怎么把 raw/ 数据"编译"成 Wiki 的。

输入:raw/ 目录

假设你在研究 Transformer 相关主题,raw/ 里有这些文件:


raw/
  paper-attention-is-all-you-need.md    ← Obsidian Web Clipper 抓的论文
  blog-karpathy-llm-os.md              ← 博客文章
  repo-notes-vllm.md                   ← GitHub README 笔记
  dataset-openwebtext-stats.md          ← 数据集统计
  screenshot-benchmark-results.png      ← 截图

输出:LLM 自动生成的 Wiki


wiki/
  concepts/
    transformer.md              ← 自动写的概念文章
    attention-mechanism.md      ← 自动提取的子概念
    tokenization.md
    inference-optimization.md
  summaries/
    _index.md                   ← 所有文档的一句话摘要索引
  people/
    karpathy.md                 ← 自动识别的人物
  projects/
    vllm.md                     ← 自动识别的项目

每篇 .md 内部的结构

transformer.md 为例:


# Transformer

## 概述
Transformer 是一种基于自注意力机制的神经网络架构...

## 关键组件
- [[attention-mechanism]]       ← 双向链接(Obsidian 点击可跳转)
- [[tokenization]]

## 相关论文
- 来源: [[raw/paper-attention-is-all-you-need]]
- 来源: [[raw/blog-karpathy-llm-os]]

## 相关项目
- [[vllm]] — 高效推理引擎

## 关键数据
- 参数规模: 65M (原始) → 70B+ (2024)
- 来源: [[raw/dataset-openwebtext-stats]]

LLM 做的三件核心事

操作说明
**摘要**每个 raw 文件自动生成一句话摘要,汇总到 `_index.md`
**分类**自动从原始数据中提取概念、人物、项目,分别建文章
**链接**用 `[[双括号]]` 格式建立文档间的交叉引用,形成知识图谱

"编译"的本质

就像 C 编译器把源代码 → 可执行文件:


源代码 (.c)  →  编译器  →  可执行文件 (.exe)
散乱数据 (raw/)  →  LLM  →  结构化 Wiki (wiki/)

每次新增 raw 文件,LLM 增量更新 Wiki(不是全部重写):新数据被摘要、分类、链接到已有的知识网络中。

为什么不需要 RAG?

因为 _index.md 就是一个"穷人版搜索引擎"——所有文档的一句话摘要都在一个文件里。LLM 查询时:

1. 先读 _index.md(几千词),找到相关文档

2. 再读相关文档全文

3. 综合回答

在 ~40 万词(约 500 页书)的规模下,这个策略完全够用。不需要向量数据库、不需要嵌入模型、不需要 Pinecone 或 Weaviate。

为什么这条推文重要?

1. Karpathy 效应

21,000 赞、295 万浏览——Karpathy 是 AI 领域最有影响力的个人之一。他的工作流会被大量开发者模仿。

2. 范式转移信号

> "a large fraction of my recent token throughput is going less into manipulating code, and more into manipulating knowledge"

Karpathy 明确说:他把越来越多的 token 从写代码转向管理知识。这意味着 LLM 的主要用途正在从 "AI Coding" 扩展到 "AI Knowledge Management"。

3. RAG 不是万能药

在 ~400K 词(约 500 页书)的规模下,纯 Markdown + LLM 自维护索引就够了。不需要向量数据库、不需要嵌入模型、不需要 Pinecone/Weaviate。这对很多过度工程化 RAG 管线的团队是一个清醒的信号。

4. "编译知识"是新范式

把 LLM 当成"知识编译器"——输入是散乱的原始数据,输出是结构化的 Wiki——这个比喻非常精确。而且他强调 Wiki 是 LLM 的领地,人类几乎不编辑

我们正在做同样的事

这条推文读起来像是对我们 docs/deep-research/ 工作流的精确描述:

Karpathy 的做法我们的做法
`raw/` 目录存原始数据`docs/deep-research/raw/` 存原始抓取
LLM 编译成 .md WikiAI Agent 生成研究报告 (.md)
Obsidian 作为前端temp.jaylab.io 作为前端
查询结果回写 Wiki"补充到 doc" 更新已有报告
LLM 做健康检查(我们还没做,但应该做!)
索引文件 + 摘要jaylab.io 首页自动生成索引
Web Clipper 采集web_fetch + browser 抓取

区别

可以借鉴的改进

1. 知识库 Linting ⭐

我们有 270+ 篇报告但从没做过"健康检查"。可以让 Agent:

2. 自动索引 + 摘要

Karpathy 让 LLM 自动维护索引文件。我们的 build.py 已经做了静态索引,但可以加一层 LLM 生成的语义索引

3. 查询结果回写

目前我们的"补充到 doc"是手动触发的。可以自动化:Agent 的每次深度回答自动生成 appendix 附加到相关报告。

4. 合成数据 + 微调方向

Karpathy 提到的终极方向——用知识库生成训练数据来微调模型。配合 ub2 的 RTX 4090,我们有硬件条件做这件事(用 Qwen3.5 之类的模型做知识蒸馏)。

评分

维度分数说明
思想深度10/10"编译知识"范式极其精准,RAG 不必要的洞察很有价值
实用性9/10每一步都可以直接实操,不是空想
创新性7/10做法不新但把它说清楚了(很多人在做类似的事)
影响力10/102.1 万赞 + Karpathy 背书 = 行业级信号
与我们的相关性10/10我们的 deep-research 就是这个流程的实例
**综合****9.0/10**

关键链接

> 一句话总结:Karpathy 说出了很多人在做但没想清楚的事——LLM 最强的用途不只是写代码,而是"编译知识"。把散乱的信息源编译成结构化 Wiki,不需要 RAG,不需要向量数据库,Markdown + LLM 自维护索引就够了。我们的 deep-research 工作流就是这个范式的活体实践。