一条命令编译知识库:Claude Code 增量编译实战
之前写过一篇搭建 Karpathy 式个人知识库的文章,讲了三层架构(raw → wiki → outputs)的设计。今天聊实际使用——知识库积累了新资料之后,怎么用一条命令完成”编译”。
什么是知识编译
简单说:你往 raw/ 目录扔文章,Claude Code 帮你干剩下的事——
- 扫描
raw/找出新增资料 - 对比索引,确认哪些还没编译
- 读原文,生成结构化摘要
- 从摘要中提取概念,新的建条目,旧的追加证据
- 更新索引,建立交叉链接
整个过程就像代码编译:源码(raw)→ 编译器(Claude Code)→ 产物(wiki)。增量的,只处理新的。
实际操作
我的 raw/articles/ 里积累了两篇新文章:
- 一篇是 GStack 的深度拆解——YC CEO Garry Tan 开源的 23 角色 AI 编程工作流
- 一篇是 Mac 必装软件清单——17 个品类的实用推荐
在 Claude Code 里敲一条命令:
/compile
没了。就这一条。
编译过程拆解
Claude Code 会自动做这几件事:
第一步:扫描和对比
扫 raw/articles/、raw/podcasts/、raw/papers/ 下所有 .md 文件,然后读 wiki/indexes/All-Sources.md 索引,对比出哪些是新的。
我的索引里已有 2 篇标记为 ✅,新的 2 篇不在索引里,所以它们会被编译。
第二步:生成摘要
对每篇原文,生成一份结构化摘要到 wiki/summaries/,包含:
## 核心结论 # 3-6 条,提炼原文最重要的观点
## 关键证据 # 支撑结论的数据和事实
## 术语 # 英文原文 + 中文解释的术语表
## 疑点与待验证 # 存疑的点,留给未来验证
## 提取的概念 # 指向 wiki/concepts/ 的链接
比如 GStack 那篇,核心结论提炼出了”AI 编程从助手模式进化到团队模式”、“Sprint 流程是核心价值”这些点。不是原文复述,是真的在做信息压缩和结构化。
第三步:提取概念
从摘要中识别出独立的概念,每个概念一个文件,存到 wiki/concepts/。这次编译提取了 6 个新概念:
| 概念 | 来源 |
|---|---|
| AI Agent 团队模式 | GStack 文章 |
| Sprint 自动化流程 | GStack 文章 |
| AI 浏览器测试 | GStack 文章 |
| 交叉模型审查 | GStack 文章 |
| Mac 开发环境 | Mac 清单文章 |
| Homebrew 软件管理 | Mac 清单文章 |
每个概念条目包含定义、关键要点、证据来源、相关概念四个部分。如果未来有新文章也提到了同一个概念,编译时会追加新证据到已有条目,而不是重复建文件。
第四步:更新索引和交叉链接
All-Sources.md新增 2 条记录,标记 ✅All-Concepts.md新增”AI 编程范式”和”开发环境”两个分类,共 6 个条目- 摘要 ↔ 原文、概念 ↔ 摘要、概念 ↔ 概念之间全部建了
[[wikilinks]]
编译前后对比
编译前:
raw/articles/ 4 篇(2 已编译,2 新增)
wiki/summaries/ 2 篇
wiki/concepts/ 9 个
编译后:
raw/articles/ 4 篇(全部已编译)
wiki/summaries/ 4 篇 (+2)
wiki/concepts/ 15 个 (+6)
在 Obsidian 的图谱视图里,你能明显看到新的概念节点和连线——知识网络在自动生长。
这套流程的关键设计
增量而非全量。只处理新增资料,不重新编译已有的。知识库越大越省时间。
可追溯。每个摘要 link 回原文,每个概念列出所有来源。随时能从一个概念追溯到最初的文章原文。
概念原子化。一个概念一个文件,不混在一起。“AI 浏览器测试”和”Sprint 自动化流程”是两个独立概念,虽然来自同一篇文章,但它们各自有独立的定义和证据链。
交叉链接。概念之间互相引用。“AI Agent 团队模式”的相关概念里列了”Sprint 自动化流程”和”AI 浏览器测试”。知识不是孤岛,是网络。
日常使用节奏
我现在的习惯是:
- 看到好文章,用
/ingest <url>扔进raw/ - 积累了几篇,跑一次
/compile - 在 Obsidian 里浏览新生成的摘要和概念
- 偶尔用
/health检查知识库的一致性
不需要手动整理笔记,不需要给文章打标签分类,不需要自己写摘要。Claude Code 当编译器,Obsidian 当 IDE,人只负责选择输入什么。
总结
知识库编译这件事,核心就是三层分离 + 增量处理 + 自动链接。把 Claude Code 的 slash command 定义好,日常操作就是 /ingest 和 /compile 两条命令的事。
知识库像代码仓库一样,越用越有价值。下一步准备试试定期自动编译——比如用 cron 每天扫一次 raw/,有新资料就自动跑编译。