收藏了很多文章,真正需要时却找不到?
和 AI 讨论了很多问题,结论又散落在聊天记录里,怎么检索?
这类问题适合用 LLM Wiki 来改善:让 AI 把资料整理成长期保存、互相关联的知识页。
一、LLM Wiki 是什么?
Karpathy 在 LLM Wiki idea 中提出了一种个人知识库维护模式:由用户选材和引导,LLM Agent 持续整理 Markdown 页面。
它是一份设计思路,而非安装后就能使用的成品软件。具体目录、页面格式和工具,需要按自己的需求确定。
例如,读完一篇数据库文章,除了保存摘要,还可以更新“索引”“事务”等概念页,把新结论关联到已有知识。以后查阅时,就能复用这次整理成果。
二、和 RAG 有什么差别?
RAG(检索增强生成)通过检索外部资料,为模型生成答案提供依据。LLM Wiki 则侧重维护持久的知识成果。
| 维度 | 典型文档 RAG | LLM Wiki |
|---|---|---|
| 核心工作 | 检索资料,辅助生成答案 | 整理知识,维护页面与关系 |
| 新资料进入 | 更新检索索引 | 更新摘要、概念、主题和关联 |
| 查询依据 | 相关文档或片段 | 整理后的知识页,必要时回看原文 |
| 成果保存 | 取决于系统设计 | 明确把有价值的成果写回知识库 |
| 主要挑战 | 召回质量与答案依据 | 综合准确性与长期一致性 |
这不是互斥选择。RAG 可以检索 wiki 页面,LLM Wiki 也可以使用关键词、向量或其他检索方式。不能把“必须向量化”或“无法积累知识”当成所有 RAG 系统的特征。
三、三层结构,三个操作
原始 idea 将系统分成三层:原始资料、整理后的 wiki,以及约束 Agent 行为的 schema。schema 可以由AGENTS.md等规则文件承载。
下面给出一个简化实现,目录命名和归档方案是本文的落地建议。
knowledge-base/ ├── AGENTS.md # Agent 工作规则 ├── raw/ # 待摄入资料 │ ├── assets/ # 图片等附件 │ └── ingested/ # 已摄入原文 └── wiki/ ├── index.md # 按主题导航 ├── log.md # 按时间记录操作 ├── sources/ # 来源总结 ├── concepts/ # 概念页 └── topics/ # 主题综合日常操作对应三个环节:
- Ingest,摄入:把资料整合到知识库。
- Query,查询:基于已有知识回答问题,并按需保存成果。
- Lint,检查:发现断链、遗漏、冲突和过时内容。
index.md负责“有哪些知识”,log.md负责“做过哪些操作”。原文需要保留,以便核验模型的总结。
四、如何搭建?
准备一个能读写本地文件的 LLM Agent,以及一个 Markdown 编辑器。Obsidian 可用于阅读页面和查看关联,但不是必需组件。
1. 建立目录和规则
按上面的结构创建目录,在AGENTS.md中写入以下简化规则:
# 知识库工作规则 ## 来源与证据 - 原文内容不改写,更新资料以新版本保存。 - 知识页注明来源;区分来源陈述、模型推论和待核实内容。 - 发现冲突时列出双方依据,不强行合并结论。 ## 摄入 - 默认只处理 raw 根目录源文件,排除隐藏文件和子目录。 - 完整阅读后创建来源页,更新相关概念和主题,补交叉链接。 - 更新索引并检查;成功后归档至 raw/ingested,追加完成日志。 - 不覆盖同名归档;核对移动前后内容及附件链接。 - 失败或部分完成留原位;重试复用已有页面,避免重复生成。 ## 查询与维护 - 优先读 wiki,必要时回看原文,回答注明依据。 - 有价值的回答按需写回 wiki,优先更新同主题页面。 - 定期检查链接、索引、来源缺失、内容冲突和时效。 - 删除来源时先确认保留知识还是撤回贡献,不自动连带删页。让 Agent 先读取规则,再创建空的索引和日志。初期不需要急着引入数据库、插件或复杂搜索服务。
2. 跑通一次摄入
把一篇文章保存到raw/根目录,然后发送:
请摄入新增资料:完整阅读 raw 根目录的源文件,生成来源总结,提炼关键概念,更新相关页面和交叉链接。检查通过后归档,更新索引与日志,报告完成和未完成项目。
验收时看四件事:原文能否找到、总结是否准确、新旧知识是否关联、失败项是否明确。不要只看生成了多少文件。
对于图片和 PDF,需要确认 Agent 能读取对应内容。仅读取标题或部分文本,不能算完成摄入。