用LLM帮你构建知识库:让笔记自动编译、自我生长!

Page content

用LLM帮你构建知识库:让笔记自动编译、自我生长! by 未闻Code


导读: Karpathy 最近分享了一个他自己在用的工作流:用 LLM 帮你建知识库。不是传统的"存笔记",而是让 LLM 自动把散乱的资料编译成一个结构化的 Wiki——会交叉引用、会自我检查、会越用越厚。这个思路跟现在主流的 RAG 方案走的是完全不同的路。

一句话概括这个玩法

Karpathy 的核心思路很简单:别每次提问时才去翻原始文档,而是让 LLM 提前帮你把资料"编译"好。

具体来说,你把原始资料(论文、博客、代码仓库、数据集)丢进一个 raw/ 目录,然后让 LLM 自动生成并维护一套 Wiki——一堆互相链接的 Markdown 文件。每加一个新资料,LLM 不是简单建索引,而是真正"读懂"它,更新相关的概念页面、修正过时的总结、标注矛盾信息。

Karpathy 推文:LLM Knowledge Bases

这个 Wiki 是持久的、会复利增长的知识积累。不是每次从零检索,而是越用越厚。

三层架构

Karpathy 在后续发布的 Gist 里把这个想法整理成了一个更完整的方案文档,他称之为"idea file"——在这个 LLM Agent 时代,你只需要分享思路,让别人的 Agent 去定制和搭建。

Karpathy 推文:Idea File

整个架构分三层:



层级
内容
说明
Raw sources
原始文档
不可修改,是信息的唯一来源
The Wiki
LLM 生成的 .md 文件
结构化、互联、有交叉引用
The Schema
CLAUDE.md / AGENTS.md
配置 LLM 如何维护 Wiki 的规则

第一层是原材料,不动。第二层是 LLM 加工后的知识产出,人是很少直接编辑的。第三层是告诉 LLM "怎么干活"的规则文件——比如 Wiki 的目录结构、命名规范、什么内容放在什么位置。

三种核心操作

有了这三层,接下来就是循环执行三种操作:

Ingest(消化):加入新资料时,LLM 读取内容,更新 Wiki 中的多个页面。一次 Ingest 可能影响 10-15 个文件——更新概念页、修正摘要、添加交叉链接。

Query(查询):对 Wiki 提复杂问题。LLM 基于已有的结构化知识来回答,而不是重新翻原始文档。回答结果也可以反哺 Wiki,让知识库越来越完善。

Lint(自检):定期跑"健康检查"。找矛盾、找遗漏、找孤立页面。LLM 还会主动建议你可以进一步探索的方向。

LLM Wiki 三种核心操作循环LLM Wiki 三层架构

跟 RAG 有什么不同?

这是最关键的区别。

传统 RAG 的工作方式是:你提问 → 系统去原始文档里检索相关片段 → 拼凑出答案。每次提问都是从零开始,检索结果的质量取决于分块策略和向量相似度。

Karpathy 的 Wiki 方案是:LLM 提前把原始文档"编译"成结构化知识 → 提问时直接查 Wiki → 答案基于已经整理好的知识。知识是提前整理好的,不是临时拼的。

RAG vs LLM Wiki 对比

他自己也说了,本来以为得上 RAG 那套(向量数据库、Embedding),但实际发现在几百篇文章、几十万字的规模下,LLM 自动维护的索引文件和摘要已经够用了。它在 ~100 篇文章的规模下,自己就能管理好索引,准确找到相关内容。

这其实是个很有意思的信号:在中等规模的知识库场景下,上下文窗口的增长速度可能比我们想象的更快地追上 RAG 的优势。

工具链

Karpathy 用的工具链很轻量:

  • Obsidian
    :作为 IDE 前端,查看原始数据、编译后的 Wiki、生成的图表
  • Obsidian Web Clipper
    :把网页文章转成 Markdown
  • Marp
    :把 Markdown 渲染成幻灯片
  • 自建搜索引擎
    :他用 vibe coding 搞了个简易搜索工具,CLI 调用,也给 LLM 当工具用

值得注意的是,他强调 Wiki 的内容几乎全是 LLM 写的,他自己很少直接编辑。人只负责"喂资料"和"提问题",中间的知识整理、链接维护、质量检查都交给 LLM。

实际效果

Karpathy 提到,他某个研究方向的 Wiki 已经积累了约 100 篇文章、40 万字。在这个规模下,他可以直接对 Wiki 提各种复杂问题,LLM 会自己去查资料、综合分析、给出答案。

输出形式也不局限于文字。他让 LLM 生成 Markdown 文件、幻灯片(Marp 格式)、matplotlib 图表,所有这些都在 Obsidian 里查看。而且这些输出经常会被"归档"回 Wiki,进一步丰富知识库。

也就是说,你每次探索和提问,都在让这个知识库变得更强。

一个更有意思的细节:他是怎么分享这个想法的

这里有个值得单独说的事。

Karpathy 分享这个 LLM Wiki 的方式,本身就是对他这套理念的一次实践。

他没有开源一个项目,没有给你一套代码跑起来。他发的那个 Gist,叫做"idea file"——一份故意写得抽象的想法描述文档,你可以直接把它丢给你自己的 Agent(Claude Code、Codex、OpenCode……随便哪个),让 Agent 帮你根据你的具体情况搭出来。

他在第二条推文里说得很直接:在这个 LLM Agent 时代,分享具体的代码和 App 意义越来越小——因为每个人的需求、工具、工作流都不一样,你跑起来的版本不一定适合我。但如果你分享的是"想法本身",每个人的 Agent 就可以把这个想法定制成最适合他们自己的实现。

分享想法,比分享代码更有价值。

这个转变背后有一个假设在默默成立:Agent 已经强到能把一个抽象的想法,真正转化成可运行的工具了。代码是一种固化的实现,想法才是真正可移植的东西。

你现在就可以复刻这个想法

Karpathy 的 Gist 文档本身就是给 Agent 看的。用法如下:

四步复刻 LLM Wiki
  1. 1打开 Karpathy 的 Gist:https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f
  2. 2复制全文内容(或直接把链接给 Agent)
  3. 3对你的 Agent 说:「帮我根据这个方案,搭建一个适合我自己的 LLM Wiki 系统」
  4. 4Agent 会跟你确认你的使用场景(研究/读书/工作),然后帮你把目录结构、Schema 文件、基本工具流一并建好

如果你用的是小龙虾(OpenClaw),直接把 Gist 链接发给它就行——它会帮你读文档、规划结构、一步步把系统搭起来,整个过程你基本不需要动手写代码。

这个思路最打动我的不是技术本身,而是"复利"这个概念。传统的知识管理——不管你用 Notion、Obsidian 还是 Roam——本质上都是"人整理知识"。人能整理的范围和持续性都有限。

Karpathy 的方案把"整理"这件事交给了 LLM,人只需要负责"输入"和"提问"。知识库会自己生长、自我修复、越用越厚。

当然,目前这个方案还只是"一堆脚本的拼凑",Karpathy 自己也说了,这里有空间做一个真正的好产品。但在这之前,你现在就可以用起来——把那个 Gist 扔给你的 Agent,半小时内就能搭一个自己的版本。

知识管理这件事,可能终于有了一个不依赖"自律"的解法。

参考链接

  • Karpathy 原始推文:https://x.com/karpathy/status/2039805659525644595
  • Karpathy Idea File 推文:https://x.com/karpathy/status/2040470801506541998
  • LLM Wiki Gist 文档:https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94  

END

未闻 Code·知识星球开放啦!

一对一答疑爬虫相关问题

职业生涯咨询

面试经验分享

每周直播分享

......

未闻 Code·知识星球期待与你相见~


原文链接