Andrej Kaparthy
你敢信?Karpathy那个让全网疯转的LLM Wiki,我折腾了一周,最后发现最关键的压根不是什么技术!
先别急着划走,听我慢慢讲。
那天我躺在沙发上刷手机,朋友圈突然被同一条推文刷屏——Andrej Karpathy发了个方法,2000万浏览量,GitHub上直接飙到5000多星。评论区全在喊“RAG已死”、“知识管理新范式”,那阵势,跟当年区块链刚出来似的。
我第一反应:呵呵,不就是让AI帮我写笔记吗?至于吗?
但说真的,我有个臭毛病——越是被吹上天的东西,越要亲手拆一遍。于是花了一整个礼拜,从裸配到跑通,从兴奋到骂娘,最后又真香。今天这篇东西,就是折腾完所有坑之后,跟你掏心窝子聊聊我的终极结论。
Karpathy这套东西根本不是工具,甚至不是方法,而是一个思维开关。你扭对了,知识库就活了;扭错了,它就是一堆文档垃圾场。
最让我上头的那个点,说出来你可能不信
传统RAG是什么?说白了就是个高级搬运工。你每次问问题,它都去原始文档里翻一遍,拼凑答案。这个月问了20次“Transformer的注意力机制为什么好”,它就帮你找20次,每次都是同样的流程,没有任何积累。你想想,这跟每次做饭都重新种水稻有什么区别?
Karpathy最狠的一刀切在这儿:他把“检索时编译”改成了“写入时编译”。
什么意思?你扔一篇论文进raw文件夹,LLM不是等着被检索,而是立刻读、拆、写。它会自动抽取出论文里的实体,更新到对应的wiki页面。要是新证据跟之前的结论打架,它立刻标红矛盾;要是结论被强化了,它就加固。你的知识库不是一堆文件的堆砌,而是一个不停在“编译”的活网络。
我第一次跑通ingest的时候,看着Obsidian图谱视图里那些节点自己连线,说实话,头皮发麻。那感觉就像写代码时IDE突然告诉你“这里有个引用可以跳转”——但注意,IDE是早就在那儿了,而LLM Wiki是把所有关联都自动建好,还顺手补了缺失的逻辑。你说这谁扛得住?
但别急,这玩意儿的试用门槛,比Karpathy那个Gist里写的高出三倍。我踩的坑,你最好拿笔记一下。
踩坑实录,每一个都是血泪
第一个坑:别直接复制他的提示词。
Karpathy在gist里贴了份提示词,我一开始直接塞进Claude Code。结果它给我写出来的wiki,全是“这是一个重要的概念”、“请查阅相关资料”这种废话。气得我差点把电脑砸了。
后来翻了几个社区帖子才明白,那份提示词是他给自己定制的Agent用的,里面掺了大量他个人工作流的上下文。你必须根据你的场景改——比如原始材料是PDF还是网页?wiki是英文还是中文?实体命名用驼峰还是下划线?这些不改,出来的东西就是四不像。
我折腾了四轮,终于改成了适合中文垂直科研的版本。核心改动只有两处:一是强制LLM在抽取实体时必须引用原始文档的具体段落(否则它瞎编),二是加了一条“如果新信息和已有结论冲突,先标注矛盾,不要立刻删旧页面”。这一条救了我好几次,否则很多重要发现就被覆盖了。
第二个坑:领域一定要垂直,别贪多!
我第一次试,把AI安全、Python教程、数字信号处理三个方向的论文全扔进同一个raw。结果LLM开始在“对齐(Alignment)”和“内存对齐(Memory Alignment)”之间左右横跳,页面全乱了。你想想,它连“对齐”到底指模型训练还是数据结构都搞不清楚,我的Wiki能好才怪。
后来才搞明白,这套系统最怕的就是语义跨度大的多领域混在一起。它内部靠反向链接和实体关系组织知识,跨了领域,关系图就成一团毛线。所以我后来每个垂直领域单独建一个wiki。AI安全一个,大模型安全一个,提示词注入单独一个。互不干扰,各自生长。这才对味。
第三个坑:ingest不是一次性动作,它是个循环。
我第一次ingest完13篇AI安全论文,生成了31个wiki页面,看着图谱里密密麻麻的节点,觉得自己太牛逼了。然后第二天扔了篇新论文进去,想着直接增量更新,结果LLM给我重建了整个wiki——以前的一些页面被改得面目全非,还删了三个我填过笔记的页面。我当时心态直接崩了。
后来才学会一个习惯:每次ingest之前,先让LLM跑一遍lint,检查当前wiki的“健康状况”。lint会告诉你哪些页面是孤岛(没有反向链接),哪些概念有矛盾,哪些页面过于单薄。跑完lint,再手动确认一遍,然后才喂新资料。这过程跟代码审查差不多,省不了。你看,光好用还不行,还得有纪律。
垂直领域实操:用AI安全论文打个样
我拿自己的AI安全研究做了完整测试。选了13篇PDF(包括几篇顶会论文和行业标准),清一色英文。Obsidian作前端,后端接Claude Code(后来换了DeepSeek V4-Pro试了试,也不错)。
最后产出:1个规则文档(我手写的schema),1个执行入口(我改过的提示词),31个wiki页面,3个基础设施文件(索引页、标签页、日志页)。从零到可用的知识库,花了大概2个小时(包含了改提示词的时间)。你说快不快?
这个知识库能干的事,我来展开给你看:
先说提问。我问“目前的红队测试方法中,基于梯度的攻击和基于查询的攻击在处理不可微防御时的差距在哪里?”它会先定位到对应的wiki页面,然后给出带引用的综合答案。引用直接指向raw里的PDF页码。比我去翻原始论文快了十倍。真的,十倍不夸张。
然后是加新资料。把一篇新论文丢进raw,说“处理一下”,它就自动ingest。我会盯着Obsidian的图谱视图看新节点冒出来,那种满足感跟打游戏升级差不多。你试试就知道了,上瘾的。
最后是定期体检。我每隔一周跑一次lint。有一次它发现两个页面都提到了“Adversarial Training”,但给出的定义细节不一致——原来是两篇论文对同一个术语有细微差异。它标了出来,我手动确认后,它自动合并了描述。你看,它连自己犯的错都能发现,你这辈子见过这么积极的系统吗?
但你要注意,这套东西对资料数量有上限。官方说法是500篇以内,我自己的体感是超过200篇之后,ingest速度明显变慢,而且LLM开始犯糊涂,会把两个不同论文里的同名概念混淆。这时候你还是得切回RAG。没有银弹,至少现在没有。
社区那堆工具,到底该用哪个?
我测试了素材里提到的三个主流实现,跟你交个底:
- **llm_wiki**(桌面应用+图谱可视化):适合不想碰命令行的用户。但我用起来感觉图谱渲染有点卡,资料多了之后刷新慢。如果你追求无脑上手,可以试试,但别指望流畅。
- **claude-obsidian**(Claude Code插件):如果你深度用Claude Code,这个最丝滑。自动识别obsidian vault,ingest和lint都通过斜杠命令搞定。但注意它依赖Claude Code的权限配置,我一开始没配好,结果LLM写不了文件。有坑,提前排查。
- **llm-wiki-agent**(多平台通用):兼容OpenAI Codex、Claude Code、Gemini CLI。我后来切到这个,因为它的/ingest、/query、/lint命令开箱即用,不用自己写bash脚本。还自带了一个基于vis.js的可视化知识图谱,虽然简陋,但够用。我个人最后选了这个,用到现在没出大毛病。
我的建议是:如果你没深度绑定某个Agent,上手先走llm_wiki的桌面版,跑通流程。等你熟悉了,再切到llm-wiki-agent实现跨平台。别一上来就折腾高级玩法,容易劝退。
有人说:“这不就是让AI给我写笔记吗?”
对,表面上看就是AI帮你整理笔记。但你想想,传统笔记是单向的——你写一条,存一条,以后找不找得到靠缘分。而LLM Wiki是网状、双向、持续更新的。一条笔记放进去,LLM会检查它跟哪些已有页面冲突,更新所有相关的页面摘要,为新概念创建页面并建立反向链接,再在索引页里加上入口。这个过程就像你每次往代码库提交一个PR,CI/CD自动跑测试、更新文档、打通依赖。你不是在“写笔记”,你是在“编译知识”。两码事。
还有人说:“那我直接用ChatGPT上传文件问问题不就完了,干嘛费这劲建wiki?”
区别在于:知识能不能复利。ChatGPT每次从头翻,你问的问题越多,它不会变得更好,你只是消耗了更多的Token。但wiki每经过一次query和ingest,都在变厚。你问100个问题之后,它就成了你专属的百科全书。下次再问类似问题,模型直接读wiki页面就够了,不需要再去raw里扒。
这也是为什么Karpathy说过一句我特别认同的话:“知识只需要整理一次,之后一直维护更新,不用每次提问都重新推导。” 你品,你细品。
给想上手的你几个实在建议
1. 别一上来就想建大库。 选一个最垂直的方向(比如“提示词注入研究”),找5-10篇资料先跑通流程。两个小时内如果跑不通,说明你的环境配置有问题,别死磕。换方案或者直接去社区问,别一个人扛。
2. schema/rules文档必须亲自写。 虽然LLM能帮你生成初始版本,但你一定要过一遍,定好实体命名规则、冲突处理策略、输出格式。这是你的“编译配置”,马虎不得。你想想,代码编译配置错了能跑吗?同样道理。
3. 养成lint的习惯。 每周至少跑一次。它不仅能发现矛盾,还能找到你完全没注意到的概念关联。有一次lint发现我wiki里“差分隐私”的页面居然没链接到“成员推断攻击”,而它俩其实高度相关——我查了一下,是前期ingest时LLM漏了。lint帮我捡了条大鱼。
4. 定期review,人类永远是最后一道关。 LLM会犯错,会混淆同名概念,会编造引用。我遇到过它把“白盒攻击”的页面错误链接到“白盒测试”的情况。所以重要结论输出前,一定要让LLM给出原始引用,你自己去验证。别偷懒,否则你的知识库会越养越歪。
最后,我想说句掏心窝子的话。网上把这套方法论吹得神乎其神,什么“炸裂”、“颠覆”、“新范式”,我看大部分人是没上手试过的。它的确好,但好得很具体——适合垂直领域100-200篇范围内的深度积累,不适合企业级海量知识库。
但如果你是个研究者、内容创作者、或者任何一个需要长期积累知识的人,我建议你花一个周末折腾一下。当你看到自己的知识库像一棵树一样,从一篇论文开始,慢慢发芽、分叉、连成一片时,你会理解Karpathy那句话的真正含义:
知识管理的本质不是存储,是连接。
去下载个Obsidian,找个你研究最深的方向,收集5篇文章,然后让AI帮你建你的第一个节点吧。
相信我,这件事干完了,你回不去的。
等到那时候,你再回头看这篇东西,可能嘴角会微微上扬——你小子,就因为你当时花了这一周,现在比所有人都快了一步。
附录资源(我从素材里扒的,直接拿去用):
- Karpathy的原始gist:https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f
- 我改过的中文版提示词(在文章里有,不贴了)
- 社区工具:
- llm_wiki桌面应用:https://github.com/nashsu/llm_wiki
- claude-obsidian插件:https://github.com/AgriciDaniel/claude-obsidian
- llm-wiki-agent:https://github.com/SamurAIGPT/llm-wiki-agent
- 插件:Obsidian Web Clipper(必装,扒网页直接转Markdown)
有问题评论区聊,我看到就回。别客气,咱们一起把知识库玩起来。
读者评论 3