用 Obsidian + AI 管理个人知识库:Karpathy 的 LLM Wiki 做法
它不是又一个"AI 读我的笔记"插件,而是一条分工:你只负责挑料、定规则、做判断;整理、建链接、写索引、找矛盾全部交给一个能读写你本地文件夹的 AI 代理。读完这篇,你能判断自己该不该上这套做法,并且照着命令把第一次"编译"跑通。
📅 更新于 2026-09-13
0030 秒速览:三句话 + 按处境对号入座
读完这一篇,你能做三个判断:我这种规模的资料值不值得上这套做法;如果值得,第一步该敲哪几条命令;以及它在什么情况下会变成负担——那部分和第 04 节一样重要,很多人是被"看起来很美"骗进去的。
① 整理一次,反复受益——知识要在"收进来的那一刻"被整理成成品(一篇篇按概念写的页面)并留下来,而不是每次提问都让 AI 从原始资料里重新翻一遍;② raw/ 是金库,wiki/ 是办公区——原始资料只增不改不删,成品随便改、改坏了能重建,重要结论回 raw/ 对一遍;③ 你写规则,AI 写笔记——越用越值钱的不是页数,是你那份不断变准的规则文件(06)。
按你现在的处境,直接看这一节
| 你现在的状态 | 直接看 | 为什么 |
|---|---|---|
| 笔记存了上千条,从没回头看过 | 01 → 10 | 你的问题正是它冲着的"死法一",先看 5 分钟能跑通的最小例子(10) |
| 一直在用 ChatGPT 网页版总结文章 | 02、04 | 你要先分清"一次性加工"和"持续工程"的差别,再决定要不要换(02) |
| 装过 embedding 检索类笔记插件,觉得不好用 | 02、03 | 这套做法刻意不用那类方案,原因和它的替代品都在这里(03) |
| 只想赶紧动手,不想先读理论 | 10 → 11 | 跑通最小例子再回头看架构,理解会顺很多(10) |
| 已经建了库,但 AI 产出不合心意 | 06 → 17 | 先改规则文件,再骂 AI;换模型是最后一步(06) |
| 不确定自己该不该上这套 | 04 | 那一节整篇在说反面的情况,看完能省下几个周末(04) |
| 还不会用终端和 AI 代理 | 04 → 17 | 先把前置能力补上,别双重学习负担(04) |
| 想直接抄一份能用的规则文件 | 06 → 18 | 两份可直接保存的规则文件 + 目录树都在那里(06) |
一条可执行的最短路径
见 10。mkdir -p ~/Desktop/test-kb/raw → 丢两篇有交叉主题的短 Markdown → 在文件夹里启动 AI 代理 → 粘一段初始化指令。跑通标准是:Obsidian 图谱里有两个以上节点、节点之间有连线。
Claude Code 读 CLAUDE.md,Codex 读 AGENTS.md(05)。这一步不是形式——规则文件的文件名写错,AI 进门就当没看见。
见 11:建目录、装 Web Clipper、把剪藏位置指到 raw/、写第一版规则文件、git init 存一份底稿。
收集 → 编译 → 提问 → 回流,见 13。第一周只收 5 篇,一次一篇,专门观察 AI 在哪里不听话,把它翻译成规则文件里的一句话。
见 14:一条口令让 AI 找出矛盾页、过时结论、孤儿页、缺词条,挑 1–2 条真重要的执行。别天天做。
用三五句话给朋友讲清"它到底是个什么东西、和让 AI 总结文章差在哪";独立判断自己的资料量够不够格上这套;照着命令把第一次"编译"跑通;遇到 AI 产出不对时,知道该去改规则文件而不是换模型。本文讲的是这套做法本身(怎么落地、什么时候别用),不是某个 AI 代理的安装教程。
01笔记的两大死法:它到底冲着什么问题来的
先说清问题,再谈方法。绝大多数个人笔记系统最后都死在同一个地方,只是症状不同。你需要先认领自己的症状,后面才知道哪一节是在治它。
死法一:只进不出,变成赛博囤积
"收藏夹 + 文件夹 + 打标签"这套模型,收的时候很爽,用的时候才发现:当初没分好类、命名乱七八糟、几千条根本搜不到。这里要说句公道话:问题不在你懒,而在整理的成本被人为留给了你——而分类、起名、找关联恰恰是 AI 最擅长的重复劳动。这套做法的第一个动作,就是让 AI 把"整理"这件脏活整个接过去:你只负责把原始材料丢进 raw/(03 会讲这个目录)。
死法二:每次提问都从零开始,没有积累
用过"AI 问答笔记"的人多半有同感:你问它一个问题,它现场把笔记切块、算相似度、拼一段答案给你;下次再问,它又"重新发现"一遍。Karpathy 在原始文档里点名批评的就是这种基于切块的检索方式,他的原话是:
"the LLM is rediscovering knowledge from scratch on every question. There's no accumulation."
大意:大模型每次提问都从零"重新发现"知识,没有任何积累。奇怪的是,一个需要综合五份文档才能回答的细问题,它每次都得把那些碎片重新找出来拼一遍,什么都不沉淀下来。
你把文章丢进收藏夹,等要用的时候,AI 现场读一遍原文、现场理解一遍。它每次都在同一个起点重新盖楼,你昨天的结论、发现的矛盾,今天一点都用不上。
新资料一进来,AI 就把它"编译"进一本已有的、按概念组织的页面集合里:新建该建的页、补该补的页、建好互相链接、刷新索引、在日志里记一笔。之后你提问,它读的是这份成品。
"编译器"这个类比到这里就不准了:编译器是很确定的——同一份源码编译两次,产物应该一样;而 AI 编译同一份资料两次,写出来的页面可能措辞不同、重点略有偏差。它不是精确的编译,更接近"一个每天都在维护百科的实习生"。所以这套做法必须配一条兜底:重要结论回原始资料核对(16)。
为什么"没有积累"是致命的
因为知识库的价值来自复利:你昨天读的资料、得出的结论、发现过的矛盾,今天应该能直接用上。若每次都是现场检索,你的笔记永远只是一堆待处理的原料,AI 的回答也从不沉淀——等于每天都在同一个起点重新盖楼。Karpathy 的对策是把整理成果固化成"wiki"(一本你自己的一人百科),让它持久存在、随新资料持续更新、还能被复查。他的另一句原话是:
"the wiki is a persistent, compounding artifact. ... The cross-references are already there. The contradictions have already been flagged."
大意:wiki 是一件持久、会复利累积的产物——交叉引用早就建好了,矛盾也早就被标记出来了。注意"已经"两个字:这些活是在收录那一刻干的,不是在提问那一刻干的。
这套做法的价值建立在"你会持续往知识库里喂资料、并且偶尔回来查看"之上。它解决的是"整理与复用"的累,不解决"输入"的懒。如果你连收集都不做,任何工具都救不了你——这也是 04 把它列为"可以再等等"的第一条理由。
02这套方法是什么(先破四个错想)
一句话版本
把 Obsidian(一个在本地文件夹上运行、用纯文本 Markdown 存笔记、支持双向链接的笔记软件,官方就叫它"第二大脑"那类东西)当作"壳",再配一个能读写你硬盘上文件的 AI 代理(能自己读文件、改文件、跑命令的 AI,比如 Claude Code 或 Codex),让 AI 把你收集来的原始资料整理成一本结构化、互相链接的个人 wiki。这一整套玩法最早由 Andrej Karpathy 在一份公开文档里提出来,社区管它叫「Karpathy 的 LLM Wiki」。
讲方法的人值得不值得听,值得先花两句话交代:Karpathy 是 OpenAI 的创始成员之一(2015)、前特斯拉 AI 总监(2017–2022,负责 Autopilot 的视觉部分),2024 年创办 AI 教育公司 Eureka Labs。比头衔更重要的是他的输出方式——他习惯把"我怎么用 AI 干活"直接公开成文档或代码让人抄,这篇讲的这套方法就是他公开文档里的一例(出处见 98 [1])。他还说过一句最能概括分工的话:"Obsidian is the IDE; the LLM is the programmer; the wiki is the codebase."(Obsidian 是写代码的软件,大模型是程序员,wiki 是代码库。)
先破掉四个错想
那种做法是每次提问前把你的笔记切碎、算相似度、捞几块喂给大模型。这套做法恰恰反对它:整理发生在收录那一刻,提问只是去读成品(03)。
Obsidian 负责"显示、点击、看图",不负责"想"。它的价值在于笔记就是本地纯文本,AI 能直接读写,不需要任何私有格式转换。
恰好相反。Karpathy 反复强调人的精力要花在"哪些资料值得收、资料之间什么关系、结论对不对"上——这些判断反而变得更重了。
他解释这套为什么成立时说得很直白:维护知识库真正累的不是读和想,是记账——更新交叉引用、保持摘要不过时、标记新数据和旧结论的冲突。人会放弃 wiki,是因为维护负担长得比价值快;AI 不会烦、不会忘记更新一条引用,一次能碰 15 个文件。
Obsidian 本身完全不知道"LLM Wiki"是什么,也没有这个开关。它是被当成"阅读与展示的壳"来用的。
Karpathy 在文档结尾特意声明:"This document is intentionally abstract."(这份文档是刻意写得抽象的。)具体目录结构、页面格式、工具选择都取决于你的领域和偏好——他也明说里面提到的一切都是可选的、模块化的,用不上的直接忽略。
市面上确实有几十个"AI + Obsidian"插件,但这套做法的"大脑"不在 Obsidian 里,装了也不会更像它。
全部依赖只有三样:Obsidian(看)、一个能读写文件夹的 AI 代理(干)、一份规则文件(管)。Karpathy 提到的两个插件(Dataview、Marp)明确是可选项,属于"会更好用",不是"必须装"(15)。
它和最近的近义词差在哪
最容易和它混淆的是 RAG(检索增强生成,Retrieval-Augmented Generation:提问时先从资料里"捞"相关片段,再交给大模型拼答案)。两者都用大模型、都基于你的文档,但整理的时机不同——这是全篇最值得记住的一条区分。
| 维度 | RAG(提问时检索) | 本做法(收录时编译) | 为什么这个差别重要 |
|---|---|---|---|
| 整理发生在什么时候 | 提问那一刻,临时找相关片段 | 收录那一刻,一次成型 | 成本被挪到了"收进来"的时候,所以提问变便宜、也变稳 |
| 跨文章综合 | 每次都要重新拼,结果可能不一样 | 早已写进同一批页面的关系里 | 你需要的是结论,不是每次重算一遍结论 |
| 矛盾处理 | 往往被"和稀泥"式地混在一段话里 | 显式标出「⚠️ 冲突」并互相链接 | 知道"哪里还没定论"和知道"结论是什么"同样值钱 |
| 产物形态 | 一段聊天记录,回答完就散 | 一批留得住的 Markdown 文件 | 文件能复查、能回退、能被别的工具再加工 |
| 需要的额外设施 | 向量库、切块策略、相似度算法 | 一个目录 + 一份规则文件 | 个人规模下,少一层设施就少一类故障 |
| 最适用的规模 | 海量文档(几千篇以上) | 个人几百篇以内 | 规模一变,最优解会翻转——别把任何一方当万能药 |
Karpathy 点名不推荐在个人规模上用检索方案,理由拆开是三条:相似不等于相关——和问题字面最像的片段常常并不含答案,尤其是"比较 A 和 B""为什么"这类需要推理的问题;切块的边界是任意的——一个观点被拦腰切成两段,AI 读到的永远是不完整的碎片,容易一本正经地编;没有积累——索引不会因为你读得更多而变聪明。而 "wiki" 方案里这些整理都发生在收录那一刻,提问只是去读那份已经整理好的成品。
这套做法到了几千上万篇、海量文档的规模就顶不住了:一份索引塞不进一次对话能看到的文字量(也就是上下文窗口,模型一次能同时"看到"的字数上限),届时带向量库的完整检索管线反而更必要。准确的说法是:个人知识库用 wiki 编译,海量资料库用检索管线。这也是 04 的一条硬边界。
03三层目录 + 四个文件:为什么个人规模可以不建向量库
三层架构:一切都是文件,规则写在说明书里
这套做法不依赖任何私有数据库。原始文档里的架构只有三层,用"谁动它"就能记住:
只增不改不删 · 你往里丢
按概念一页 · AI 全权维护
CLAUDE.md / AGENTS.md
| 层 | 装什么 | 谁动它 | 为什么关键 |
|---|---|---|---|
raw/ 原始素材 | 网页剪藏、PDF 转出的文本、截图、会议记录、别人的文章 | 只有你:往里丢;AI 只读,不改、不删、不整理 | 它是"唯一事实来源"——wiki 里每条结论都能回溯到这里某个文件,防止 AI 编了东西却没人发现 |
wiki/ 编译成品 | AI 写的词条页:一个概念一页(如"心流"一页、"番茄工作法"一页),带摘要、互相链接 | AI 全权:建页、改页、建链接、保持一致性 | 这是你真正反复阅读和提问的对象。按"概念"而不是"来源"组织,才可能跨文章综合 |
| 规则文件(说明书) | 一份写规则的 Markdown:怎么收录、页面什么格式、冲突怎么办 | 人起草,AI 照章执行,双方持续共同修改 | 整套系统的"章程"。规则写得好,AI 才不是"很忙但没用"(06) |
index.md 索引 | 全库目录:每个页面一行,带链接 + 一句简介 | AI 每次收录/更新时刷新 | AI 提问前先读它导航;你扫一眼就知道全库有哪些概念 |
log.md 日志 | 按时间追加的操作流水:哪天收录了什么、改了哪些页 | AI 每次操作后追加一行 | 出问题时能回放"这个库是怎么长成现在这样的" |
Karpathy 的文档只点名了两个文件——index.md 和 log.md——以及一份"说明书"。他明确说这份文档是刻意抽象的,具体目录结构取决于你的领域、偏好和所选的模型。raw/、wiki/ 这两个名字是社区把他这份想法落地成模板时的通用约定(参考 98 [4])。所以你学的是一套分工,目录名和措辞可以按你的习惯改——只要在规则文件里告诉 AI。这反而让这套做法很难过时。
"编译一次"到底指什么
想象你收了一篇文章进 raw/。老办法是:等你哪天要问 AI,它现读这篇。这套做法的办法是:新资料一进来,AI 立刻动手编译它一次——读出要点、和你讨论、和现有 wiki 对照、新建或更新相关词条、把词条互相链接好、刷新 index.md、在 log.md 记一笔。原文档里对"一次收录会牵动多少页"有个很直观的数字:
这个数字意味着:一份新资料不是孤零零被归档,而是要和已有的知识网充分"接线"。所以它也解释了为什么 AI 一次收录要花几分钟到十几分钟——社区那份最流行的落地模板给的实测经验是单篇 5 到 15 分钟(看出处 98 [4])。
为什么是"增量编译",而不是"每次全量重读"
资料不断进来、wiki 不断长大。收录时做的是定向更新:新页该建就建、旧页该补就补、索引该刷就刷,而不是每次都把全部笔记重新整理一遍。这样做有两个好处:省钱(只读新文件和相关旧页),以及避免"AI 顺手把你辛苦整理好的旧内容推翻重写"。规则文件里必须把这条写死,否则新手最常见的翻车就是"每次收录都重读全库,又贵又慢"(17)。
为什么个人规模可以不建向量库:一份索引就够了
很多人的第一反应是"不做检索,AI 怎么找得到我要的东西?"。答案在规模与导航方式:AI 提问时先整份读 index.md(一本很薄的目录),再顺着指向去读具体页面。个人规模下(原文档给的经验值是约 100 份来源、几百个页面),这份索引能整份放进模型的上下文窗口(模型一次能同时"看到"的文字量上限),于是 AI 相当于拿到一张"书的地图",不用在一大堆原文里大海捞针。原话是 "the LLM reads the index first to find relevant pages, then drills into them."(先读索引找到相关页面,再深入其中。)
你不需要理解"上下文窗口"的底层原理,只要记住这个画面:AI 每次进库先翻开 index.md 这本目录,指着目录去书架(wiki/)取书,而不是把整个图书馆(raw/)的书都搬出来翻。你的 wiki 就是那本被整理好的书。
这也是"编译一次、反复受益"的另一个侧面:真正的检索负担,在收录那一刻就被提前消化掉了——哪些概念该放一起、谁该链谁,都在写页面时解决了。等到你真的涨到几千上万篇、一份索引塞不进上下文窗口时,才需要认真考虑检索方案(15 给了那时的升级路线)。
可能撞见的名词,先混个脸熟
你在英文讨论里会高频碰到下面这几个词。知道它们指什么即可,不需要会实现——更不需要在这套做法里用到它们。
| 名词 | 大白话 | 这套做法对它的态度 |
|---|---|---|
| context window(上下文窗口) | AI 一次能"同时看到"的文字量,像它的工作台面 | 个人规模下整份索引 + 几个相关页能放上台面,这是"不用检索"的前提 |
| embedding(向量) | 把文字转成一串数字,让机器算"谁和谁语义像" | 刻意不用它——用了就要维护一套向量库这类额外设施 |
| chunk / 切块 | 把长文切成小块再喂给 AI 的做法 | 被点名批评:切点常常正好切在观点中间,容易让 AI 拼出幻觉 |
| retrieval(检索) | 提问时先从资料里"捞"相关片段 | 这套做法的"检索"发生在收录时(写成页面),不在提问时 |
| agent(代理) | 能自己一步步干活(读文件、改文件、跑命令)的 AI | 这套做法的"园丁"就是它,普通聊天机器人当不了(05) |
| RAG(检索增强生成) | 上面 embedding + 切块 + 检索这一整套的合称 | 本做法刻意反其道而行(02 有逐条对比) |
顺带说清一个近亲:Zettelkasten(卡片盒笔记法)。它的理念和这套做法同源——都是"一张卡片一个概念、卡片之间互相链接"——但分工不同:卡片盒笔记法要求人亲手写永久笔记、亲手建链接,思考质量高,但很累;这套做法把"写页面与建链接"外包给 AI,人退到"选料、定规则、判断"的位置。想两者结合也行:重要概念你自己也写一版放进 wiki/,让 AI 的版本和你的版本互相链接、互相校验。
04什么时候不该这么做(整篇都在说反面)
这一节的存在理由很简单:这套做法的门槛不在命令,而在它需要你持续投入。下面这些情况,做了不如不做——不是因为它不好,而是因为你的处境用不上它。
六种"现在别碰"的处境
| 你的处境 | 别用它做什么 / 该用什么替代 | 为什么 |
|---|---|---|
| 一年新增资料不到几十篇 | 先用 Obsidian 自带的全文搜索 | 料太少,收益还盖不住"搭一套系统 + 持续喂料"的成本;杀鸡不必用牛刀 |
| 只想要"快速检索我记没记过 X" | Obsidian 全文搜索(Mac 上默认 Cmd + Shift + F) | 这类问题要的是命中,不是综合;让 AI 走一遍收录流程纯属绕远路 |
| 完全不碰终端、也没用过任何 AI 代理 | 先花一天装好一个代理、跑通一次 | 别在这套做法里第一次学代理——那是双重学习负担,容易中途劝退(17) |
| 团队协作、要权限和多人同时编辑 | 正式的团队知识库方案 | 这套是给个人规模设计的:纯文件、无权限模型、无并发控制(16) |
| 资料是百万级文档、要做企业检索 | 带向量库的完整检索管线 | 一份索引塞不进上下文窗口之后,"先读索引"这条路就断了 |
| 资料高度敏感、不允许出本机 | 本地模型,或干脆先别上这套 | 云端模型的默认使用方式要求你先把资料交给它——这是前提不是缺陷 |
三种"别对 AI 用"的动作
即使你已经上了这套做法,也有三类活不该丢给它。这条边界值得贴在墙上:
新料入库、页面增改、建索引;跨概念综合、找矛盾、定期体检;把一轮讨论整理成专题页或文档。
纯检索"我记没记过 X"(全文搜索更快);临时翻一条原文(直接去 raw/ 看);价值判断与最终结论——那是"人"的活。
三个最容易劝退新手的误区
花一个周末设计目录分类、命名规范、标签体系,结果一条料都没收——这是把"整理焦虑"换了个地方发作。
在插件市场里挑 AI 插件挑一晚上,越想越复杂,最后放弃。
干活的是终端里那个 AI 代理;Obsidian 只负责显示。Karpathy 提到的 Dataview / Marp 都是可选项(15)。
wiki 里的每句话都是 AI 重写的"蒸馏",日子久了可能和原始出处渐行渐远;一份写错的摘要会被后面的人(包括你)当权威记录引用。
真正的来源是 raw/,最高裁判是你自己。凡是拿去写文章、做决定的结论,回原始资料核对一遍。
这套是为"个人规模"设计的:没有权限模型、没有并发编辑、没有审查流。资料量到几千上万篇、或者需要多人同时维护时,请换带权限与向量库的正式方案。用它硬撑的结果通常是:文件冲突、AI 改掉别人的页、以及谁都说不清哪页是对的。
05四个角色:谁装什么、谁不装
很多人问"那我要不要装一堆插件?"——不用。这套玩法的精髓是各司其职、尽量少而薄:四样东西,每样只干一件活。
raw/。它是你往知识库喂资料的传送带。为什么偏偏是 Obsidian
因为它天生符合这套做法的三个需求,几乎像为它设计的:① 笔记就是本地文件夹里的纯文本 Markdown——AI 代理能直接读写,不需要任何私有格式转换;② 原生支持 [[双向链接]] 和反查面板——页面之间的链接它能直接显示、点击、跳转;③ 免费且本地优先——私人笔记不上别人的服务器。Karpathy 自己也在这套做法里点名用了它的 Web Clipper 和图谱视图。
不必须,但它是现成最优解。任何"本地 Markdown + 能显示 [[链接]] + 有反查"的编辑器都行——Obsidian 只是把这几件事做成了开箱即用。真正不可替代的是"AI 能读写你本地文件夹"这一条,那是 AI 代理的活,不是编辑器的活。
为什么不能就用 ChatGPT 网页版
很多人第一反应是"我用 ChatGPT 网页版帮我整理笔记行不行"。可以,但很别扭,因为它读不到你硬盘上的文件夹:你得手动上传文件,它也没法在你本地持续维护几百个文件、保持链接和索引一致。而 Claude Code / Codex 这类能读写你电脑文件夹的代理,天然就是"园丁"——你告诉它在哪个目录干活,它就能建文件、改文件、跑命令(默认需要你点头同意)。这正是"Obsidian 是壳、代理是程序员"能成立的前提。
两个主流的"园丁"怎么选
| 代理 | 规则文件叫什么 | 上手入口 | 什么时候选它 |
|---|---|---|---|
| Claude Code(Anthropic 官方) | CLAUDE.md | 装好后在库文件夹里敲 claude | 中文资料与教程多;想按目录授权、想用官方插件体系时 |
| Codex(OpenAI 官方,终端版) | AGENTS.md | 装好后在库文件夹里敲 codex | 已经在用 OpenAI 生态、或公司统一用 Codex 时 |
| 其他能读写本地文件的代理(如 OpenCode) | 看它自己的约定 | 同上:先 cd 进库文件夹再启动 | 你已经在用别的代理,没必要为了这套再装一个 |
Karpathy 的原文正是拿 Codex 和 Claude Code 举例。选哪个都行,但选了哪个,规则文件就起对应的名字——这是新手第一个静默翻车点:文件名叫错,AI 进门就当没看见(17)。
一个必须理解的机制:代理的"授权"
这类代理在修改你电脑上的文件之前,默认都会先征求你的同意:它想新建 wiki/心流.md 或改动 index.md 时,会列出要做的事,让你选允许 / 拒绝 / 本次全部允许。这意味着它没法在你眼皮底下偷偷删掉你的笔记。等你信任它了,可以在初始化时把库文件夹设为"允许自动执行",但建议至少前两周每次看它一眼,尤其盯着它有没有碰 raw/。
如果代理支持按目录授权,只给它这个库文件夹的权限就够了,别给它整个用户目录——把"事故半径"缩小到知识库内,就算 AI 闯祸也翻不了天。具体授权界面随工具不同,卡住时问你的代理或查它的官方文档。
06规则文件:整套系统唯一的杠杆
同样一套 Obsidian + AI 代理,不同人用出来的效果差很多,差别几乎全在这份文件上。Karpathy 的原文对它有一句定位:"This is the key configuration file — it's what makes the LLM a disciplined wiki maintainer rather than a generic chatbot."(这是关键的配置文件——正是它让大模型成为一个有纪律的 wiki 维护者,而不是一个通用聊天机器人。)而且他和 AI 是共同演化这份文件的:边用边加,不是一次写完。
一份可以直接起步的规则文件
很多人卡在"规则文件到底写多细"。不必一步到位——先写能约束住 AI 不闯祸的那几条,之后边用边补。下面这份是中文读者能直接保存使用的最小版本(存成 CLAUDE.md 或 AGENTS.md,放在库根目录):
# 我的 LLM Wiki 工作章程 你是这个知识库的园丁。库结构: - raw/ 原始素材。你只读、不改、不删、不整理 = 唯一事实来源。 - wiki/ 成品。每个「概念」一个 .md 文件;不按来源分。 - index.md 全库目录:每页一行「[[链接]] + 一句简介」。 - log.md 操作流水:每次改动后追加一行(日期 | 动作 | 改了哪些页)。
硬性规则: 1. 绝不修改或删除 raw/ 里的任何内容。 2. wiki 每页页首写 2-3 句摘要,正文用 [[ ]] 链接相关页; 同一概念只允许存在一页,发现重复就合并而非另起一页。 3. 来源说法冲突时,不得擅自取舍:在页面标「⚠️ 冲突」,log 里记录,并向用户提问。 4. 收录新源时做增量更新:只建新页 / 补相关旧页 / 刷 index / 记 log,禁止重写全库。 5. 每页尽量记录它依据的 raw 来源文件名,方便回溯。
欢迎你根据我的反馈持续改进本文件——规则由人机共同演化。
这份文件为什么"再薄也有用":逐条拆给你看
| 规则 | 它挡住的失败 | 没有它会怎样 |
|---|---|---|
| raw/ 只读、不改、不删、不整理 | AI"顺手帮你整理"原始资料 | 唯一事实来源被改写,以后无法回溯"AI 到底基于什么写的" |
| 一概念一页,重复就合并 | 同一概念散落在多页,越用越乱 | 出现"深度工作"在 A 页讲一半、B 页讲一半,提问时它只读到一半 |
| 页首 2–3 句摘要 | 页面退化成原文复制粘贴 | wiki 变成第二个 raw/,你还是得自己读全文 |
| 冲突标 ⚠️ 并提问,不得擅自取舍 | AI 悄悄选了一边,你以为是定论 | 知识库里留下没有依据的"结论",且你不知道它从哪来 |
| 增量更新、禁止重写全库 | 每次收录都重读全库,又贵又慢 | 花费上去、速度下来,还可能把整理好的旧页推翻重写 |
| 每页记来源文件名 | 结论与原始资料脱钩 | 想核对时不知道回哪个文件看,等于放弃了"可审计"这个最大优势 |
规则文件里该写什么、不该写什么
| 该写进去(长期有效) | 别写进去(会过期或噪音) | 判据 |
|---|---|---|
| 库结构、命名约定、页面格式要求 | "今天先处理 2026-09-13 剪的那篇" | 一次性的指令放对话框里,别写进章程 |
| 禁区(raw/ 只读)与冲突处理规则 | 某篇具体文章的结论或细节 | 章程管"怎么干",不管"内容是什么" |
| 增量更新、索引维护、日志格式 | 大段背景介绍、你的个人简历 | 问自己"这条能约束 AI 的哪个动作" |
| 被你反复纠正过的那个毛病 | 模型的参数、版本号 | 跟库有关才写;跟无关的技术细节别塞 |
你今天写的版本一定不完美,没关系。用上两周,每次 AI 产出不对,就去规则文件里加一条——这比在对话框里反复啰嗦叮嘱它更省心、也更稳定。你的主要编辑工作,会慢慢从"写笔记"变成"写规则"。社区和原作者都用"共同演化"形容这个过程:规则是长出来的,不是设计出来的。
把"骂 AI"变成"改规则":三个真实转化
10最小例子:5 分钟跑通第一次"编译"
先别急着理解全部理论。下面用一个空文件夹把整条流水线走一遍,让你亲眼看到"AI 把我的两篇原始资料编译成了互相链接的 wiki 页面"。前提:你电脑上已经装好一种能读写文件夹的 AI 代理(Claude Code 或 Codex);没装的话先跳到 11 装好再回来。
在终端里新建一个空文件夹,并放入两篇很短的"原始文章"。你可以直接复制下面的命令:
# 建试验田(Mac 终端,一行一条) mkdir -p ~/Desktop/test-kb/raw cd ~/Desktop/test-kb
随便起名(如 raw/pomodoro.md、raw/flow.md),内容类似这样即可——重点是两个概念有交叉,好让 AI 建链接:
# raw/pomodoro.md 的内容 番茄工作法:把时间切成 25 分钟专注 + 5 分钟休息的小块。 发明人是 Francesco Cirillo(1980 年代末,用厨房计时器)。 好处是降低"开始做事的门槛",对抗拖延。 很多研究说 25/5 只是经验值,可按个人节奏调。 有评论认为它和"心流"有冲突:打断可能破坏深度专注。
# raw/flow.md 的内容 心流(Flow):完全沉浸在活动中、忘记时间流逝的状态。 由心理学家 Mihaly Csikszentmihalyi 提出。 进入心流需要"挑战难度≈个人技能水平",且不被频繁打断。 和番茄钟的关系:外部打断(闹钟)可能是心流的敌人, 但番茄钟的固定节奏又帮一些人进入状态。两种观点都有人支持。
关键前提:先 cd 进这个文件夹再启动,否则代理看不到你的库。
# 确保你 cd 到了 ~/Desktop/test-kb 再执行 claude # 装的是 Claude Code 就敲 claude;装的是 Codex 就敲 codex
把下面整段文字粘进对话框。这就是给 AI 的一次性"任命书"——原文档建议把抽象描述直接交给代理、由它落地成 CLAUDE.md,而不是你手抄一份:
请把这个文件夹变成一个「Karpathy 式 LLM Wiki」知识库。
规则(写进 CLAUDE.md,后续每次会话自动生效): 1. raw/ 里是原始素材,我只读不改、永不删除,是唯一事实来源。 2. wiki/ 是成品库:一个概念一个 .md 文件,页首要有 2-3 句摘要, 用 [[双向链接]] 连到相关概念,维护 index.md 作为全库目录(每页一行+一句简介)。 3. 每次处理完新资料,在 log.md 末尾追加一行:日期 + 处理了哪个源 + 改了哪些页。 4. 遇到两处资料说法冲突,不要擅自二选一,在相关页面标「⚠️ 冲突」并在 log 里记录。
现在执行: - 读 raw/ 下两个文件; - 在 wiki/ 里为「番茄工作法」「心流」各建一页,把两者关系写清楚并互相链接; - 生成 index.md; - 在 log.md 记录这次初始化。
代理会依次建出 CLAUDE.md、wiki/番茄工作法.md、wiki/心流.md、index.md、log.md。如果它在哪一步要改动文件或跑命令,会问你是否允许——选允许即可(这个文件夹是试验田,随便造)。
这才是最有成就感的一步:
- 打开 Obsidian → "Open folder as vault"(打开文件夹作为库)→ 选
~/Desktop/test-kb。 - 左边栏看到
wiki/番茄工作法页,正文里[[心流]]是蓝色可点击链接。 - 按
Cmd + G打开图谱视图(把所有页面和链接画成一张网的那个界面),你会看到两个节点被一条线连起来——这就是 AI 替你建的连接,而你自己一个字都没写。 - 在番茄工作法那页点开右侧"Backlinks(反链)"(谁提到了这一页),Obsidian 会自动列出
心流。
成功:Obsidian 图谱里有两个以上的点、点之间有连线;index.md 列出全库;log.md 有记录。
常见小插曲:代理把 raw/ 里的文件也"顺手整理"了——违反"raw 只增不改"。此时你应当纠正它"raw 不许改",然后看它是否重来。这恰好演示了规则文件的价值(06)。
编译后 wiki 里会长出什么样的页面
这是两个页面的示意(在 Obsidian 里就是这样的 Markdown 文件,链接都显示为蓝色可点击):
# wiki/番茄工作法.md(AI 生成,示意)
番茄工作法是把时间切成「25 分钟专注 + 5 分钟休息」小块的 时间管理技巧,用于降低开始做事的门槛、对抗拖延。
## 关键事实 - 发明者:Francesco Cirillo(1980 年代末,用厨房计时器)[raw/番茄工作法来源.md] - 25/5 是经验值,可随个人节奏调整
## 相关争议 - 与 [[心流]] 的关系存在两种观点:打断可能破坏深度专注; 也有人认为固定节奏反而帮助进入状态。[raw/番茄工作法来源.md · raw/心流来源.md] ⚠️ 冲突:上述两种说法尚无权威定论,见 log 2026-09-13。
## 反链(Obsidian 自动维护) 被 [[心流]]、[[我的专注方法论]] 引用
# index.md(AI 维护的目录,示意) ## 概念 - [[番茄工作法]] —— 时间切成小块来对抗拖延;与心流的关系存疑 - [[心流]] —— 沉浸状态;需挑战≈技能且少被打断 - [[我的专注方法论]] —— 我自己的选择与试用体验(人写的) (log.md:按时间记录每次收录与改动)
注意其中三处设计:页面按概念而非按文章建、摘要下有来源回溯(指向 raw/ 的文件名)、冲突被显式标出而不是被 AI 悄悄抹平。看懂这三处,你就读懂了整篇方法。
跑完对一遍:四行验收自检
- ✅
wiki/里是按"概念"建的页,而不是"一篇原文一页"。 - ✅
index.md的每一行都能让你一眼知道全库有哪些概念。 - ✅
log.md能从第一行读到最后一行,讲清这个库是怎么长出来的。 - ✅
raw/里的原始文件一个字都没被 AI 改动。
为了确认你理解了方法而不是只背会了步骤,把"番茄/心流"换成你真正关心的领域再跑一遍:正在追的某个行业的两篇报道;同一件事的两篇观点相反的文章;你自己工作里的一段经验记录 + 一篇相关教程。
重点观察:AI 是否把不同文章里的共同概念归到了同一页、并用链接表达了"这两篇在争什么"。做到这一步,你就掌握了"按概念不按来源"的精髓。
11从零搭建到真知识库(40 分钟版)
把试验田换成"正式库",只多两件事:选好文件夹、写好更完整的规则文件。下面是能走完的完整清单,每一步都给足可以直接照做的命令。
到官网 obsidian.md 下载并安装(Apple Silicon 的 Mac 选 Apple Silicon 版)。个人使用免费、不限条数。打开后先别急着建库,等第 2 步把文件夹建好再说。
知识库别和你别的笔记混在一起。在终端里创建并预置目录结构:
mkdir -p ~/Documents/knowledge-base/{raw,wiki} cd ~/Documents/knowledge-base
然后在 Obsidian 里点 "Open folder as vault",选 ~/Documents/knowledge-base。Obsidian 会把整个文件夹当成一个"库"(vault,就是它管理的一个文件夹),你之后看到的页面就是这里的 Markdown 文件。
raw/ 和 wiki/ 是社区通用的落地约定,不是原文档写死的。你用别的名字(sources/、notes/ 之类)完全没问题,只要在规则文件里告诉 AI 就行。
在你的浏览器(Chrome / Edge / Safari 等)装 Obsidian 官方出品的 Web Clipper 扩展。装好后点扩展图标 → 设置保存目标库为你刚建的库 → 把默认保存文件夹从它默认的 clippings 改成 raw。这样你在网上看到好文章,一键就剪成干净的 Markdown 落到 raw/。
任选其一(它们都能读写本地文件夹,这是本做法的前提,选型见 05):Claude Code(规则文件 CLAUDE.md)或 Codex CLI(规则文件 AGENTS.md)。
原文档里有一句话点破了这件事的隐藏红利:"The wiki is just a git repo of markdown files."(wiki 说白了就是一个装 Markdown 的 git 仓库。)给它上个版本控制,"AI 改坏了能一键回退"就有了兜底:
cd ~/Documents/knowledge-base git init git add . git commit -m "init knowledge base"
用 Web Clipper 剪一篇你真正想学的文章进 raw/ → 回到代理对话框,说一句"收录 raw/ 里新增的那篇,编译进 wiki"。看它建页、补链、刷索引、记日志。从今往后,你的日常就都是这套动作了(13)。
你最终会跑出这样一个目录
knowledge-base/ ← 你在 Obsidian 里打开的库(vault) ├── CLAUDE.md ← 规则说明书(用 Codex 则叫 AGENTS.md) ├── index.md ← wiki 全库目录:每页一行 + 一句简介 ├── log.md ← 操作流水:日期 | 动作 | 改了哪些页 ├── raw/ ← 原始素材(只增不改不删)——Web Clipper 剪进来的地方 │ ├── 2026-09-13-某文章.md │ └── ... └── wiki/ ← AI 编译的成品(一个概念一个文件) ├── 番茄工作法.md ├── 心流.md └── ...
初始化时最常见的卡点
| 现象 | 原因 | 解法 |
|---|---|---|
| AI 说"我看不到这个文件夹" | 代理不是在库文件夹里启动的,或没被授权 | 先 cd ~/Documents/knowledge-base 再启动代理;授权提示选允许 |
剪藏总是进 clippings/ | Web Clipper 的保存目标没改 | 在扩展设置里把保存位置改成你的 raw/ 文件夹 |
代理把 raw/ 里的原文也改了 | 规则文件没写死"raw 只读" | 在规则文件第一条写死"raw/ 只增不改不删",重跑一次验证 |
| 每次收录都重读全库,又贵又慢 | 没告诉它做增量更新 | 规则里写明"只处理新文件,禁止重写全库" |
| wiki 页面像原文的复制粘贴 | 缺少"按概念、带摘要、别照抄"的约束 | 规则里写明页面格式与"一概念一页、重复即合并" |
| 它擅自判断两篇资料谁对 | 没规定"冲突要问人" | 规则里写明"冲突不得擅自取舍,标 ⚠️ 并提问" |
12Obsidian 侧只需掌握三件事
Obsidian 的插件有几千个,但你在这套做法里只需要三件基础能力,其余都是锦上添花。
① 双向链接:知识网的"缝线"
在笔记里输入两个左方括号 [[,Obsidian 会弹出可链接的笔记列表,选中即生成链接。链接是双向的:你在一页里写了 [[心流]],打开"心流"那页时,右侧 Backlinks(反链,"谁提到了我")面板会自动列出"番茄工作法 提到过我"及其上下文——你永远不用手动维护"谁引用了我"。这套做法是让 AI 来织这张网,Obsidian 负责把网显示出来。
# 在 wiki/番茄工作法.md 里写: 有评论认为它和 [[心流]] 冲突:打断可能破坏深度专注。
# 保存后打开 wiki/心流.md,右侧反链面板会出现「番茄工作法」这一条。
② 图谱视图:把"连接"画成一张网
快捷键 Cmd + G 打开。每个文件是一个点,链接是线。日常两个用法:
| 看什么 | 怎么操作 | 它在告诉你什么 |
|---|---|---|
| 看全局:有没有"孤岛" | 打开图谱视图整体扫一遍 | 没和任何点相连的孤点 = 没接线的笔记,往往是该补链接的信号,或是该归档的临时物 |
| 看局部:这个概念和谁近 | 对某页按 Cmd + 点击 链接,或右键 → Open local graph | 点太多太密的区域,往往是该拆分概念的信号 |
别为了"图谱好看"硬造链接。链接的价值在于"提问时 AI 能顺着它读到你需要的页",不在于画出来的图漂亮。
一个值得养成的习惯:每周随便点开图谱里的几个孤点。孤点通常提示两种信号之一——它该被链接进某个概念,或者它其实是该归档的临时物。这两个判断正是"人"的活,AI 替不了。
③ 附件本地化:别让笔记里的图变成叉
网页剪成 Markdown 时,图片默认还是指向原网站的地址;等那个网页删了图、或者加了防盗链,你笔记里的图就全变成叉。原文档给的做法很具体,值得照做:
Obsidian 设置 → Files and links(文件与链接)→ 把 "Attachment folder path"(附件文件夹路径)设成一个固定目录,例如 raw/assets/。
设置 → Hotkeys(快捷键)→ 搜索 "Download",找到 "Download attachments for current file"(下载当前文件的附件)→ 绑一个顺手的组合键,例如 Ctrl + Shift + D。
剪藏完成后按那个快捷键,文章里的图片就会全部下载到本地磁盘。这一步是可选的,但它让 AI 能直接"看"这些图,而不是依赖随时可能失效的外链。
大模型没法在一轮里同时读"带内嵌图片的 Markdown"和那些图片。原文档给的绕过办法是:先让它读文本,再单独让它看其中一部分被引用的图片,用来补额外上下文。有点笨,但够用。
给 wiki 的文件命名与"库卫生"三条
| 约束 | 怎么做 | 为什么 |
|---|---|---|
| 文件名就是概念名 | wiki/番茄工作法.md、wiki/心流.md,而不是 wiki/2026-09-13 那篇讲专注的文章.md | 概念名稳定,链接才稳定——改名会让指向它的链接断掉 |
| 一处一义,别建重复页 | 同一概念只留一页;发现"深度工作"既在 A 页又在 B 页提,让 AI 合并到一页、其余页面链过去 | 重复页会让 AI 提问时只读到一半,也让你的库越用越乱 |
| raw/ 里按时间堆就行 | 原始资料文件名带日期即可,例如 2026-09-13-某文章.md | 分类和整理是 wiki 层的事;在 raw/ 里整理等于破坏"唯一事实来源" |
Karpathy 的文档里点名过两个:Dataview(把笔记当数据库查,比如"列出所有可信度大于 0.8 的页面")和 Marp(把 wiki 内容直接导出成幻灯片)。它们都属于"会更好用",不是"必须装"——先把基础跑顺再说。
13日常闭环:收集→编译→提问→回流
知识库建好之后,你的日常只剩四种动作,循环往复。原作者在文档里坦承了自己的习惯:"Personally I prefer to ingest sources one at a time and stay involved."(我个人偏好一次只处理一条来源、并全程参与。)
零整理地囤
一条一条来
再顺着链接读页
成新的 wiki 页
① 收集:零整理地囤"原料"
看到好内容(网页、PDF 论文、别人的仓库、会议记录)→ 只管剪进 raw/。不要当场分类、改名、写感想——这些正是要外包给 AI 的活,也是 raw 层存在的意义:它替你挡住"整理焦虑",让你放心囤。
② 编译:一句话触发增量更新
回到代理对话框,说一句人话即可:
收录 raw/ 里我新剪的那篇(2026-09-13 剪藏),编译进 wiki。 先告诉我你打算新建或更新哪几页,动手前让我确认。
一次收录可能牵动 10–15 个页面。让 AI 先报方案、你点头再动手,能防止它"自作主张大改"。等你们默契了,可以把这句简化为固定流程写进规则文件。
还有一条容易被忽略但很关键的做法:原文档描述的收录不是"AI 自己闷头处理",而是 "the LLM reads the source, discusses key takeaways with you, then writes a summary page ..."(先读原始资料,跟你讨论关键要点,再写摘要页)。这背后是个使用原则:"外包整理"不等于"外包理解"。让 AI 先给你一段"我读到这些要点、打算这么收进 wiki",你扫一眼、纠一句,往往比全自动更省心也更准。
③ 提问:它先看索引、再顺着链接"读书"
这是整套做法体验质变的一刻:AI 不再临时翻一堆原始文章,而是去读那本已经被它整理好、互相链接的 wiki:
基于我的 wiki 综合回答:我的笔记里关于「专注」的所有观点, 把相互矛盾的地方列出来,并指出哪些论点依据的原始资料最可信。
④ 回流:好答案别浪费,存回 wiki
原文档里有一个常被忽略但很关键的习惯:有价值的回答要能被"存档"回 wiki,变成新的页面。你的探索成果、专题总结、一段深思,都值得参与后续的引用网络——这正是"知识复利"真正发生的地方:"good answers can be filed back into the wiki as new pages."
把刚才这轮讨论整理成 wiki 里的一页新专题「我的专注方法论」, 链接到番茄工作法与心流两页,并在 log 记录。
把闭环"演"一遍:一个真实的小例子
周一 · 收集
你想搞懂"AI 编码代理到底怎么选",看到两篇对比 Claude Code 与 Codex 的文章 → Web Clipper 各剪一篇进 raw/,不改名、不分类。
周二 · 编译(约 2 分钟对话)
对代理说"收录 raw/ 里那两篇,建「AI 编码代理选型」专题页"。它建页、把两篇各自的结论和分歧写清、互相链接、更新 index.md、在 log.md 记一笔。
周三 · 提问
"基于我的 wiki,我(描述你的情况)该先学哪个?列出两派观点和分歧点。"它先读索引 → 再钻进选型页 → 给你一份带依据的建议。
周四 · 回流
你决定了用哪个、试了两天有了体会 → 让代理把"我的选择与试用体验"追加进选型页。自此,这个判断就成了你 wiki 的一部分;下次别人问你理由,你直接指给它看。
不同形态的料,AI 各该"怎么编译"
不是所有进料都长一个样。给 AI 一句"它是什么形态",它能处理得更好:
| 进料形态 | AI 该做的事 | 最常见的翻车点 |
|---|---|---|
| 网页文章 | 提炼观点与论据 → 归到相关概念页;有价值的原文观点引用进页面 | 整篇照抄进一页,造成"一篇原文一页",破坏按概念组织 |
| PDF 论文 / 长文档 | 先建"摘要页",关键方法与结论拆进对应概念页;标注可信度(论文通常高于博客) | 一次要读的长度超过上下文窗口,AI 偷懒只读开头 |
| 播客 / 视频转录 | 先清洗转录噪音,再抽"这个人讲了哪几个核心观点" | 把口语废话也当知识点收进去 |
| GitHub 仓库 / 代码 | 提取"它解决什么问题、架构怎么设计",而不是把代码抄进 wiki | wiki 变成代码转储,既占地方又难检索 |
无论喂什么,都在末尾补一句:"只保留对概念有长期价值的观点,丢弃琐碎细节;不确定取舍时先问我。" 这句话能挡住一大半"垃圾进库"。
这套做法的回报在于积累。如果只剪不收、只问不回(回答不回流),wiki 不会长大,体验也会退化回"每次现读"。养成两个小习惯:一次收一条并及时编译、有价值的回答随手回流。
14定期体检(lint):让 wiki 自己抓自己的矛盾
wiki 用久了会积累"亚健康":两页说法打架、某篇结论其实已被新资料推翻、有概念提到却没专门页、孤儿页没人链接。原文档把这件周期性检查称为 lint(字面是"代码检查",这里指全库体检),并列出了要查的东西:
"contradictions between pages, stale claims that newer sources have superseded, orphan pages, missing cross-references."
大意:页面之间的矛盾、已被新资料取代的过时结论、孤儿页(没被任何页链接的页)、缺失的交叉引用。原文档还加了两项:重要概念提到了却没有自己的页、以及可以用一次联网搜索补上的数据缺口。
一句口令触发体检(建议每 1–2 周一次)
对我的 wiki 做一次 lint 体检: 1. 找出互相矛盾的页面,逐条说明冲突点; 2. 找出"已有新资料支持、但旧页面结论还没更新"的过时说法; 3. 找出没被任何页面链接的孤儿页; 4. 找出资料里反复出现、却还没有专门词条的概念。 每一项给出处理建议,动手改之前先列给我确认。
一次典型的体检报告长什么样
注意它把"问题"翻译成了"下一步动作"——这才是体检报告有用的地方:
## lint 报告(2026-09-13) 1. 冲突:wiki/番茄工作法.md 说"打断破坏心流",wiki/心流.md 认为"固定节奏助人进入心流"。 建议:在两页各加「⚠️ 冲突」标记并互相链接,等收录更权威来源后再定论。 2. 过时:wiki/某技术-背景.md 引用的数据是 2024 年的,raw/ 里 2026 的新文已给出更新数字。 建议:更新该页数字并附上新来源文件名。 3. 孤儿页:wiki/待办事项管理.md 无任何页面链接它,也无反向链接。 建议:在「时间管理」相关页补一条链接,或确认该页是否应归档。 4. 缺口:raw/ 与 wiki 里反复出现「深度工作」但还没有专门词条。 建议:新建 wiki/深度工作.md,吸收相关页里零散观点。 —— 是否按以上 4 项执行?我逐项回答或你直接说"执行 1、2、4"。
把体检结果"喂回去",才算闭环
lint 报告本身只是一张清单。真正让知识库"自我修复"的是下一步:你对 AI 说"执行 1、2、4",它改完后你在 log.md 里能看到这次体检和改动的痕迹,然后 git 提交一次。一次体检 = 一次被量化的"知识库健康修复",而不是一句没下文的口号。
关于体检的三个现实问题
| 问题 | 答案 | 为什么 |
|---|---|---|
| 多久做一次 | 每 1–2 周一次,每次挑 1–2 条真重要的执行 | 体检会让 AI 通读全库;个人规模(几百页内)成本可控,但别天天做 |
| 它会不会自己诊断错 | 会。把 lint 当"待办清单",不当"诊断结论" | 执行体检的是 AI,写 wiki 的也是 AI,同样的盲区会传染(见下) |
| 决定健康的是什么 | 不是体检频率,而是你平时"一次收一条、别囤积"的习惯 | 积压几十篇再让 AI"慢慢消化",错误会成串出现(16) |
lint 的执行者是 AI,而 wiki 也是 AI 写的——社区在传播这套做法时普遍提醒:这可能变成"用系统检查系统自己",同样的盲区会互相传染。三个缓解办法:① 保留不可变的 raw/ 作为"对答案的底稿",lint 报告可以回溯核对;② 关键 / 高风险的改动由人抽查原始来源;③ 别把 wiki 当真理,把它当"待考证的索引"。
lint 的深层价值:把"错"变成"可见的待办"
普通笔记系统里,错误会一直藏在你再也想不起来的地方。而 wiki 的体检把矛盾、过时、缺口显式标记出来,还顺带告诉你下一步该补什么——这就是"知识库会自我生长"的一部分。
15三种可选支路:非网页料、元数据、规模化
前面讲的是一条主路。下面三件事属于"用顺了以后自然会长出来的需求",现在可以只看个印象,需要时再回来翻。
支路一:PDF、图片、视频这些"非网页料"怎么进 raw/
Web Clipper 只管网页。要收别的形态,先转成 Markdown 再丢进 raw/,按料的类型选一条路(都不用精修,能用即可):
| 料的形式 | 怎么进 raw/ | 做到什么程度就够 |
|---|---|---|
| PDF 论文 / 文档 | 用 Obsidian 内置或第三方"PDF 转 Markdown"工具转出文本 | 太长就只转你要的章节;完整性比格式重要 |
| 图片 / 截图里的文字 | 让 AI 代理做 OCR(光学文字识别)成 .md 存进 raw/ | 这正是选"能读写文件的代理"而不是网页聊天的理由之一 |
| 视频 / 播客 | 先导出字幕或转录文本(很多平台自带),把转录稿丢进 raw/ | 由 AI 清洗要点;口语废话不用你手动删 |
| 网页文章 | Web Clipper 一键剪藏 | 剪完可按 12 的快捷键把图片下载到本地 |
进 raw/ 的唯一要求是"AI 能读到、且内容完整到可被理解",格式并不严格。粗糙不怕,整理是 wiki 层的事——这句话反过来也成立:在 raw/ 层花时间精修,就是在浪费这套做法的核心红利。
支路二:给资料带元数据,让体检变准
进阶做法是让剪藏自带元数据,AI 编译时能利用它判断可信度与时间。原文档提到社区实践里每篇可带:来源 URL、类型(论文 / 博客 / 新闻)、日期、可信度评分。Obsidian 支持在文件顶部用一段用 --- 包起来的字段区(叫 YAML frontmatter)写这些信息:
--- source: https://example.com/xxx type: blog date: 2026-09-01 authority: 0.5 --- (正文……)
这些字段对 14 的体检特别有用——判断"谁更可信、谁更新"时,AI 不用去猜。同时它们也是 Dataview 插件的输入:装上它之后,"列出所有可信度大于 0.8 的页"就变成一句查询。反过来说,如果你不做体检、也不装 Dataview,这些字段就是纯负担——所以它是一条支路,不是主线。
支路三:索引塞不下了怎么办
主路能撑到"个人几百篇以内"。再往上,一份 index.md 塞不进上下文窗口,"先读索引再钻进去"就断了。原文档在这一步给的建议很务实:先建小工具,而不是立刻上整套向量库。最常见的一种是给 wiki 页面做一个本地搜索引擎——小规模时索引文件就够了,长大了你才会想要真正的搜索。原文档点名了一个现成选择:qmd,一个本地跑的 Markdown 搜索引擎(混合关键词与向量检索,带大模型重排,全程在本机),既有命令行接口(AI 可以调用它),也有一种叫 MCP 的标准接口(AI 可以把它当原生工具用)。当然你也可以让 AI 现写一个更简单的脚本——原文档的原话就是"随着需要出现,让 LLM 帮你 vibe-code 一个朴素搜索脚本"。
判断标准很简单:当 AI 开始"找不到"你已经收录过的内容,而不是"你觉得应该上搜索了"。在此之前,加搜索引擎只会多一层要维护的设施。真到几千上万篇的规模,就该按 02 说的换带向量库的完整检索管线。
16九个会翻车的地方
这些坑按"被踩到的频率"排。前三个几乎每个新手都会遇到一次。
坑 7 · 剪藏不等于原文无损
网页剪成 Markdown 时,正文里原有的跳转链接常会丢失、图片可能因防盗链失效。对策:把它们当"要整理的观点原材料",而不是可引用的成品;正文链接丢了,等 AI 编译时统一补;图片按 12 的快捷键下载到本地。
坑 8 · 合成页会"漂移"
wiki 页面是 AI 重写的"蒸馏",日子久了可能和原始出处渐行渐远,一份写错的摘要会被当成权威记录。对策仍是那条:重要结论回 raw/ 复核——这也是把 raw/ 设成只读的唯一理由。
坑 9 · 把"提问"当搜索引擎高频轰炸
只问不回、只剪不收,wiki 不会长大,体验会退化回"每次现读"(13)。这套做法的回报来自积累,不来自查询次数。
成对示例:同一件事的两种做法
AI 连着处理十几篇,中途开始偷懒、跳页、把不同文章的观点混进同一段,你事后根本分不清哪句是哪篇来的;账单也很难看(大模型按"文字量"计费,一次处理的资料越长越贵)。
"收录这一篇;先告诉我你打算新建或更新哪几页,动手前让我确认。" 每次都在你能看住的范围内,出错也能立刻定位到是哪一篇引起的。
"不是说了不要按文章建页吗?""摘要太长了。""别改 raw!"——每个新会话它都从零开始,你说过的全部作废。
"页首摘要不超过 3 句""发现同概念已有页面时必须合并""绝不修改或删除 raw/ 里的任何内容"。写一次,管所有后续会话。
17排错:六个最常见的卡点
cd ~/Documents/knowledge-base,再敲 claude(或 codex)。另一个原因是授权提示被你拒了——重来一次,这次选允许。CLAUDE.md,Codex 读 AGENTS.md);文件是不是在库根目录;规则是不是写得太笼统("整理得好一点"这种没法执行)。把笼统的改成可判定的("页首摘要不超过 3 句")。任何"它产出不对"的情况,按这个顺序查:① 规则文件里有没有这条约束 → ② 文件名和位置对不对 → ③ 库文件夹对不对 → ④ 这条例外该不该写进规则。换模型排在最后——绝大多数问题不在模型的智力,在于你没把要求写成一个每次会话都能生效的规则。
18速查表:目录、口令、快捷键
把高频要用的东西集中放这里,需要时直接翻,不用回正文逐章找。
你的库应该长成什么样
knowledge-base/ ← 你在 Obsidian 里打开的库(vault) ├── CLAUDE.md ← 规则说明书(用 Codex 则叫 AGENTS.md) ├── index.md ← wiki 全库目录:每页一行 + 一句简介 ├── log.md ← 操作流水:日期 | 动作 | 改了哪些页 ├── raw/ ← 原始素材(只增不改不删) │ ├── 2026-09-13-某文章.md │ └── ... └── wiki/ ← AI 编译的成品(一个概念一个文件) ├── 番茄工作法.md ├── 心流.md └── ...
五个高频口令(照抄即可)
| 想做什么 | 对 AI 说的话 | 为什么这么说 |
|---|---|---|
| 收录新资料 | 收录 raw/ 里新增的那篇,编译进 wiki;先报方案再动手。 | 后半句是防止它一口气大改的安全带 |
| 综合提问 | 基于我的 wiki 综合回答:……把相互矛盾处与依据列出来。 | 明确要求"带依据",避免它给一段没有出处的漂亮总结 |
| 沉淀好答案 | 把刚才这轮讨论存成 wiki 新页「专题:…」,链接相关页并记 log。 | 让探索成果参与引用网络,这是复利发生的地方 |
| 定期体检 | 对我的 wiki 做 lint:矛盾 / 过时结论 / 孤儿页 / 缺词条,逐条给建议,动手前先列给我。 | 四项对应原文档点名的检查项(14) |
| 生成演示 / 文档 | 把「…」这个专题整理成可讲给大家的 10 页提纲(或 Marp 幻灯片)。 | 需要装了 Marp 插件才走得通(15) |
命令行速查(Mac 终端)
| 要做什么 | 敲什么 | 说明 |
|---|---|---|
| 建试验田 | mkdir -p ~/Desktop/test-kb/raw | 连同 raw/ 一起建出来(-p 表示路径不存在就一起创建) |
| 建正式库 | mkdir -p ~/Documents/knowledge-base/{raw,wiki} | 花括号会展开成 raw 和 wiki 两个目录 |
| 进库并启动代理 | cd ~/Documents/knowledge-base 然后 claude / codex | 必须先 cd,否则代理看不到你的库 |
| 初始化版本控制 | git init → git add . → git commit -m "init knowledge base" | 三连;以后每次重要改动再 git commit 一次 |
| 回退被改坏的状态 | git revert <提交号> | AI 改崩了、体检误删了,用它退回去(不是 reset --hard) |
Obsidian 快捷键速查
| 动作 | 快捷键(Mac) | 用它做什么 |
|---|---|---|
| 打开图谱视图 | Cmd + G | 看全库链接网 / 找孤岛节点 |
| 当前页局部图谱 | Cmd + 点击某链接 | 看某个概念的"附近" |
| 建双向链接 | 输入 [[ | 弹出可链接笔记列表,选中即链接 |
| 全文搜索 | Cmd + Shift + F | 搜 wiki 里所有页面;也是"该不该上这套"的对照工具 |
| 命令面板 | Cmd + P | 什么功能找不到就来这搜 |
| 下载当前文件附件 | 自己绑(例:Ctrl + Shift + D) | 把剪藏文章里的图片抓到本地(12) |
每周 10 分钟的"健康维护清单"
把这一周剪进 raw/ 但还没收录的料,逐条 ingest 掉(仍是一次一条)。
用 14 的口令跑一遍,挑 1–2 条真正重要的让 AI 执行,别贪多。
打开图谱视图,随手点几个节点读读——这是你重新"认识自己知识"的时刻,也最容易发现该补的页。
本周哪个环节让你最不爽?把它翻译成规则文件里的一句话(06)。
给这周的成果存个档,让"上周的我"成为可回退的备份。
两周上手路线
| 时间 | 做什么 | 这天结束时应该确认什么 |
|---|---|---|
| Day 1 | 在 ~/Desktop/test-kb 把最小例子跑通(10) | "AI 能在我文件夹里维护 wiki"这件事成立 |
| Day 2 | 照 11 建真库:装 Obsidian、Web Clipper、代理,初始化 + git 快照 | Web Clipper 能把网页剪进 raw/ |
| Day 3–4 | 剪 5 篇你真想学的主题进 raw/,一次一篇让 AI 收录 | 把"看不顺眼的地方"记下来,准备改规则 |
| Day 5 | 第一次改规则:把前两天的抱怨翻译成条目 | 从这天起你已经是"写规则的人" |
| Weekend | 拿一个你真实要解决的问题去提问,好答案回流成新页,然后 git 提交 | 第一个里程碑留下痕迹 |
| Week 2 | 日常收敛为:剪进 raw/ → 每天一次收录 → 周末体检 + git 提交 | 开始体会到"笔记在复利" |
先用最小例子证明可行 → 再搬到真库 → 边用边把"骂 AI 的话"写进规则。别在第一天追求完美,完美是在用起来的第二周才出现的。
19术语表
这套做法的黑话不多,但英文缩写密集。下表按"你会先撞上哪个"排序,第三列写清楚它什么时候用、别当什么用。
| 术语 | 大白话 | 为什么重要 / 何时用 · 别当什么用 |
|---|---|---|
raw/ | 原始素材库:你往里丢网页剪藏、PDF、转录稿的地方 | 往里丢东西的唯一入口。别在里面做二次整理——那会破坏"唯一事实来源",让所有结论失去可回溯性 |
wiki/ | AI 整理好的成品库:一个概念一个文件 | 你反复阅读和提问的地方。别当成又一个原始收藏夹——它按概念组织,不按来源 |
schema / CLAUDE.md · AGENTS.md | 写给 AI 的"工作章程",告诉它这个库怎么组织、什么不许做 | 整套系统的杠杆点。AI 产出不合预期时,先改它,而不是在对话框里反复叮嘱 |
index.md | 全库目录:每个页面一行,带链接和一句简介 | AI 提问时先读它导航。别让它和日志混为一谈——它管"有什么",不管"发生过什么" |
log.md | 按时间追加的操作流水:哪天收了什么、改了哪些页 | 事后复盘与排查"wiki 为何变成这样"。别指望它帮你检索知识——它是账本不是目录 |
| ingest / 收录 | 让 AI 处理一条新资料,把它编译进 wiki | 日常最高频的动作。别一次塞几十篇让它"慢慢消化"——容易失控、错误成串 |
| lint / 体检 | 让 AI 全库自查:矛盾、过时结论、孤儿页、缺词条 | 周期性做(1–2 周一次)。别等库烂了才想起来,也别天天做——它会通读全库 |
双向链接 [[ ]] | 页面之间的链接,能在被链接的页上反查"谁提到了我" | 把知识网连起来的关键,也是 AI 提问时"顺着读"的路。单篇孤立的笔记不必强行链接 |
| 反链 / backlinks | Obsidian 右侧面板:自动列出谁引用了当前页 | 不用手维护"谁引用了我"。它显示的链接是 Obsidian 算出来的,不是你写进去的 |
| 图谱视图 / Graph View | 把全部页面和链接画成一张网(点 = 文件,线 = 链接) | 导航与诊断工具:找孤岛、找该拆的密集区。别为了图好看硬造链接 |
| vault / 库 | Obsidian 管理的一个普通文件夹 | 你的知识库就是这个文件夹本身。别把它和"某个云账户"混同——它是本地的,可以随时打包搬走 |
| YAML frontmatter | 文件顶部用 --- 包起来的一段字段区(来源、日期、可信度……) | 给元数据用的,让体检和 Dataview 判断"谁更可信、谁更新"。不做这两件事时它是纯负担 |
| RAG / 检索增强生成 | 提问前临时把资料切块、算相似度、捞出相关片段交给大模型的整套做法 | 理解它是为了知道这套做法刻意不用它。别一听到"AI + 笔记"就默认必须上 RAG |
| embedding / 向量 | 把文字转成一串数字,让机器算"谁和谁语义像" | 检索方案的地基。本做法在个人规模下刻意不用——用了就要多养一套向量库 |
| chunk / 切块 | 把长文切成小块再喂给 AI | 被点名批评的做法:切点常切在观点中间。遇到它时要警惕"AI 拼出幻觉" |
| context window / 上下文窗口 | AI 一次能同时"看到"的文字量上限 | 决定这套做法能撑多大:索引能整份放进去,就不必上检索。它是规模判断的尺子 |
| agent / 代理 | 能自己读文件、改文件、跑命令的 AI | 这套做法的"园丁",普通聊天机器人的替代品。授权时只给库文件夹,缩小事故半径 |
| MCP | 一种让 AI 把外部工具当原生功能调用的标准接口 | 只在支路里出现:本地搜索引擎(如 qmd)通过它接给 AI。用不上就别研究 |
99一句话总结
Karpathy 的 LLM Wiki 做法 = 用一个能读写本地文件夹的 AI 代理,把你丢进 raw/ 的原始资料在收录那一刻就"编译"成一本按概念组织、互相链接、随收录增量更新的 wiki(配 index.md + log.md + 一份人机共同演化的规则文件);Obsidian 只是这本 wiki 的阅读与展示壳(双向链接 + 图谱),你负责挑料与判断,AI 负责其余一切。
先在 ~/Desktop/test-kb 把 10 的最小例子跑通——亲眼看到 AI 把你的两篇文章编译成互相链接的页面。遇到报错,把红色错误信息直接发给你的 AI 助手,它现在就是你的"园丁"。
记住这三句话
- 一次整理,反复受益——知识要"编译"成成品存下来,别每次提问都从零翻原料(这正是 RAG 被点名批评的"没有积累")。
- raw 是金库,wiki 是办公区——原料只增不改、成品随便改;重要结论回 raw/ 复核。
- 你写规则,AI 写笔记——越用越值钱的不是页面,是你那份会说话的
CLAUDE.md。
坚持三个月,你会得到什么
- 一本真正属于你的 wiki:几十上百个互相链接的概念页,每个都带着来源与冲突记录——这是任何通用 AI 都给不了你的私有知识资产。
- 一套越写越准的规则:你的规则文件已经能精准约束 AI,让它一进库就知道该怎么干,产出稳定的好页面。
- 一次"知识复利"的实证:你想做决定、写文章、跟人讨论时,第一反应是"回我 wiki 看看"——那时你会理解 Karpathy 为什么说它是一件 persistent, compounding artifact(持久、复利累积的产物)。
98来源与证据边界
本文关键事实均经以下来源核实(2026-09-13 访问)。标 [1] 的是一手来源,其余为核对用的辅助来源。
| # | 来源 | 用它核实了什么 |
|---|---|---|
| [1] | Andrej Karpathy 公开文档《LLM Wiki》 https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f | 一手来源:三层架构(raw 只读 / wiki 由 LLM 全权拥有 / schema);index.md 与 log.md 两个必建文件及各自用途;对切块式检索的批评原话("no accumulation"、"compiled once and kept current"、"Obsidian is the IDE; the LLM is the programmer; the wiki is the codebase."、"The human's job is to curate sources…");单份资料可牵动 10–15 页;"一次一条、全程参与"的偏好;提问先读索引;lint 的检查项;wiki 就是装 Markdown 的 git 仓库;附件本地化与图谱视图的做法;Dataview / Marp / qmd 三个可选项;"这份文档刻意写得抽象"的声明 |
| [2] | Obsidian 官网 https://obsidian.md | 官方定位:笔记以本地纯文本 Markdown 存在本地设备、可离线、个人使用免费;双向链接与图谱视图的官方介绍 |
| [3] | Obsidian Web Clipper 官方页 https://obsidian.md/clipper | 官方出品的浏览器扩展;一键保存网页;用模板自定义保存到库的方式 |
| [4] | 社区主流落地模板 julianoczkowski/karpathy-llm-wiki https://github.com/julianoczkowski/karpathy-llm-wiki | 把方法落地为"Obsidian + Web Clipper + Claude Code"的完整步骤:raw/ 目录约定、把原文档交给代理生成规则/索引/日志的初始化提示词、单篇收录 5–15 分钟的经验值、"几百篇以内舒服"的规模判断 |
| [5] | Obsidian 帮助中心 https://help.obsidian.md | 库(vault)概念与入门、[[链接]] 用法、核心与社区插件体系、附件与图谱视图的官方说明 |
| [6] | Andrej Karpathy 人物简介 https://en.wikipedia.org/wiki/Andrej_Karpathy | 身份背景:OpenAI 创始成员、前特斯拉 AI 总监、2024 年创办 Eureka Labs |
| [7] | Obsidian 社区插件目录(官方索引) https://github.com/obsidianmd/obsidian-releases | 核实 Dataview、Marp、Smart Connections 等插件确实存在于官方社区目录(截至 2026-09-13 目录内共 7562 个插件) |
| [8] | qmd(本地 Markdown 搜索引擎) https://github.com/tobi/qmd | 核实原文档点名的那条支路是真实可用的工具:本地运行、混合关键词与向量检索、MIT 许可 |
证据边界与时效说明
- 口径一:哪些是原作者的,哪些是社区的。 本文的"方法层"以 [1] 为唯一权威依据;其中引用的英文句子均为原话(可对照 [1] 原文逐句核对),中文为我的重述。而
raw/、wiki/这两个目录名不是 [1] 写死的,是社区落地时的通用约定([4])——原文档明确说自己是"刻意抽象"的。 - 口径二:数字的来源。 "约 100 份来源、几百个页面"是原文档 [1] 给的经验值;"单篇收录 5–15 分钟""几百篇以内最舒服"来自社区模板 [4] 的实测,不是原文档原话。这两类数字我都标了出处。
- 时效:这类做法仍在演进。 涉及的软件(Obsidian、各家 AI 代理)与社区模板都会持续更新;本文校对日期为 2026-09-13,其中 Obsidian 桌面版最新为 v1.13.8(2026-08-21 发布,来自官方发布页)。若与最新官方文档不符,以官方为准。
- 需要你亲自把关的一件事。 用这类代理时,涉及文件修改的操作请看清授权提示再允许——尤其是它声称要"整理"
raw/的时候。
这几个链接建议收藏
- Karpathy 原文档(必读):https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f —— 很短,5 分钟读完,是全方法的"源代码"。
- Obsidian 下载:https://obsidian.md/download —— 认准官网,个人版免费。
- 社区落地模板:https://github.com/julianoczkowski/karpathy-llm-wiki —— 想直接照抄一份完整流程就从这拿。
- 本机配套教程:学 Claude Code 看《Claude Code 使用指南》;学 Git 看《Git 和 GitHub 配合使用快速上手》(都在本站
learn/目录)。