Karpathy 最近的 token 消耗结构发生了变化:大量用在了知识操作上,而不是代码操作。
完整工作流
数据摄入
源文档(文章、论文、代码库、数据集、图片)索引到 raw/ 目录。然后用 LLM 把这些内容"编译"成一个 wiki——就是一个目录里的 .md 文件集合,包含:raw/ 所有数据的摘要、双向链接、把数据分类成概念、写文章、并链接起来。
转换网页文章为 .md:Karpathy 用 Obsidian Web Clipper 扩展,然后用一个热键下载所有相关图片到本地,方便 LLM 引用。
IDE:Obsidian 作为前端 Obsidian 是查看原始数据、编译后的 wiki、以及衍生可视化的前端"IDE"。重要的是:LLM 写和维护 wiki 的所有数据,Karpathy 很少直接手动编辑。
问答:不需要 fancy RAG 当 wiki 足够大(比如某个研究主题约 100 篇文章、40 万词),就可以对 LLM agent 问各种复杂问题,它会去研究答案。
Karpathy 原本以为要上 RAG,但结果发现 LLM 自动维护索引文件和所有文档的摘要,在这个规模下已经足够好,读取所有重要相关数据毫不费力。
输出:不止文本 不只在终端里得到文本答案——Karpathy 喜欢让 LLM 渲染 markdown 文件、或者幻灯片(Marp 格式)、或者 matplotlib 图片,然后在 Obsidian 里查看。可以根据问题想象很多其他视觉输出格式。很多时候,输出会"归档"回 wiki,丰富 wiki 内容供后续查询。所以自己的探索和查询总是在知识库里累积。
Lint:健康检查 Karpathy 用 LLM 对 wiki 做"健康检查"——比如:找出不一致的数据、用网络搜索补全缺失数据、发现有趣的联系作为新文章候选——逐步清理 wiki、提升整体数据完整性。LLM 还很擅长建议下一步可以问什么问题。
额外工具 会开发额外的工具来处理数据,比如用 vibe coding 写了一个简单(naive)的 wiki 搜索引擎,同时有 Web UI,但更常通过 CLI 交给 LLM 作为大型查询的工具。
进一步探索 随着知识库增长,自然会想到合成数据生成 + 微调——让 LLM"知道"数据在权重里,而不只是靠上下文窗口。
核心架构
raw/ 源数据 → LLM 编译成 .md wiki → 各种 CLI 操作(Q&A、增强)
↓
Obsidian(查看端)
整个 wiki 的读写维护都是 LLM 的领域,人很少直接动。
Karpathy 的判断:这中间有机会做一个真正的好产品,而不是一个 hack 的脚本集合。
这个工作流最有意思的点不是 RAG,是"LLM 作为 wiki 的主动维护者"——不是人在整理知识给 LLM 用,是 LLM 在人的引导下自己整理知识。Obsidian 是视图层,LLM 是操作系统。这个范式转移才是本质。