什么是llm-wiki-compiler(llmwiki):RAG之外的新思路,把文档编译成可引用的AI知识库
【免费下载链接】llm-wiki-compilerThe knowledge compiler. Raw sources in, interlinked wiki out. Inspired by Karpathy's LLM Wiki pattern.项目地址: https://gitcode.com/gh_mirrors/ll/llm-wiki-compiler
llm-wiki-compiler(llmwiki)是一款开源的"知识编译器"(The Knowledge Compiler):把原始文档、笔记、网页等素材一次性编译成可浏览、可搜索、可引用的互链 Markdown Wiki 知识库,而不是像传统 RAG 那样每次查询都临时翻找碎片。它灵感来自 Karpathy 提出的 LLM Wiki 模式——先编译知识,再让 AI 查询和复用这份"编译产物"。
一句话概括:
RAG:查询 → 搜碎片 → 回答 → 遗忘llmwiki:文档 → 编译 → Wiki → 查询 → 保存答案 → 更丰富的 Wiki → 更好的回答
为什么传统 RAG 不够用:知识不会"沉淀"
如果你用过 RAG(检索增强生成),可能遇到过这些痛点:
- 🔄每次都在重复劳动:每个问题都重新检索原始文档块,模型每次都要现场"重建"概念之间的关系,结构用完即弃;
- 📄知识不积累:问过的问题、得到的高质量答案,下次还是从零开始;
- 🔗碎片互相竞争:同一个概念出现在 5 个文档块里,检索时谁排前面全看运气;
- ❓难以审计:AI 给出的答案很难追溯到"到底是哪份文档的哪几行"支撑的。
llm-wiki-compiler 的思路是把工作从"查询时"移到"编译时":让 LLM 先把知识整理成结构化的页面,后续查询、导出、Agent 集成都在这份稳定的知识产物上运行。知识会随使用而复利增长(compound)。
把文档"编译"成 Wiki:一条命令的演示
安装后(npm 包名为llm-wiki-compiler,可执行文件为llmwiki),最快体验只需一条命令:
llmwiki quickstart ./notes.mdquickstart会完成三件事:摄取(ingest)源文档 → 两阶段 LLM 编译生成 Wiki 页面 → 打开本地浏览器查看器。整个过程大致如下:
更详细的入门流程见 docs/quickstart.mdx,项目背景见 README.md。仓库里还提供了一个无需 API Key 就能浏览的预生成示例 Wiki,位于 examples/basic/,很适合先感受一下编译产物长什么样。
编译原理:两阶段流水线 + 混合检索
llmwiki 的编译过程分为两个阶段(详见 docs/concepts/how-it-works.mdx):
- 概念抽取:每个变更过的源文件先交给 LLM 抽取关键概念,且"所有源都抽完"才开始写页面——这样编译器能看到跨文档的概念重叠;
- 页面生成:为每个概念生成带 YAML frontmatter、正文、
[[wikilink]]互链的页面。多个文档提到同一概念时,会合并成一个页面,而不是产生一堆重复碎片。
编译之后还有三层"保鲜"机制:
- 增量编译:每个源文件做 SHA-256 哈希,没变过的文档不会重新走 LLM 流程,省钱又省时;
- 混合检索:查询时先用语义向量缩到 Top-K,再用 BM25 重排,最后沿 wikilink 图扩展邻页,得到一份紧凑且可引用的证据包;
- 新鲜度追踪:源文档改了,对应页面会被标记为
stale(过期);源被删了则标记orphaned(孤儿),llmwiki refresh --stale可以只修复受影响的页面。
在本地查看器中浏览你的 AI 知识库
编译完成后运行llmwiki view,会在本地(只读、绑定 127.0.0.1)打开一个浏览器界面:侧边栏导航、全文搜索、力导向概念图,以及每个段落旁边的引用徽章——点开就能看到支撑该句话的源文件和行号。
查看器提供 4 套主题。下面是默认主题 Scientific Clay 的效果:
而 Minimal 主题会自动跟随系统的浅色/深色设置,同一份 Wiki 换肤效果如下:
可引用、可审核:生成内容也能审计
llmwiki 不只是"生成一堆 Markdown",它默认就是一套可审计的生成知识体系:
- 段落级引用:每个论断都能追溯到源文件和行范围,
llmwiki lint会校验链接与引用; - 评审队列:低置信度、与既有内容矛盾、违反模式规则的页面,可以先挂起为候选页,人工批准后再发布;
- 质量评估:
llmwiki eval输出健康分、引用覆盖率、最差页面分布等指标,可以接进 CI 当质量门禁; - 活动日志:所有操作追加写入
log.md,全程可查。
llmwiki 适合谁?不适合谁?
| 维度 | 传统 RAG | llm-wiki-compiler |
|---|---|---|
| 存储单元 | 原始文档块 | 编译后的类型化 Wiki 页面 |
| 跨源概念 | 重复块互相竞争 | 编译时合并为一个页面 |
| 知识增长 | 查询结果用完即弃 | 答案可存回 Wiki,持续复利 |
| 可追溯性 | 块级来源引用 | 段落/论断级行号引用 |
| 适合场景 | 高频变化的语料、临时检索 | 需要长期沉淀、可审计的知识库 |
✅适合:论文/研究笔记、项目文档、团队手册、决策记录、长期运行的 AI Agent 上下文。 ❌不适合:高频变动的日志流、一次性检索——那种场景用普通搜索或 RAG 就够了。
3 分钟上手清单
- 安装(需要 Node.js ≥ 24):
npm install -g llm-wiki-compiler - 配置 LLM 提供商(默认 Anthropic,也支持 OpenAI 兼容接口、Ollama、GitHub Copilot 等,见 docs/configuration/providers.mdx)
llmwiki quickstart <文档或URL>—— 一条命令完成编译llmwiki query "你的问题" --save—— 提问并把答案存回 Wikillmwiki view --open—— 在浏览器里浏览你的 AI 知识库
更进阶的能力(供感兴趣的读者延伸阅读):
- 可配置生命周期档案(CLP):用一份
profile.json声明实体、关系、工作流,内置 AutoSci 科研与 Newsroom 编辑部两套模板 → docs/concepts/configurable-lifecycle-profiles.mdx - 通过 MCP 把 Wiki 暴露给 AI Agent → docs/guides/mcp-agent-integration.mdx
- Open Knowledge Format(OKF)导入/导出,与其他工具交换编译知识 → docs/guides/open-knowledge-format.mdx
- Karpathy 模式的完整解读 → docs/concepts/karpathy-pattern.mdx
总结:如果你想要的不只是"问 AI 一个问题",而是把散落的知识编译成一份越用越厚、句句有出处、人和 Agent 都能复用的 AI 知识库,llm-wiki-compiler 正是为这个目标而生的工具。
【免费下载链接】llm-wiki-compilerThe knowledge compiler. Raw sources in, interlinked wiki out. Inspired by Karpathy's LLM Wiki pattern.项目地址: https://gitcode.com/gh_mirrors/ll/llm-wiki-compiler
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考