Ingest 教程
Ingest 是 LLM Wiki 的第一块肌肉。它不是“总结文章”,而是把一篇资料纳入一个持续维护的知识网络。
这一篇我们用 Karpathy 的 LLM Wiki gist 作为第一篇 raw source,完整跑一轮。
先说结论
一次合格的 ingest 至少要完成 6 件事:
- 读取 raw source;
- 创建
wiki/sources/整理页; - 更新或新建
wiki/concepts/; - 生成值得追的问题;
- 必要时写 synthesis;
- 更新
index.md和log.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:
- 保存 Karpathy gist 到
raw/articles/2026-04-25-karpathy-llm-wiki.md。 - 运行 ingest prompt。
- 检查是否生成 source、concept、question、synthesis。
- 检查
index.md。 - 检查
log.md。 - 让 Agent 做一次自检。
如果你能完成这一步,你已经掌握了 LLM Wiki 最重要的动作。
小结
Ingest 不是总结。
它是:
把一份原始资料吸收到一个长期维护的知识网络里。
一次好的 ingest 会改变多个页面:
- source;
- concept;
- question;
- synthesis;
- index;
- log。
下一篇我们讲 query:怎么向这个 Wiki 提问,并把好答案继续沉淀回去。