English
中文
用 LLM + Obsidian 构建个人知识库:基于 Karpathy 的"LLM Knowledge Bases"工作流
基于 Andrej Karpathy 的 LLM 知识库工作流,将知识库管理类比为 CI/CD:原始资料→编译产物→运行时输出三层分离。
Karpathy 的 LLM 知识库理念
Andrej Karpathy 提出的"LLM Wiki pattern"将 LLM 的使用从主要代码生成转向知识组织和管理。核心洞察是:
- 将原始信息视为"源代码"
- 让 LLM "编译"成优化的"二进制产物"——结构化 wiki
- 编译后的知识库可以被 LLM 推理,提供更基础和一致的答案
三层架构设计
使用 Obsidian + Claude Code 实现三层目录结构:
- raw/(摄取)- 原始资料、文章、论文、笔记、转录
- wiki/(编译成品)- 结构化的 markdown wiki 页面
- 平台目录(发布)- 各平台的发布内容
CI/CD 工作流
1. 原始资料层 (raw/)
三个摄取入口:
- Web Clipper - 网页剪藏
- Podwise - 播客转录
- 手动剪藏 - 手动整理的笔记
2. 编译环节 (→ wiki/)
编译过程包含:
- 逐篇摘要 - 对每篇原始资料生成摘要
- 概念抽取 - 识别关键概念和实体
- 索引更新 - 维护知识图谱和链接关系
- 质量保障 - 自动化检查和验证
3. 运行时输出 (→ 平台)
从 wiki/ 层生成:
- 公众号文章
- 博客内容
- 技术报告
- 学习笔记
核心优势
增量编译
相比传统 RAG(每次查询都从原始数据检索),LLM 知识库是一次性编译成结构化格式,后续查询直接使用优化后的知识。
版本控制
整个知识库作为 markdown 文件存储在 Git 中:
- 追踪知识演化历史
- 支持差异对比和回滚
- 可以编译运行历史
自动化健康检查
编译后的知识库可以自动验证:
- 一致性和矛盾检测
- 信息完整性评估
- 事实验证
- 摘要质量检查
与传统 RAG 的区别
| 特性 | 传统 RAG | LLM 知识库 | |------|----------|------------| | 知识处理 | 每次查询实时检索 | 一次性编译优化 | | 响应速度 | 较慢(需要检索) | 快速(直接推理) | | 一致性 | 可能不一致 | 高度一致 | | 更新成本 | 每次查询成本高 | 编译成本,查询免费 | | 适合场景 | 实时性要求高 | 知识相对稳定 |
实施步骤
1. 设置目录结构
knowledge-base/
├── raw/
│ ├── articles/
│ ├── papers/
│ ├── notes/
│ └── transcripts/
├── wiki/
│ ├── concepts/
│ ├── summaries/
│ └── index.md
└── publish/
├── blog/
├── wechat/
└── reports/
2. 配置 LLM 编译器
使用 Claude Code 或本地模型作为编译器,读取 raw/ 目录内容并编译成 wiki/ 格式。
3. 设置 CI/CD 流程
- 监控 raw/ 目录变化
- 触发 LLM 编译
- 运行健康检查
- 更新索引和链接
- 部署到各平台
4. 持续优化
- 监控编译质量
- 收集用户反馈
- 优化编译提示词
- 扩展支持格式
适用场景
- 学术研究者:论文管理和综述生成
- 技术团队:文档和知识沉淀
- 内容创作者:多平台内容生产
- 学习者:个人知识体系构建
注意事项
1. 知识时效性:适合相对稳定的知识,不适合高频变化的内容 2. 编译成本:初始编译和定期更新的计算成本较高 3. 质量依赖:编译质量高度依赖 LLM 的能力和提示词设计 4. 维护成本:需要持续监控和优化编译流程
这个方法特别适合那些需要深度知识沉淀和多平台输出的场景,能够大幅提升知识管理的效率和质量。