LLM Wiki:知识只编译一次

1425 字
7 分钟
LLM Wiki:知识只编译一次

最近逛 Hermes Agent 的源码,发现有个 llm-wiki skill。看实现,原来是 Andrej Karpathy 提出的思路。

Karpathy 在 Gist 里提了个概念:与其每次用 RAG 从零检索,不如让 agent 帮你构建一个持久化的知识库

完整思路在这里:https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f


RAG 的重复劳动问题#

RAG 每次查询都要走完整流程:检索 → 提取 → 合成。

同一个问题问两次,系统每次都从头干一遍活。你问”Transformer 是什么”,系统翻文档、提取内容、生成答案。换个说法再问,系统又从头来一次。

Wiki 模式的核心价值:知识整理一次,永久保存。下次直接查已编译的内容。


传统笔记 vs LLM Wiki#

传统笔记应用LLM Wiki
优化给人浏览优化给模型读取
你导航文件夹层级你用自然语言描述需求
手动搜索和检索agent 找到并合成跨整个知识库

传统笔记是”存起来以后自己找”,LLM Wiki 是”存起来让 agent 理解后帮你找”。


为什么 Markdown 是正确基础#

Karpathy 强调用 markdown,理由有三:

便携无锁定

.md 文件任何编辑器都能打开。不依赖某家公司活着。之前用过几个云笔记产品,后来倒闭了,数据导出特别麻烦。

LLM 原生支持

模型训练数据里有大量 GitHub README、技术文档。headers、列表、代码块这些结构,模型天然能识别。不需要额外解析。

强制清晰

markdown 的格式本身推动组织内容:标题命名段落,列表分开条目。不像某些富文本编辑器,混乱内容也能存进去。

Karpathy 有一句话:

No database. No vector embeddings. No server. Just files and a capable model.


三层架构#

wiki/
├── SCHEMA.md # 规则、约定、标签分类
├── index.md # 所有页面目录 + 一行摘要
├── log.md # 操作日志(只追加)
├── raw/ # Layer 1: 原始来源(不可修改)
│ ├── articles/ # 网页文章
│ ├── papers/ # PDF/论文
├── entities/ # Layer 2: 实体页(人、组织、产品)
├── concepts/ # Layer 2: 概念/主题页
├── comparisons/ # Layer 2: 对比分析
└── queries/ # Layer 2: 有价值的查询结果

Layer 1:原始来源

agent 只读,不改。你丢进去的文章、论文,原样保存。source material 不丢失,万一 wiki 页面有错误,可以回去查原文。

Layer 2:Wiki 页面

编译后的知识。agent 创建、更新、建立链接。每个页面对应一个实体、概念或对比。

Layer 3:Schema

定义规则:标签分类、页面命名规范、什么时候该建新页面。给 agent 的”操作手册”。


人机协作分工#

你做的事agent 做的事
提供源材料(链接、文章、论文)提取内容、识别实体概念
决定领域范围、指导分析方向创建页面、建立跨链接
用 Obsidian 打开 wiki 目录浏览维护 index、log、lint 检查

你提供原材料,agent 加工整理。wiki 目录在本地,随时手动编辑。


四个核心操作#

Ingest(导入)#

丢给 agent 一个链接或文章,它会:

  1. 提取内容,保存到 raw/
  2. 识别提到的实体、概念
  3. 创建或更新 wiki 页面
  4. 建立 [[wikilink]] 跨引用
  5. 更新 index.md 和 log.md

一篇源文章可能触发 5-15 个页面的更新。Karpathy 叫这”复利效应”。

Query(查询)#

问 agent:“wiki 里有没有关于 Transformer 的内容?”

它会:

  1. 读 index.md 找相关页面
  2. 搜索所有 .md 文件
  3. 从已编译的知识合成答案
  4. 告诉你引用了哪些页面

Lint(检查)#

定期健康检查:

  • 孤儿页面(没有其他页面链接到它)
  • 断裂链接(指向不存在页面)
  • 过期内容(90 天没更新)
  • 矛盾信息(同主题页面说不一样的话)

摘要技巧#

每个 wiki 页面顶部写一行 summary。agent 读这行就能判断整个文件是否相关,不用读完全文。十秒钟写个摘要,省下 agent 读无关文件的时间。


适用场景判断#

适合:

  • 学术研究(论文多、概念交叉引用频繁)
  • 技术学习(框架/工具层出不穷)
  • 行业跟踪(公司、产品、人物动态)
  • 个人知识库(任何你想长期累积的领域)

判断标准:

  • 信息会反复查询吗?
  • 内容之间有交叉引用价值吗?
  • 想长期累积,不是临时查一次?

三个都满足,就适合。

不适合:

  • 临时一次性问题
  • 纯数据存储(没有概念/实体需要链接)
  • 高频变化数据(实时行情、天气预报)

如何触发 agent#

前提是 skill 启用。Hermes 默认启用,被禁用的话,从 config.yamldisabled 列表移除。

之后对 agent 说:

  • “创建一个 wiki,主题是 AI 工具” → 初始化目录结构
  • “把这篇文章加入 wiki” → ingest 操作
  • “wiki 里有没有关于 X 的内容” → query 操作
  • “检查一下 wiki 有没有问题” → lint 操作

Obsidian 兼容性#

wiki 目录本身就是 Obsidian vault:

  • [[wikilinks]] 渲染为可点击链接
  • Graph View 可视化知识网络
  • YAML frontmatter 支持 Dataview 查询

如果机器没有显示器(比如服务器),可以用 obsidian-headless 做 sync,让你在笔记本上用 Obsidian 浏览,agent 在服务器上写。


总结#

llm-wiki 的核心价值:知识只编译一次,之后直接用

不像 RAG 每次从头检索,它是 agent 帮你维护一个结构化的 markdown 知识库。你丢源材料,agent 提取整理、建立链接、维护结构。

适合需要长期累积、反复查询、有交叉引用价值的领域。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
LLM Wiki:知识只编译一次
https://blog.moewah.com/posts/karpathy-llm-wiki-knowledge-base/
作者
MoeWah
发布于
2026-04-09
许可协议
CC BY-NC-SA 4.0
相关文章 智能推荐
1
告别信息噪音:我的高效笔记整理术
认知与成长 如何摆脱每日笔记的信息噪音?本文分享通过月度整理,将碎片化记录转化为结构化知识体系的实战方法,帮助你建立高效笔记系统,提升个人认知与信息管理能力。
2
DeepSeek-V4-Flash 看不了图片?用 pi-image-bridge 给它装一双眼睛
AI实验室 DeepSeek-V4-Flash-0731 任务通过率高、价格便宜,但模型没有视觉能力。装 pi 扩展 pi-image-bridge,配置视觉模型当副驾,截图报错、设计稿、表格都能看懂。安装一条命令,配置两个字段即可。
3
Claude 深度研究指南:斯坦福验证的多视角提问法(附 4 个提示词)
AI实验室 斯坦福 STORM 方法实操版——用多视角提问让 Claude 做出博士级研究。5 种专家视角、矛盾地图、综合简报、同行评审,4 个可复制提示词。
4
Goal 是目的地,Loop 是导航:AI 真正变聪明的核心秘密
AI实验室 一文讲透 AI Agent 的两大核心概念:Goal(目标)与 Loop(循环)。从基础定义到 8 种主流 Loop 类型详解,再到可直接复用的提示词模板,帮你从被动提问者升级为 AI 指挥官。
5
有了 tmux 还需要 herdr 吗?一个给 AI Agent 用的「终端管家」
AI实验室 herdr 是一个终端原生的 Agent 多路复用器,专为同时运行多个 AI Agent 的开发者设计。它解决了 Agent 管理混乱、会话丢失、远程协作等痛点,不替换终端、不依赖 Electron。本文从实际使用体验出发,带你了解它的核心功能和上手方法。
随机文章 随机推荐

评论区

Profile Image of the Author

关于作者

MoeWah

我是 MoeWah,喵斯基部落的作者。一个折腾自托管、群晖 NAS、虚拟化运维与 SEO/GEO 实践的独立博主,10 年以上的企业站运维与SEO优化经验,文章来自真实部署与踩坑记录。为自己记录,为同路人分享。
专题
分类
站点统计
文章
205
分类
9
标签
449
总字数
414,116
运行时长
0
最后活动
0 天前

目录