Ingest 教程:把一篇文章变成一组互相连接的 Wiki 页面

LLM Wiki 的第一个核心操作:如何把 raw 里的原始资料吸收到 wiki 里,生成 source summary、concept page、question page、synthesis,并更新 index 和 log。

6 min read Part of LLM Wiki · Ch. 4

Ingest 教程

Ingest 是 LLM Wiki 的第一块肌肉。它不是“总结文章”,而是把一篇资料纳入一个持续维护的知识网络。

这一篇我们用 Karpathy 的 LLM Wiki gist 作为第一篇 raw source,完整跑一轮。


先说结论

一次合格的 ingest 至少要完成 6 件事:

  1. 读取 raw source;
  2. 创建 wiki/sources/ 整理页;
  3. 更新或新建 wiki/concepts/
  4. 生成值得追的问题;
  5. 必要时写 synthesis;
  6. 更新 index.mdlog.md

如果 Agent 只给你一篇摘要,这不叫 LLM Wiki ingest。


1. 准备第一篇 raw source

新建文件:

raw/articles/2026-04-25-karpathy-llm-wiki.md

顶部写 frontmatter:

---
title: "LLM Wiki"
author: "Andrej Karpathy"
source_url: "https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f"
captured_at: 2026-04-25
type: article
---

然后把原文内容放进去。

注意:

  • 不需要手工整理;
  • 不需要你先总结;
  • raw 只是保存原始材料。

2. 第一次 ingest 的 prompt

在 Wiki 根目录里对 Agent 说:

请 ingest raw/articles/2026-04-25-karpathy-llm-wiki.md。

按照 AGENTS.md 执行。

要求:
1. 不修改 raw/ 中的原文。
2. 创建 source summary。
3. 更新或新建相关 concept pages。
4. 如果有值得长期保留的综合判断,写入 synthesis。
5. 如果有值得继续研究的问题,写入 questions。
6. 更新 index.md。
7. 追加 log.md。
8. 最后列出新增和更新的文件。

第一次不要让它批量处理多篇。

先让它把一篇做好。


3. 预期产物

理想情况下,它会生成这些文件:

wiki/sources/karpathy-llm-wiki.md
wiki/concepts/llm-wiki.md
wiki/concepts/raw-vs-wiki.md
wiki/concepts/ingest.md
wiki/concepts/wiki-lint.md
wiki/questions/when-to-add-search.md
wiki/synthesis/llm-wiki-vs-rag.md

同时更新:

index.md
log.md

这才是一次完整 ingest。


4. Source summary 应该长什么样

wiki/sources/karpathy-llm-wiki.md 可以长这样:

---
type: source
source_type: article
source_path: raw/articles/2026-04-25-karpathy-llm-wiki.md
source_url: https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f
created: 2026-04-25
updated: 2026-04-25
tags: [llm-wiki, knowledge-base, agent]
---

# Karpathy: LLM Wiki

## 一句话总结

这篇提出了一种由 LLM Agent 维护 Markdown Wiki 的个人知识库模式:人负责选资料和提问,Agent 负责整理、交叉引用、更新和维护。

## 核心观点

- 普通 RAG 往往在查询时临时检索,知识不会自然积累。
- LLM Wiki 会把资料提前编译成可读、可维护、可链接的 Wiki。
- Wiki 应该分成 raw sources、wiki、schema 三层。
- 日常操作主要是 ingest、query、lint。
- index.md 负责内容导航,log.md 负责时间线。

## 重要细节

- raw sources 是证据层,不应该被 Agent 随意修改。
- wiki 是 Agent 维护的知识层。
- schema 通常由 AGENTS.md 或 CLAUDE.md 承担。
- 好的 query 结果可以写回 Wiki,让探索继续积累。

## 影响到的 Wiki 页面

- [[wiki/concepts/llm-wiki]]
- [[wiki/concepts/raw-vs-wiki]]
- [[wiki/concepts/ingest]]
- [[wiki/concepts/wiki-lint]]
- [[wiki/synthesis/llm-wiki-vs-rag]]

## 可继续追问的问题

- [[wiki/questions/when-to-add-search]]
- [[wiki/questions/how-to-prevent-agent-drift]]

这个页面不是给用户看的“成品文章”。

它是以后其他页面引用这篇 source 的入口。


5. Concept page 应该怎么更新

wiki/concepts/llm-wiki.md 不应该只复述这篇 source。

它应该变成长期概念页:

---
type: concept
created: 2026-04-25
updated: 2026-04-25
tags: [llm-wiki, knowledge-base]
sources:
  - wiki/sources/karpathy-llm-wiki.md
status: active
---

# LLM Wiki

## 定义

LLM Wiki 是一种由 LLM Agent 维护的 Markdown 知识库模式。它把原始资料和整理后的知识分开,让 Agent 在 ingest、query、lint 过程中持续更新概念页、来源页、问题页和综合页。

## 为什么重要

普通 RAG 通常在查询时临时检索资料,回答完成后很少留下结构化知识。LLM Wiki 的重点是让知识沉淀为可读、可链接、可维护的页面。

## 基本结构

- `raw/`:保存原始资料。
- `wiki/`:保存整理后的知识。
- `AGENTS.md`:规定 Agent 如何维护 Wiki。
- `index.md`:内容导航。
- `log.md`:操作时间线。

## 相关概念

- [[wiki/concepts/raw-vs-wiki]]
- [[wiki/concepts/ingest]]
- [[wiki/concepts/wiki-lint]]

## 相关来源

- [[wiki/sources/karpathy-llm-wiki]]

注意它的风格:

  • 更像百科页;
  • 可以被多篇 source 更新;
  • 不属于某一篇文章;
  • 后续会变厚。

6. Synthesis page 怎么写

如果这次 ingest 里产生了一个很有价值的比较,比如 LLM Wiki vs RAG,就写进 wiki/synthesis/

# LLM Wiki vs RAG

## 结论摘要

RAG 更像查询时的搜索和生成流程;LLM Wiki 更像提前编译、持续维护的知识系统。两者不是互斥关系,小规模时 LLM Wiki 可以只靠 index.md,规模变大后也可以叠加搜索或 RAG。

## 对比表

| 维度 | RAG | LLM Wiki |
| --- | --- | --- |
| 处理时机 | 查询时 | ingest 时 + query 时 |
| 知识形态 | chunk | Markdown 页面 |
| 是否积累 | 较弱 | 较强 |
| 人类可读性 | 通常依赖系统 | 直接可读 |
| 适合场景 | 快速问答 | 长期研究 |

## 判断

如果资料只是临时查一次,用 RAG 更快;如果你会围绕一个主题持续学习数周或数月,LLM Wiki 的复利更明显。

## 证据

- [[wiki/sources/karpathy-llm-wiki]]

Synthesis 是 Wiki 的“观点层”。

它不是原始事实,而是基于多个页面的整理和判断。

所以要保留证据链接。


7. Question page 怎么写

第一次 ingest 后,Agent 可能会发现问题:

什么时候 index.md 不够用,需要搜索?

这就应该写成:

---
type: question
created: 2026-04-25
updated: 2026-04-25
tags: [llm-wiki, search]
status: open
---

# When should an LLM Wiki add search?

## 问题

LLM Wiki 在小规模时可以靠 index.md 导航,但页面数量增长后,什么时候应该加入搜索工具?

## 当前理解

Karpathy 的模式里,index.md 在中小规模下足够有用。规模变大后,可以考虑本地 Markdown 搜索、BM25、向量搜索或 qmd 这类工具。

## 已有证据

- [[wiki/sources/karpathy-llm-wiki]]

## 仍不清楚

- 多少页面后 index.md 会明显变慢?
- 搜索工具应该先用 ripgrep、Obsidian 搜索,还是直接上向量?
- 搜索结果是否要写回 Wiki?

## 下一步资料

- 调研 qmd。
- 用 50、100、200 个页面做一次检索体验对比。

问题页的价值在于,它让你的学习不是散的。

它会把“以后再说”变成明确的研究 backlog。


8. index.md 应该怎么更新

ingest 后,index.md 至少要多这些条目:

## Sources

- [[wiki/sources/karpathy-llm-wiki]] — Karpathy 提出的 LLM Wiki 模式说明。

## Concepts

- [[wiki/concepts/llm-wiki]] — 由 LLM Agent 维护的 Markdown 知识库模式。
- [[wiki/concepts/raw-vs-wiki]] — 原始资料层和知识加工层的边界。
- [[wiki/concepts/ingest]] — 把 raw source 纳入 Wiki 的操作。
- [[wiki/concepts/wiki-lint]] — 对 Wiki 进行健康检查的操作。

## Questions

- [[wiki/questions/when-to-add-search]] — 什么时候需要为 Wiki 增加搜索工具?

## Synthesis

- [[wiki/synthesis/llm-wiki-vs-rag]] — LLM Wiki 和 RAG 的对比。

如果 Agent 忘了更新 index,这次 ingest 就不完整。


9. log.md 应该怎么追加

## [2026-04-25] ingest | Karpathy LLM Wiki

- Source: raw/articles/2026-04-25-karpathy-llm-wiki.md
- Created:
  - wiki/sources/karpathy-llm-wiki.md
  - wiki/concepts/llm-wiki.md
  - wiki/concepts/raw-vs-wiki.md
  - wiki/concepts/ingest.md
  - wiki/concepts/wiki-lint.md
  - wiki/questions/when-to-add-search.md
  - wiki/synthesis/llm-wiki-vs-rag.md
- Updated:
  - index.md
- Notes:
  - First ingest. Established core vocabulary for the wiki.

log 不需要写成文章。

它要稳定、可 grep、可回溯。


10. 人应该怎么审查 ingest

不要盲信 Agent。

第一次 ingest 后,至少检查 5 件事:

检查项问题
raw 是否被改Agent 有没有动原文
source summary 是否忠实有没有编造
concept 是否过度发挥有没有把一篇 source 写成领域共识
index 是否更新能不能从 index 找到页面
log 是否追加是否能追踪这次操作

审查 prompt:

请对刚才的 ingest 做自检。

检查:
1. 你是否修改了 raw/;
2. source summary 是否有未引用的新增事实;
3. concept page 是否把单一来源误写成共识;
4. index.md 是否漏掉新增页面;
5. log.md 是否记录完整;
6. 哪些地方建议人工检查。

11. 常见失败模式

失败 1:只有 source summary

这只是总结,不是 ingest。

要求它补:

  • concept pages;
  • questions;
  • index;
  • log。

失败 2:概念页太碎

比如它新建了:

wiki/concepts/raw-sources.md
wiki/concepts/raw-source-layer.md
wiki/concepts/original-sources.md

这就应该合并。

让 Agent 做:

请检查刚才新建的 concept pages 是否存在重复。
如果有,提出合并方案,先不要删除,等我确认。

失败 3:写成宣传稿

如果它只写“LLM Wiki 非常强大”,没有边界,就让它补:

  • 适用场景;
  • 不适用场景;
  • 风险;
  • 未解决问题。

失败 4:没有引用

所有重要结论都应该能回到 source page。

不是每一句都要引用,但页面底部至少要有相关来源。


练习

完成一次真实 ingest:

  1. 保存 Karpathy gist 到 raw/articles/2026-04-25-karpathy-llm-wiki.md
  2. 运行 ingest prompt。
  3. 检查是否生成 source、concept、question、synthesis。
  4. 检查 index.md
  5. 检查 log.md
  6. 让 Agent 做一次自检。

如果你能完成这一步,你已经掌握了 LLM Wiki 最重要的动作。


小结

Ingest 不是总结。

它是:

把一份原始资料吸收到一个长期维护的知识网络里。

一次好的 ingest 会改变多个页面:

  • source;
  • concept;
  • question;
  • synthesis;
  • index;
  • log。

下一篇我们讲 query:怎么向这个 Wiki 提问,并把好答案继续沉淀回去。


参考资料