你的「Idea File」应该做到独立于任意 AI Agents,Karpathy 把它提炼成了「LLM Wiki」,从一次性检索推进到持久、可维护、可互链的 MD Wiki,用 raw / wiki / schema 分层和 ingest–query–lint 闭环,配合 index + log 导航,在中等规模下用结构化累积替代部分重复检索。 和常见「RAG」的根本差别
多数人的文档用法:上传文件 → 查询时检索片段 → 模型临时拼答案。NotebookLM、聊天里上传文件、典型 RAG 都接近这种:每次提问都在「重新发现」知识,跨多文档的微妙综合要反复检索与拼接,知识不会在系统里累积成稳定结构。
「LLM Wiki」主张的是另一条路:模型不只检索 raw,而是持续编译并维护一层介于你和原始材料之间的产物——持久、互链的 Markdown Wiki。新资料进来时,不是只加进索引等以后搜,而是读入、抽取、写入既有页面网络(实体页、主题页、矛盾标注、综述更新等)。这样交叉引用、矛盾标记、综合结论会作为已编译状态存在,而不是每次问答从零重组。
LLM Wiki 是可复利、可版本演进的制品;RAG 更偏「按需现算」。
三层结构
- Raw sources
- The wiki
- The schema
典型用法:@obsdmd 作前端 IDE,左边 agent 对话改文件、右边即时看图谱与链接——正是「Wiki 像 codebase、模型像程序员」这一隐喻的日常用法。
三类操作(循环)
· Ingest(入库)
新资料进 raw → 模型读、可与你对齐重点 → 写摘要页、更新索引、更新相关实体/概念页、记 log。一份源可能影响很多页;可单次深度参与,也可批量少监督,由你在 schema 里固化工作流。
· Query(问答)
针对维基提问:模型找相关页、阅读、综合并带引用作答。答案形态可以是新 .md、对比表、Marp 幻灯、matplotlib 图等。要点:好的回答可以再「归档」进维基,让探索像资料一样复利,而不是消失在聊天记录里。
· Lint(健康检查)
周期性让模型检查:页间矛盾、被新证据推翻的旧说法、孤岛页、该有专页的概念、缺失互链、可用搜索补的数据缺口等,并提出可继续追问的问题。
导航:index.md 与 log.md
· index.md(内容向)
Wiki「目录」:页面列表、一句话摘要、可选元数据,按类别组织;每次 ingest 更新。查询时先读索引再下钻,在 Karpathy 经验里,中等规模(约百级来源、数百页)往往够用,不必先上向量检索基建。
· log.md(时间向)
只追加的时间线:何时入库、问过什么、何时做过 lint。统一标题前缀(如 ## [日期] ingest | …)便于用 grep 等工具快速扫最近事件,也方便新会话理解「最近发生了什么」。
可选工具与技巧(gist 中的工程细节)
· Wiki 变大时,可加本地搜索;或小脚本 + agent 通过 CLI 调用。
· Obsidian Web Clipper、图片下载到本地(gist 写了热键与附件目录),便于模型稳定引用图(并诚实说明:图文混排的一 pass 阅读仍有摩擦,可先读文再单独看图,或社区讨论的「给图配文字描述」等变通)。
· 图谱、Marp、Dataview/Bases 等增强阅览与展示;维基即 git 仓库,天然带历史与协作可能。