最近AI圈都在聊的Karpathy知识库搭建法,到底牛在哪?

也在公众号发布

张坤zkun
扫码关注公众号,这篇也在那边。
最近AI圈有篇文章挺火的,Andrej Karpathy写了个知识库搭建的方法论,叫LLM Wiki。
Karpathy这个人,做AI的应该都知道,前OpenAI创始成员,特斯拉AI总监,深度学习领域的顶级大佬。他发的东西,圈子里基本都会认真看一下。这个方案发出来没多久,在AI从业者圈子里就引起了不少讨论。
说实话,我第一眼看的时候也没觉得有什么特别的。不就是个markdown知识库吗?但仔细研究了一下,发现这套方法确实在解决一个很根本的问题: 为什么我们搭了那么多RAG系统,效果还是不行?

01 RAG的真正痛点
RAG的痛点,做过的人应该都有体会:知识量一大就检索不准,文档多了chunk多了,向量检索就容易出问题,相关的内容检索不出来,不相关的倒是一堆。就算检索到了正确的chunk,LLM综合的时候也可能理解错,或者漏掉关键信息。新旧知识还会冲突,上个月的文档和这个月的文档说法不一样,系统不知道该信哪个。而且没有复利效应,维护一年和维护一天,效果差不多,知识没有沉淀。
02 Karpathy的核心思路
他的核心思路是:不要每次问答都重新发现知识,而是一次性把知识"编译"好,然后持续维护。更关键的是,这个知识库会随着你提出的问题不断进化,你问得越多,它沉淀得越深,关联得越广,最终形成一个会"生长"的智能知识系统。
这句话什么意思呢?传统RAG是"检索+生成"模式,知识被切成碎片向量化存储,每次问答都要从这些碎片里检索相关内容,再让LLM现场理解和综合。LLM Wiki是"编译+查询"模式,知识已经被整理成结构化的页面,页面之间有关联、有交叉引用,查询的时候直接用这些整理好的知识。
打个比方。RAG就像你有一堆散落的菜谱卡片,每次做饭都得从中翻找相关的卡片,然后自己拼凑出完整的做法。LLM Wiki就像你已经把所有菜谱整理成了一本完整的菜谱书,按菜系、难度、食材分好章节,还标注了哪些做法有冲突,哪些可以组合,直接翻到对应页面就能用。

03 三层架构
LLM Wiki把知识分成三层。

最底层是原始资料,就是你收集的原始文档、文章、PDF。这一层的原则是不可变,只读不改,就像图书馆的藏书,你往里面放东西,但不修改已经存在的内容。
中间是知识页面层,这是核心。把原始资料加工成一个个markdown页面,每个页面讲一个概念、一个实体、一个主题。页面之间用 双链 连接起来,形成知识网络。关键是,这些页面是由Agent维护的,你提供原始资料,Agent负责分析、整理、建立关联、发现冲突。就像有个图书管理员,每来一本新书,他都会更新相关的索引、补充交叉引用、标注矛盾之处。
最顶层是Schema,定义知识库的"宪法",包括命名规则、页面模板、标签体系、什么时候该建新页面、什么时候不该建。这层很重要,它保证了知识库的一致性,不然Agent随便建页面,标签随便起,最后又乱成一锅粥。
04 三个核心操作
LLM Wiki有三个核心操作。

摄取(Ingest) :你给Agent一篇新文章,它会先存到原始资料层,然后分析这篇文章提到了哪些实体和概念,检查知识库里有没有相关的页面,有的话更新,没有的话新建,最后更新索引和日志。关键是,一个新资料可能触发5-15个页面的更新,这才是知识在"生长",而不是简单地堆砌。
查询(Query) :你问问题,Agent直接去知识页面里找答案,综合多篇页面的内容,给出有依据的回答。因为它已经在"编译时"把知识整理好了,查询时不需要现场理解原始文档。而且,如果这个查询结果很有价值,Agent会把它存成一个查询页面,下次类似的问题就更快了。
健康检查(Lint) :定期检查知识库的健康状况,有没有孤立页面(没有其他页面链接到它)、有没有断裂链接、有没有矛盾信息、有没有过期内容。这个操作保证知识库不会随着时间推移而退化。
05 这套方法的核心价值
说实话,LLM Wiki不是一个新工具,而是一种知识管理的范式转变。传统RAG是把AI当成一个"搜索引擎+摘要器",LLM Wiki是把AI当成一个"知识编辑",它不只是检索知识,它在整理、关联、综合知识。这个区别很重要,前者是工具,后者是协作者。
对于做企业知识管理的人来说,这套思路有几个启发。

第一,知识需要维护,不只是存储。很多人觉得把文档扔进向量数据库就完事了,其实这才是开始,知识需要持续的整理、更新、去重、关联。
第二,建立关联比堆砌知识量更重要。单篇文档的价值有限,但文档之间的关联能产生新的洞察,LLM Wiki强调的交叉引用和知识网络,就是在做这件事。
第三,要有规范,不能野蛮生长。标签体系、命名规则、页面模板,这些看起来琐碎的东西,决定了知识库能不能长期维护下去。
06 实现方式
这套方法有个很好的特点,它不需要特殊的工具,就是一堆markdown文件。但如果你想用得顺手,Obsidian是目前最好的选择。Obsidian原生支持 双链 ,Graph View可以可视化知识网络,YAML frontmatter可以做元数据管理,还有强大的社区插件生态。最重要的是,它是本地优先的,数据完全在你手里。Karpathy的这套方法,在Obsidian里基本可以开箱即用。

07 我自己的实践
我最近在整理AI开源项目的资料,试了一下这套方法。以前的做法是看到好文章就存到Notion,存了两百多篇,找起来费劲,而且很多内容是重复的、过时的。现在我用LLM Wiki的思路,每个开源项目一个页面,记录它的核心特点、适用场景、和同类项目的对比。新看到一篇文章,不是简单收藏,而是去更新相关的项目页面,补充新的信息,删除过时的内容。效果很明显,现在我想了解某个方向有什么开源方案,直接查wiki就知道了,不用再翻一堆收藏夹。

当然,这套方法也不是万能的,它需要投入时间维护,需要Agent的理解能力够强,而且对于快速变化的领域,维护成本会比较高。但我觉得,这至少指出了一个正确的方向: 知识管理不应该只是存储和检索,而应该是整理和生长。
对这个话题感兴趣的,可以去看看Karpathy的原文:https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f

张坤专注企业 AI Agent 落地的项目经理
我是张坤,专注企业 AI Agent 落地的项目经理。 这里沉淀 RAG、知识库、数据治理、Agent 项目从立项、落地交付到成本算账的一手实践,也坦诚记录项目失败与踩坑复盘。 少聊大模型纸面能力,聚焦 AI 在真实企业场景里如何落地、存活,真正产生业务价值。