TL; DR
AK的LLM-wiki 本质上没有太新的东西,大家的思路方向基本上形成共识,只是缺乏一个KOL发声和传播。毕竟一些观点从小卡拉米嘴里说出是爆论,而从AK嘴里说出则成了真理。
-
过去传统的 naive-RAG(文档解析-分块-向量索引-语义检索-召回)已死
-
RAG、知识库面临的问题是garbage-in-garbage-out, 解决的出路是让 LLM/Agent 承担文档清洗、自动标注、合成语料、分层管理和检查校验
-
“知识"不等于"文档”, “index no storage”
-
过去不少的知识管理方法论和思路都值得结合AI做一遍
引言
在信息爆炸的年代,我们不是在管理知识,我们是在管理焦虑。
80 年前,Vannevar Bush 在《As We May Think》里描绘了 Memex:一个人的全部书籍、记录和通信,都能通过一台机器被快速、灵活地调用。后来 Tiago Forte 教我们 CODE信息管理,卢曼用 Zettelkasten 证明了一个制片的工人也能变成社会学教授。但所有这些方法论都有一个共同的瓶颈:整理成本太高了。大多数人读完一篇文章,第二步就放弃了。
在前 LLM 时代,第二大脑的答案是"强化第一大脑"。你得手动剪藏、手动分类、手动建立链接,然后 hoping 某天这些积累能产生复利。但在 AI 能替你读、替你写、替你总结的今天,这个答案变得模糊了——它究竟是来强化你的,是来取代你的,还是你们将协作进化?
传统 RAG 已死
文档解析 → 分块 → 向量索引 → 语义检索 → 召回。这套流水线起初是为了解决 LLM 的幻觉问题,把外部知识作为上下文喂进模型。
但它本质上还是传统的信息检索,只是加了个LLM的壳子。随着 Agent 范式的兴起,它正在回归它本来应该待的地方:一个给 Agent 配置的查询工具。
回看过去这1-2年的实践,随着模型能力越来越强,几个同RAG、检索、context有关的问题,但一直没怎么变过:
-
garbage-in-garbage-out: 很多时候原始文档本身就是混乱的、缺乏结构的,各种调优分块策略、召回策略都救不了,不如从源头将文档清洗成agent喜欢的上下文,毕竟这些dirty work 可以交给 Agent 来自动完成了
-
如何有效利用有限的context窗口: 即便LLM的context-length 从4096 一路涨到了几百K,全部塞入并不是解决方法;毕竟LLM存在context-rot的问题,为LLM精选context 实际上也是大家过去一直在做的事
结合自己过去的一些实践,越来越觉得,传统 RAG 的问题并不只是“召回不准”,而是它默认了一种过于理想化的信息访问方式,似乎问题就解决了。但现实里,这套流程往往只在简单问答上有效。
一个常见的改进方向是先清洗文档、做结构化处理。这样当然会比直接对原始文档做切块好用一些,但整体上仍然很脆弱,但依旧解决不了:1)消耗大量 context;2)多跳推理。
遇到这种问题后,通常会出现两条路线。第一条是继续“魔改” RAG,比如增加意图识别、问题拆解、分步检索等机制;第二条则是承认这条路不行,换一条。不如把主导权更多交给 agent——真正需要做的,是把工具设计好,让人能用,自然也让 agent 能用。
沿着这个思路,一个很自然的做法就是参考搜索引擎。毕竟大多数模型都针对 web-search 的进行过专门的训练:搜索-筛选-细读;因此我后来更倾向于把能力拆成两个工具:一个是 search,只返回标题、摘要和 ID,用于大范围筛选线索;另一个是 query,再根据 ID 拉取详细内容。这样一来,问题的重心也发生了变化:不再是“如何一次性召回最完整的 chunk”,而是“如何设计更好的 index,以及如何通过 metadata 做更有效的过滤和展开,以及大量的dirty-work。
回头看,这其实就是所谓的“渐进式披露”:先暴露足够决策的线索,再按需展开细节。本质上,是把信息访问的控制权重新交还给 agent,同时尽可能节约有限的 context。
所以当我们说"RAG 已死"的时候,不是在说"检索不重要",而是在说:检索只是整个知识工作流中很下游的一环。在上游,还有大量的 dirty work 可以做,而这些 dirty work 恰恰是决定最终质量的关键。
RAG 的瓶颈,越来越不是 retrieval,而是 knowledge engineering。
AK 的 LLM-wiki 做对了什么?
知识的编排和管理
这是2年前,在工作笔记中记下的,我对于RAG、知识管理系统的理解。
大多数人讨论知识库时,默认"知识库 = 文档库"。把 PDF 传进去,把 Word 文档传进去,把网页传进去,然后问大模型:“请根据我的知识库回答这个问题。”
但这真的是在让模型访问"知识"吗?
借用 DIKW 模型:
-
Data(数据):原始、未加工的信息
-
Information(信息):有意义、有用的数据
-
Knowledge(知识):通过分析、归纳和推理获得的对信息的深层理解
大多数知识库——包括很多主流的 RAG 方案——提供的其实只是 Information,甚至只是 Data。它们把文档原样切分、索引、存储,然后指望 LLM 在回答问题的瞬间,把这些 raw material 提炼成 Knowledge。
真正的 Knowledge,需要在上游就完成提炼、关联和结构化。文档只是载体,知识才是内容。把文档管理当作知识管理,是这个行业目前最大的误区之一。
Andrej Karpathy 在他的 LLM-wiki 实践中,第一次把这件事做了一个相对系统化的示范。
他的做法是把笔记和剪藏放在一个 git repo 里,然后让 LLM 定期做四件事:
Ingest。当有新内容进入 Raw 目录时,LLM 自动读取、提取关键概念、生成摘要、识别链接目标,然后在 Wiki 层生成对应的整理后条目。
Query。向 wiki 提问:好的答案应该被归档回 wiki,成为新的页面。从而让你的"探索"也产生复利。
Lint。就像代码有 linter 一样,LLM 定期审查整个 wiki 的结构问题:死链接、重复条目、过时内容、缺失索引。
核心导航文件。index.md 是全局目录,log.md 是 append-only 的操作时间线。
LLM-wiki 的另一个关键设计是内容的分层管理:
-
Raw:原始输入,未经处理的笔记、链接
-
The Wiki:经过整理、链接和初步结构化的知识内容
-
The Schema:更高阶的结构和主题分类,定义知识如何被组织和检索
这种三层架构本质上是在 DIKW 金字塔上增加了工程分层。而它的核心思想,其实可以在过去的知识管理方法论中找到深刻的呼应。
PARA 方法提供的是内容的物理结构,按"行动相关性"分类而不是按"知识类型"分类。DIKW 模型提供的是知识转化的路径。GTD 强调把事务从大脑中清空,减少认知负荷。Zettelkasten 主张通过双向链接而非僵化的层级分类来组织知识。卢曼的卡片盒有数万张卡片和数万条链接。LLM-wiki 里的双向链接和 index.md,本质上就是在用自动化手段复现这个愿景。
这些方法论虽然诞生于前 LLM 时代,但核心洞察依然有效。区别只在于:过去需要人手动维护的结构和链接,现在可以由 agent 来自动化完成。
不过这里有个问题:是不是所有环节都适合交给 AI?
从 CODE(Capture, Organize, Distill, Express)四个过程来看:
-
CO(Capture & Organize):完全可以交给 AI。捕获信息、建立链接、维护结构,都是规则明确的机械性工作。
-
D(Distill):有待商榷。蒸馏不是简单地"shorten",而是判断"什么值得保留"、“什么值得丢弃”。这取决于人的判断力和价值观。
-
E(Express):不可能被替代。表达是知识的外化,是人与世界对话的方式。
所以,LLM-wiki 的价值在于让 AI 承担那些 Mechanical 的部分,让人专注于 Judgmental 和 Creative 的部分。
LLM-wiki 可能面临的问题
但 LLM-wiki 并不是一个天然大众化的方案。它真正的门槛,未必在技术,而在人。
一个高自由度的个人知识系统,本质上会放大使用者原有的判断力,换句话说,AI 可以替你整理内容,却不能替你提供品味。
这也是 LLM-wiki 的一个现实限制:它更适合那些本身 already 具有较强筛选能力、表达欲和持续维护意愿的人。对这类人来说,它是高杠杆工具;但对大多数人而言,如果缺乏稳定的信息入口和明确的知识边界,再强的自动化也可能只是更高效地堆积噪声。
另一个问题是规模扩展后的可维护性。index.md 作为核心导航,在系统尚小的时候足够优雅;但当知识条目持续增长,仅靠单一目录文件很难同时兼顾可读性、检索效率与维护成本
这个时代需要什么样的知识管理?
一个更本质的追问:第二大脑的终极目的到底是什么?
在前 LLM 时代,答案是明确的:第二大脑是用来强化第一大脑的。它帮你记住你不该浪费脑力去记的东西,帮你整理你懒得整理的碎片。Tiago Forte 说:第二大脑的终极目标,是让你"用更少的时间管理信息,用更多的时间创造"。
但当 AI 可以替你记住一切、关联一切、甚至生成一切时,“你"的位置在何处?
关于这个问题,有三种立场在拉扯。
加强派认为 AI 是人的增强器。这个立场比较舒服,但如果 AI 在越来越多的任务上表现得比人更好,“增强"的边界到底在哪里?
替换派更激进:既然 AI 可以比我们更好地记忆和关联信息,那为什么还要执着于"构建自己的知识库”?直接外包不就完了吗?但这个立场忽略了一件重要的事:知识不只是信息,它还是身份。你记住的东西、你关联东西的方式、你独特的知识网络,构成了"你是谁”。如果这些东西都被外包出去了,“你"还剩下什么?
协作派走中间路线,认为人和 AI 的边界是动态协商的。这个立场最有弹性,但也最模糊——因为它没有告诉我们,这个边界到底应该怎么画。
坦白说,我不确定哪一派是对的。但我越来越倾向于一个更具体的判断:如果知识库不能反映"我此刻的认知状态”,不能随着我的成长而变化,那它只是个高级复印机。
想象一下:三年前,你对某个技术领域的理解还处于入门阶段,记了一篇笔记叫"什么是 Transformer"。三年后,你已经是这个领域的专家,对 Transformer 的理解有了完全不同的深度。但 AI 助手帮你检索信息时,缺乏认知层次的对齐,结果只能是有用的废话。
真正的 personal 化,不应该只是"你上传了什么",而应该是"你此刻是谁、你在想什么、你需要什么"。不只是检索,而是一种认知镜像:不仅要知道你"存了什么",还要知道"这些东西对你此刻的意义是什么"。
AI 最擅长的是 compression、classification、linking 和 retrieval;
人最不可替代的是 valuation、judgment、position-taking 和 expression。
最后一个常被误解的话题是 Graph。
似乎一个很酷炫的Graph-View,就拥有一个强大的知识库,从而获得一个更强大脑的幻觉。
无论是Vannevar Bush 的 Memex,还是Zettelkasten,抑或是知识图谱和专家系统,有一个关键的问题被忽略:Graph 记录的是显式关系,而真正的洞察往往来自隐式关联
“弱连接"和"跨领域类比”,是无法被一张预先定义好的知识图谱机械化地捕捉的,只能来源于一个人过去的经历(context)。
图不是认知本身,图只是认知留下的部分投影。
结语
从 Memex 到 Zettelkasten,从双向链接到 LLM-wiki,人类对"如何外化知识"的探索从未停止。每一次技术进步,都会把这个追问往前推进一步。
在前 LLM 时代,知识管理更像是一场对遗忘的抵抗:我们试图把信息存下来、分类好、在需要时重新找回。LLM 时代的知识管理,不再是存储文档,而是持续把信息加工成可被人和 Agent 共同调用的认知结构。
但也许答案恰恰不在"更多",而在"更像自己"。