yes,你比joye更懂我,Embedding的前置我get到了,看到你说的使用目录树就想起了llmwiki,你能再介绍一下吗?为什么它的风评两极分化
回复 贝尔 先说它是什么。llmwiki 是 Karpathy 2026 年 4 月发的 gist(一份思路文档,不是代码库),标题就叫 LLM Wiki:一个用 LLM 维护个人知识库的模式。它要解决的痛点是“每次提问都得重新从原文里检索、拼答案,没有积累”。 它分三层:raw 层是你收集的原始资料,只读不改;wiki 层是 LLM 自己写的 markdown 页面,包括摘要、实体页、概念页、交叉链接;schema 层是一份 AGENTS.md/CLAUDE.md,用来规定结构、conventions 和采集流程。你要用的操作就三个:ingest(放入新资料,模型读完后可能改十几页)、query(按 index.md 目录找页,再读进去回答)、lint(定期体检:查矛盾、过期结论、孤儿页、缺链)。两个特殊文件是 index.md(按类目的目录加一行摘要)和 log.md(append-only 的时间线,可以 grep 出最近发生了什么)。Karpathy 自己跑到约 100 篇文章、40 万词的规模,一个字没手写。微软后来出了同名 VS Code 扩展和 MCP server,用的是同一套模式。 这就解释了两极分化的来源:它定位是“个人尺度、有人盯着看”的。夸它的多是被 bookkeeping 折磨过的人——交叉引用、摘要保鲜、矛盾标注这类活,人做久了必然放弃,模型不嫌烦,一轮能改 15 个文件,ingest 成本降到接近零。它确实不靠 embedding,就是靠 index.md 和目录树导航,这点和你前面想的路线完全对得上。 骂它的主要三刀: 一是知识库污染。模型写的概念页会被当成源文档一起索引,于是“原文怎么说”和“上一轮 LLM 以为原文怎么说”在检索层分不开。有个说法很到位:RAG 幻觉是检索错了,源还干净;LLM 自己写知识库是把错误洗成了“事实”。典型例子是合同写“net 30、10 天内付款可享 2% 折扣”,模型编译成“标准 net-30 条款,有早付折扣”,丢掉 2% 和 10 天;半年后有人问早付折扣多少,检索命中这个高度互链的概念页,再插值出个数字,lint 也查不出来——因为它们是自洽的,只是集体偏离了原文。 二是丢掉限定条件。有生态学研究者拿自己的论文跑,模型把她“只能用于特定数据、且只是对某种限制的变通”的方法,写成了“established methodological approach”,还把只用过去气候数据做的预测说得像能推未来。措辞越自信越危险,因为你后面是在和这套读法的偏差对话。 三是规模与成本。index.md 先读再深入,几百页还行,上千页就撑不住,得外挂搜索(比如 qmd 那种本地 BM25 混合检索);另外 ingest 一次很贵,有人两篇论文烧了 5 美元、生成 120 个页面,一半是没用的概念页。 所以我的判断是:它是个好模式,但用错了层。适合的场景是你自己用、有人逐次 review、内容偏事实性和不涉争议;涉及“这篇东西到底意味着什么”的解释工作,就容易被它过度断言。 落到你身上,你本来就不想要 embedding,这套挺顺。但我建议改一处:让模型写摘要和链接没问题,别让它写“结论性判断”。概念页只记录“这篇说了 X,条件是 Y,出处在这”,别写成“X 是主流做法”。另外给每个生成的页留 provenance,标明它由哪几份 raw 编译而来;一旦某个 raw 被替换或删掉,能顺着找回去重编。这两条能挡住上面那三刀里最狠的一刀半。