YouMind
登录

LLM Wiki = 可更新的 RAG

@AndrewK404
英语2026年5月26日
317K
88
5
0
67

TL;DR

本文深入解析了 LLM Wiki 架构,阐述了 AI Agent 如何维护并自审基于 Markdown 的知识图谱,从而有效避免传统 RAG 流水线中的信息丢失问题。

终于抽出时间读了 Karpathy 的 LLM Wiki gist(没错,赶潮流迟到了 XD)。

说实话,整个想法归结起来很简单:「可更新的 RAG」。

1. 问题所在

LLM 处理文档时,没有任何积累。每次查询——模型检索片段、从头综合、然后遗忘。知识从未编译。而且在我看来,更关键的是:对话本身几乎没提取出什么有用信息。

RAG 能部分解决(广义上,一个 .md 文件文件夹也算是 RAG),但标准流程(每个人都在用的)没有内置的更新、蒸馏或自清理机制。知识一旦被索引,就闲置在那里。这个缺口正是 LLM Wiki 要填补的。

Karpathy 的逆向思维:在原始资料和你之间,放一个 Agent 逐步撰写和维护的 Markdown 维基。一次性编译,持续更新。

2. 架构:3 层

Andrew Kuncevich - inline image
  • raw/ - 来源,不可变。Agent 不会在这里写入。
  • wiki/ - 系统的核心;LLM 自行撰写并交叉链接的 Markdown 页面(实体、概念)。本质上是图状知识。
  • CLAUDE.md - 仅作为 LLM Wiki 的操作手册。包含:页面格式、链接约定、导入流程、lint 规则。正是这个东西把 Claude 从聊天机器人变成有纪律的维基维护者。

足以支撑数百个页面,无需额外微调:

Andrew Kuncevich - inline image

3. 操作

Andrew Kuncevich - inline image

三种操作——你马上就想把它们画成 API 函数:

  • Ingest -> add(source: file | list[file])。放入来源 -> Agent 读取 -> 与你讨论 -> 撰写摘要 -> 更新索引 -> 编辑相关实体页面 -> 追加到日志。一个来源会接触 10-15 个页面。
  • Query -> search(prompt: str)。最重要的操作。回答你的问题 + (关键部分)自动将综合结果作为新页面归档回维基。探索会积累,而不是死在聊天历史里。底层其实就是 add(source=dialogue)。
  • Lint -> lint()。无参数。定期遍历维基:矛盾、孤立页面、过期事实、缺失交叉引用。触发条件:每 N 条用户消息,或变更行数计数器。容易挂到 /schedule 上。

强烈让我想起 Claude Dreaming——我觉得 Dreaming 部分受这个模式启发(虽然它的功能集略有不同)。

4. 索引

Andrew Kuncevich - inline image

两个特殊文件让维基可导航:

  • index.md - 当前状态。每个页面的目录,附一行描述。Agent 在任何查询时先读它——这是「这个维基里到底有什么」的最小上下文。
  • log.md - 所有事件的日志,自由格式。追加式时间线。如果行遵循一致格式(例如 ## [YYYY-MM-DD] ingest | title),就可以用纯 Unix 工具轻松 grep 日志——方便审计。

index.md 还可以进一步扩展(向量索引、BM25、GraphDB……)——我将在另一篇文章中介绍。

5. 要点

我的总结是这样的:这不是 RAG 和 LLM Wiki 之间的选择——它们是同一个「累积记忆」轴上的两个点。

RAG 不一定非得是向量数据库——一个 Markdown 文件文件夹也是 RAG。

所以你可以把 LLM Wiki 重新定义为 RAG 加上三样东西:

  1. 一个摘要层。
  2. (几乎)自由地在该摘要层上编写结构。
  3. 定期的结构审计 + 自我改进(CRON)。
一键保存

使用 YouMind AI 深度阅读爆款文章

保存原文、追问细节、总结观点,并在一个 AI 工作空间里把爆款文章沉淀成可复用笔记。

了解 YouMind
写给创作者

把你的 Markdown 变成干净的 𝕏 文章

图片上传、表格、代码块,往 𝕏 上手动重排太痛苦。YouMind 把整篇 Markdown 一键转成干净、可直接发布的 𝕏 文章草稿。

试试 Markdown 转 𝕏

更多可拆解样本

近期爆款文章

探索更多爆款文章