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
有了 tmux 还需要 herdr 吗?一个给 AI Agent 用的「终端管家」
AI实验室 herdr 是一个终端原生的 Agent 多路复用器,专为同时运行多个 AI Agent 的开发者设计。它解决了 Agent 管理混乱、会话丢失、远程协作等痛点,不替换终端、不依赖 Electron。本文从实际使用体验出发,带你了解它的核心功能和上手方法。
3
Claude Code 的 CLAUDE.md 怎么写?这 12 条规则,管住 AI Agent 的静默失败
AI实验室 12 条 CLAUDE.md 规则完整指南,涵盖代码生成和 Agent 模式两个阶段。每条规则附带英文原文、中文解释和真实翻车场景。文末提供完整模板可直接复制。
4
你的 AI Agent 在替云厂商打工?73% 的 Token 消耗其实与你无关
AI实验室 Hermes Agent 社区因 Token 消耗过高爆发争议,73% 的 API 调用开销来自工具定义和系统提示。本文拆解 Token 税的构成与两派立场分歧,揭示 Coding Plan 退场后行业从补贴红利到精细化运营的转折。
5
告别国内 AI 订阅生态:OpenCode Go 接入 Claude Code 部署全流程
AI实验室 受不了国内 AI 订阅服务的封号和收割?用 OpenCode Go 每月 10 刀平替,通过 oc-go-cc 代理接入 Claude Code 的完整部署教程,附带多 Agent 省 token 方案。
随机文章 随机推荐

评论区

Profile Image of the Author
MoeWah
Hello, I'm MoeWah.
专题文章
分类
站点统计
文章
198
分类
9
标签
434
总字数
373,761
运行时长
0
最后活动
0 天前

目录