@karpathy

最近我发现一个特别有用的方法:利用 LLMs 为各种研究兴趣主题构建个人知识库。这样一来,我近期的 token 消耗中,很大一部分不再用于处理代码,而是更多地用于处理知识(以 markdown 和图片形式存储)。最新的 LLMs 在这方面表现得相当出色。所以:

数据导入: 我将源文档(文章、论文、代码库、数据集、图片等)索引到 raw/ 目录中,然后使用 LLM 逐步“编译”一个wiki,这其实就是目录结构中的一系列 .md 文件集合。该wiki包含 raw/ 中所有数据的摘要、反向链接,并将数据分类为概念,为它们撰写文章并建立链接。为了将网页文章转换为 .md 文件,我喜欢使用 Obsidian Web Clipper 扩展,同时还会用快捷键将所有相关图片下载到本地,以便我的 LLM 能轻松引用它们。

集成开发环境: 我将 Obsidian 用作 IDE 的“前端”,在这里可以查看原始数据、编译后的wiki以及衍生的可视化图表。重要的是,LLM 负责编写和维护wiki的所有数据,我很少直接操作。我还尝试过一些 Obsidian 插件,以其他方式渲染和查看数据(例如用 Marp 制作幻灯片)。

问答: 有趣的是,一旦你的知识库足够庞大(比如我最近研究的某个主题已有约 100 篇文章、40 万字左右),你就可以向你的 LLM 智能体提出各种复杂问题,让它基于知识库进行研究并给出答案。我原以为需要借助复杂的 RAG 技术,但 LLM 在自动维护索引文件和所有文档的简要摘要方面表现相当出色,在这个“小规模”场景下,它能相当轻松地读取所有重要的相关数据。

输出: 相较于在文本或终端中获取答案,我更倾向于让它为我生成 Markdown 文件、幻灯片(Marp 格式)或 matplotlib 图像,这些我随后都会在 Obsidian 中再次查看。根据查询内容,你还可以设想出许多其他视觉输出格式。通常,我会将这些输出“归档”回知识库中,以增强其内容,便于后续查询。因此,我个人的探索与查询总是在知识库中不断“累积”。

代码检查: 我对wiki进行了一些 LLM“健康检查”,例如查找不一致的数据、填补缺失数据(借助网络搜索)、为新的文章候选寻找有趣的关联等,以逐步清理wiki并提升其整体数据完整性。LLM 在提出进一步需要探讨和调查的问题方面表现得相当出色。

额外工具: 我发现自己正在开发额外的工具来处理数据,比如我凭感觉编写了一个简单的小型wiki搜索引擎,我既会直接使用它(通过网页界面),但更多时候,我更倾向于通过命令行将其交给 LLM,作为处理更复杂查询的工具。

进一步探索: 随着代码库的扩展,很自然地会考虑结合合成数据生成与微调,让 LLM 将数据“内化”到权重中,而非仅依赖上下文窗口。

简而言之:从若干来源收集原始数据,由 LLM 编译成.md 格式的wiki文档,再通过 LLM 调用各类命令行工具进行问答交互并持续优化wiki内容,所有成果皆可在 Obsidian 中浏览。你几乎无需手动编写或编辑wiki——这完全是 LLM 的领域。我认为这里蕴藏着打造卓越新产品的巨大潜力,而非止步于零散的脚本堆砌。

Image

How to Build Your Second Brain @NickSpisak_

@karpathy 发布了一篇帖子,描述了他如何利用人工智能构建个人知识库。

这个想法很简单:与其让笔记散落在各个应用中,不如将所有内容都集中到一个文件夹里。然后,你只需告诉 AI,让它把所有内容整理成一个个人wiki——包括摘要、关联和文章——每次使用都会变得更智能。

无需特殊软件。无需数据库。仅需文件夹和文本文件。

在不到 7 分钟的时间里,你将了解到:

  1. 需要设置的确切文件夹结构(耗时 2 分钟)
  2. 如何通过一个 CLI 工具将网络爬虫自动化集成到您的知识库中
  3. 让整个系统运转起来的单一文件“架构”
  4. 如何让你的 AI 将原始笔记整理成有序的wiki
  5. 每次使用都让它变得更聪明的复合技巧
  6. 在错误堆积如山之前,能及时发现的健康检查

好的,我们开始吧…

1. 创建三个文件夹

打开你的终端或文件资源管理器。在电脑任意位置创建一个项目文件夹。在其中创建三个子文件夹:

my-knowledge-base/
  raw/          (your source material - articles, notes, screenshots)
  wiki/         (where your AI will write the organized version)
  outputs/      (answers, reports, and research your AI generates)

就是这样。这正是@karpathy 采用的相同结构。raw/文件夹如同你的素材杂物抽屉,wiki/文件夹则是 AI 将混乱材料整理成有序知识的地方,而 outputs/文件夹则存放着你所有问题的答案。

无需安装应用。无需创建账户。三个文件夹。

2. 填充原始文件夹

大多数人都在这一步卡壳。他们创建好文件夹后,盯着空荡荡的 raw/目录,不知道该往里面放什么。

答案就是:一切。将文章复制粘贴到.md 或.txt 文件中。将截图或图表保存为图片。从你当前使用的任何应用中导出笔记。粘贴会议记录、研究论文、项目文档。把你囤积了数月的书签一股脑儿倒进去。

别整理。别重命名任何东西。别清理。那是 AI 的工作。

我的 X 内容流水线上存有 17 个原始源文件——包括文章摘录、竞品分析和数据报告。所有内容都无需手动整理。

但卡帕西并未提及真正加速这一过程的部分:自动化收集。

3. 使用代理浏览器自动化收集来源

Vercel Labs 刚刚发布了 agent-browser —— 一款免费 CLI 工具,让你的 AI 代理能够控制真实浏览器。GitHub 星标数已超 26K。仅需两条命令即可安装:

npm install -g agent-browser
agent-browser install

第二条命令会下载一个专用的 Chrome 浏览器。现在你的 AI 可以抓取任何网页,提取文本,并直接保存到你的 raw/文件夹中。

以下是实际应用中的样子:

agent-browser open https://some-article-you-want.com
agent-browser get text "article"

就这样。AI 自动打开页面,抓取文章文本,然后直接存入 raw/文件夹下的文件。无需手动复制粘贴,也无需浏览器扩展插件。

agent-browser处理那些复制粘贴无法触及的页面。那些依赖 JavaScript 动态加载内容的网站。需要登录才能访问的页面。带有交互式图表的研究论文。任何需要滚动、点击“加载更多”或在内容出现前通过菜单导航的内容。

该工具比 Playwright MCP 少用 82%的令牌,这意味着你的 AI 代理在同一会话中可以抓取 5-6 倍的页面。我利用它直接将竞争对手文章、热门帖子和研究文档拉入我的工作流,完全无需亲自打开浏览器。

供您参考,工作流程非常简单:找到您想要的文章,告诉您的 AI“抓取此 URL 并保存到 raw/文件夹”,剩下的就交给代理浏览器处理。您的 raw/文件夹会自动填充。

4. 编写你的schema文件

这是大多数人会跳过的部分。别跳。

在项目根目录下创建一个名为 CLAUDE.md(或 AGENTS.md 或 README.md——文件名不重要,内容才是关键)的文件。这个文件会告诉你的 AI 这个知识库的主题内容以及如何组织这些信息。

这是一个你可以立即复制使用的入门模板:

# Knowledge Base Schema

## What This Is
A personal knowledge base about [YOUR TOPIC].

## How It's Organized
- raw/ contains unprocessed source material. Never modify these files.
- wiki/ contains the organized wiki. AI maintains this entirely.
- outputs/ contains generated reports, answers, and analyses.

## Wiki Rules
- Every topic gets its own .md file in wiki/
- Every wiki file starts with a one-paragraph summary
- Link related topics to each other using [[topic-name]] format
- Maintain an INDEX.md in wiki/ that lists every topic with a one-line description
- When new raw sources are added, update the relevant wiki articles

## My Interests
[List 3-5 things you want this knowledge base to focus on]

@karpathy 确认他在 AGENTS.md 文件中保持其架构“超级简单且扁平”。没有数据库。没有插件。仅是一个告诉 AI 规则的文本文件。

这相当于我在每个项目中使用的 CLAUDE.md 文件。它是针对你特定知识库的 AI 使用手册。

5. 指示你的 AI 编译wiki

打开 Claude Code(或 Cursor,或任何能读取你文件的 AI 编程工具)。将其指向你的项目文件夹并输入:

先阅读 raw/目录下的所有内容。然后按照 CLAUDE.md 中的规则,在 wiki/目录下编译一个维基。首先创建 INDEX.md 文件,然后为每个主要主题创建一个.md 文件。关联相关主题。总结每个来源。

然后退开。让它自行运作。

完成后,你将拥有一个装满整理有序文章的 wiki/文件夹——那些你未曾察觉的联系、你已遗忘的收藏摘要,以及一个能让所有内容在数秒内可检索的索引文件。

关键在于:你不必手动编辑wiki。那是 AI 的工作。你只需阅读、提问,AI 会负责保持内容更新。

6. 提问并保存答案(持续进行中)

当你的wiki拥有 10 篇以上文章时,就可以开始提问了:

“根据 wiki/上的所有内容,我对[主题]的理解中最大的三个空白是什么?”

“比较来源 A 与来源 B 对[概念]的论述。它们在哪些观点上存在分歧?”

“仅基于本知识库内容,为我撰写一份关于[主题]的 500 字简报。”

AI 会通读您的整个wiki,并根据您自己收集的材料给出答案。

将答案保存回知识库。将输出放入 outputs/目录,或让 AI 用新见解更新相关维基文章。每个问题都让下一个答案更完善。这就是循环。

7. 运行健康检查(每月一次)

告诉你的 AI:

全面审查 wiki/目录。标记文章间的任何矛盾之处。找出被提及但未解释的主题。列出 raw/中未注明来源的所有主张。建议三篇填补空白的新文章。

对 Karpathy 帖子最精彩的回复之一来自@HFloyd:“当输出被归档回传时,错误也会叠加。”这话说得太对了。如果 AI 写了些微小的错误内容,而你将其保存下来,那么下一个答案就会建立在这个错误的基础上。

修复方法很简单:定期运行健康检查。

8. 你不需要 Obsidian(但你可以使用它)

Karpathy 帖子下有一半回复都是推荐 Obsidian 插件的。Lex Fridman 正在使用 Obsidian+Cursor 组合。目前已有三家初创公司专门为此开发工具。

但当有人问及他的设置时,卡帕西实际是这样说的:“我尽量保持极简和扁平化,就只是一个嵌套的.md 文件目录。”

一个包含文本文件的文件夹和一个模式文件就是整个产品。

我整个知识系统都在终端通过 Claude Code 运行。你可以用 VS Code,可以用 Obsidian,也可以用记事本。AI 并不在意你在哪个应用里打开文件,重要的是文件夹结构和数据架构。

装了 47 个插件的 Obsidian 简直是 Notion 陷阱的重演。你花在配置工具上的时间比使用知识库还多。在九成情况下,扁平化文件加合理架构的表现都会胜过花哨的工具组合。我在数十个客户配置中反复见证这一现象。

别再寻找完美的工具了。开始动手创造吧。

这就是完整的系统。三个文件夹、一个架构文件、一个浏览器爬虫工具,以及一个维护这一切的人工智能。

4.1 万人收藏了 Karpathy 的帖子。从收藏到受益,只差一个周末的实践距离。

选择你的主题。创建文件夹。放入你已有的内容。剩下的交给 AI 来完成。

参考:

https://x.com/karpathy/status/2039805659525644595

https://x.com/NickSpisak_/status/2040448463540830705