大语言模型百科
LLM Wiki — Claude Code + Obsidian 的第二大脑
灵感来自 Andrej Karpathy 的 LLM Wiki 模式 (gist)。该技能将 Claude Code(或任何 Agent CLI)转变为一名严谨的 Wiki 维护者,在你提供资料时,它会增量地构建并维护一个持久且互联的 Obsidian 库。知识会产生复利——当你进行查询时,交叉引用、矛盾点和综合分析已经就绪。
核心原则
大多数 LLM+文档的工作流是 RAG:在查询时检索片段,从零开始综合,然后遗忘。而 Wiki 模式是复合式的:资料仅读取一次,随后被整合进一个持久的 Markdown 知识库并保持更新。你负责策展和提问;LLM 负责阅读、归档、交叉引用和维护。
> Obsidian 是 IDE,LLM 是程序员,Wiki 是代码库。
适用场景
- 个人:追踪目标、健康、心理学、日志、自我提升
- 研究:针对某一主题进行数周的深入研究——论文、文章、报告、演进中的论文观点
- 书籍伴读:阅读时归档章节;为角色、主题、情节线构建粉丝 Wiki 风格的伴读库
- 商业/团队:由 Slack、会议记录、通话内容喂养的内部 Wiki —— 由 LLM 完成没人愿意做的维护工作
- 竞品分析、尽职调查、旅行规划、课程笔记、爱好深挖
不适用场景:仅需针对固定文档进行单次问答(请使用 RAG)、不打算随时间增加资料,或不想将 Obsidian 纳入流程。
架构(三层结构)
vault/
├── raw/ # 第一层 — 不可变的真理来源
│ ├── <source files> # 文章、论文、PDF、图像、数据
│ └── assets/ # 从剪辑文章中下载的图像
├── wiki/ # 第二层 — LLM 拥有的知识库
│ ├── index.md # 内容目录(LLM 在每次摄取时更新)
│ ├── log.md # 仅追加的时间线(## [YYYY-MM-DD] <操作> | <标题>)
│ ├── entities/ # 人物/组织/地点页面
│ ├── concepts/ # 想法、理论、框架
│ ├── sources/ # 每个摄取源对应一个摘要页
│ ├── comparisons/ # 跨源分析页面
│ └── synthesis/ # 高层级综合分析、论点、概览
├── CLAUDE.md # 模式 + 约定 (Claude Code)
└── AGENTS.md # 相同内容,适用于 Codex/Cursor/Antigravity- 第一层 (raw/) — 用户所有。LLM 仅读取,绝不写入。
- 第二层 (wiki/) — LLM 所有。它创建、更新并交叉引用页面。用户负责阅读。
- 第三层 (CLAUDE.md / AGENTS.md) — *模式 (Schema)*。约定
三大核心操作
1. 摄入 (Ingest) — LLM 读取源文件,与你讨论要点,编写源文件摘要,更新 10-15 个相关页面,更新索引,并记录到日志。详见 references/ingest-workflow.md。
2. 查询 (Query) — LLM 先读取 index.md,深入研究相关页面,并提供带引用的综合回答。高质量的答案将被重新归档至 wiki,使探索成果能够累积。详见 references/query-workflow.md。
3. 检查 (Lint) — 健康检查:查找矛盾点、过时主张、孤立页面、缺失的交叉引用、提及但缺乏独立页面的概念,以及需要通过网络搜索填补的数据空白。详见 references/lint-workflow.md。
快速上手
# 1. 初始化库 (在 Obsidian 的 vault 目录下)
python scripts/init_vault.py --path ~/vaults/research --topic "LLM interpretability"
2. 将源文件放入 raw/,然后执行摄入
/wiki-ingest ~/vaults/research/raw/anthropic-monosemanticity.pdf
3. 提问 (答案可重新归档至 wiki)
/wiki-query "how does monosemanticity compare to mechanistic interpretability?"
4. 定期健康检查
/wiki-lint
5. 查看时间线
/wiki-log --last 10斜杠命令 (本插件提供)
| 命令 | 用途 |
|---|---|
| /wiki-init | 使用架构文件 + 初始结构引导创建新库 |
| /wiki-ingest <path> | 读取源文件,讨论,更新 wiki 并记录日志 |
| /wiki-query <question> | 搜索 wiki,综合回答,并提议重新归档 |
| /wiki-lint | 运行健康检查 — 矛盾点、孤立页、过时主张、空白点 |
| /wiki-log | 显示最近的日志条目 (对 log.md 使用 unix 工具) |
子代理 (本插件提供)
| 代理 | 调度时机 |
|---|---|
| wiki-ingestor | 委派摄入流程 — 读取源文件,提出更新建议,经你批准后执行 |
| wiki-linter | 独立运行健康检查工作流并报告结果 |
| wiki-librarian | 使用“索引优先”搜索回答查询,并提供带引用的综合分析 |
Python 工具 (scripts/)
所有工具仅使用标准库 (无需 pip 安装)。运行方式:python scripts/<tool>.py --help。
| 脚本 | 用途 |
|---|---|
| init_vault.py | 创建文件夹结构 + 初始化 CLAUDE.md, AGENTS.md, index.md, log.md |
| ingest_source.py | 辅助工具:从源文件中提取文本/frontmatter,供 LLM 审查 |
| update_index.py | 根据 wiki 页面 frontmatter (类别, 日期, 源文件数) 重新生成 index.md |
| append_log.py | 追加标准化的日志条目 ## [YYYY-MM-DD] <op> \| <title> |
| wiki_search.py | 对 wiki 页面进行 BM25 搜索 (当 index.md 不足时的独立备选方案) |
| lint_wiki.py | 查找孤立页 (无入链)、过时页面、缺失的交叉引用、断链 |
| graph_analyzer.py | 计算链接图统计数据 — 中心节点、孤立点、集群、不连通分量 |
| export_marp.py | 将 wiki 页面 (或子树) 渲染为 Marp 幻灯片 |
跨工具兼容性
库的架构 (schema) 存储在 CLAUDE.md (Claude Code) 或 AGENTS.md (Codex/Cursor/Antigravity/OpenCode) 中。两者的内容通用,本插件同时提供两种模板。具体工具的设置指南请参阅 references/cross-tool-setup.md。
CLAUDE.md → Claude Code
AGENTS.md → Codex CLI, Cursor, Antigravity, OpenCode, Gemini CLI
.cursorrules → 旧版 Cursor (pre-AGENTS.md)脚本采用纯 Python 标准库 $\rightarrow$ 在任何环境下运行结果一致。仅加载文件随工具而异。
Obsidian 设置 (推荐)
- Obsidian Web Clipper — 浏览器扩展;将网页文章转换为 markdown 并存入
raw/
- 本地下载图片 — 设置 → 文件与链接 → 附件文件夹路径 =
raw/assets/。设置 → 快捷键 → 将“下载当前文件的附件”绑定至Ctrl+Shift+D
- 关系图谱 (Graph view) — 查看核心节点/孤立节点;对于发现结构性问题至关重要
- Marp 插件 — 直接从 wiki 页面生成基于 Markdown 的幻灯片
- Dataview 插件 — 基于页面 frontmatter(标签、日期、来源计数)生成动态表格/列表
- Git — 仓库是纯 markdown 仓库;请进行版本管理
完整安装指南:references/obsidian-setup.md
为什么这比纯 RAG 更有效
| 纯 RAG | LLM Wiki |
|---|---|
| 每次查询都要重新发现知识 | 知识持续累积 |
| 交叉引用每次都要重新计算 | 交叉引用预先编写并维护 |
| 只有在询问时才会发现矛盾 | 在摄入阶段即标记矛盾 |
| 探索过程消失在聊天记录中 | 优质答案被重新归档为新页面 |
| 依赖向量数据库基础设施扩展 | 依赖 markdown + index.md + 可选的本地搜索扩展 |
在来源约 100 个/页面数百个时,index.md + 文件系统搜索已足够。超过此规模后,可叠加 qmd 等本地搜索工具或使用 scripts/wiki_search.py。
相关技能(通过 context: fork 链接)
本技能标记为 context: fork,以便其他技能可以链式调用:
para-memory-files— PARA 方法记忆法;作为长期个人记忆,为 wiki 提供来源
obsidian-vault(mattpocock) — 轻量级 Obsidian 笔记助手;本技能是其之上的维护级 wiki 层
rag-design— 当 wiki 超过 ~500 页时,使用 rag-design 增加检索层
mcp-design— 将 wiki 暴露为 MCP 工具
agent-communication— 用于多智能体 wiki 维护(摄入者 + 检查者 + 管理员)
参考文档
references/wiki-schema.md— 完整的仓库布局、页面 frontmatter、命名规范
references/page-formats.md— 实体、概念、来源、对比、综合模板
references/ingest-workflow.md— wiki-ingestor 智能体遵循的详细摄入流程
references/query-workflow.md— 查询模式、引用格式、答案重新归档
references/lint-workflow.md— 健康检查启发式规则
references/obsidian-setup.md— Obsidian 插件、快捷键、仓库配置
references/cross-tool-setup.md— 各工具设置(Codex, Cursor, Antigravity 等)
references/memex-principles.md— Bush 的 Memex,以及为什么 LLM 改变了维护成本的计算方式
模板 (assets/)
CLAUDE.md.template,AGENTS.md.template,.cursorrules.template— 各工具的 schema 加载器
index.md.template,log.md.template— 初始索引和日志
page-templates/— 实体、概念、来源摘要、对比、综合模板
example-vault/— 可供研究或复制的小型实操示例
铁律
LLM 绝不能编辑 raw/ 文件夹中的文件。 永远不要。来源文件是不可变的。所有 LLM 的写入都应在 wiki/ 中进行。如果需要修正来源,请手动在 raw/ 中修改,然后重新摄入。