我的Obsidian最开始是传统派:全部手写。后来有cli工具了,我用Claude Code重构过一次Obsidian,搞完之后还是维护不动,几周就废弃了。后来发现,不对啊,让人来维护本身就是不合理的,AI应该持续维护结构,人只负责扔原料和提问。
这套体系的灵感来源是 Karpathy 的 LLM Wiki[1]和知乎里一篇讲苏格拉底式学习法的文章[2],然后我把它们缝合到一起了。
1. 准备工作
首先你得有一个Obsidian,然后有一个Claude Code(或者其他可以帮你使用终端的agent)。
然后你在终端用命令行,或者进Obsidian中手动创建以下目录
research-wiki ├── claude.md ├── raw │ ├── assets │ ├── books │ ├── clips │ ├── courses │ └── papers └── wiki ├── concepts ├── connections ├── questions ├── index.md ├── learner_profile.md ├── log.md ├── papers ├── progress.md ├── revision_notes.md └── system.md这里面raw文件夹是使用者手动维护的,具体的步骤只有加东西进去。网站可以用浏览器的 Markdown 插件转成.md文件,要学的书,课程ppt,论文直接放pdf进去就可以。assets文件夹下本地存放一些图:网站上的存下来的图,课程讲义里的图之类的。
wiki文件夹是这个体系的核心,它包含了两个部分:第一个部分是LLM-Wiki 的区域
wiki ├── concepts ├── connections ├── questions ├── papers ├── index.md └── log.md书籍PDF及配套代码可点赞文章后添加小助手获取
简单介绍一下:
papers/:一篇论文一个页面。记录核心贡献、方法、结果、局限。是原始知识的粗处理,每个页面对应raw/里的一个源文件。
concepts/:一个概念一个页面。多篇论文可能都贡献到同一个concept页面。这是wiki里最有价值的层,因为它把分散在不同论文里的同一个idea聚合到一起。
connections/:跨概念的桥梁。这些页面记录的不是单个概念,而是"A和B之间的关系"。这是idea产生的地方。
questions/:你还回答不了的开放问题,你觉得有联系但还没想清楚。这些页面是你未来研究方向的种子。随着wiki长大,有些question会被resolved(变成connection),有些会被refined(拆成更具体的子问题)。
四层的关系是:papers喂进来 → 长出concepts → concepts之间碰撞出connections → 还想不清楚的变成questions → questions驱动你去找新的papers喂进来。这是一个循环。
然后index.md和log.md的作用就和它们看起来一样。index 记录你目前所有的文件和简要介绍,log 记录你每次增加的内容。
第二个部分是用苏格拉底式问答法学习concepts文件夹下的概念的部分(或者其他你想学的东西)
wiki ├── progress.md ├── learner_profile.md ├── revision_notes.md └── system.md这些文件的作用也和看上去差不多。progress记录你的进度,learner_profile记录你的偏好,不会被AI更改。revision_notes记录你概念可能有漏洞的地方,总结出需要复习的知识点。system是对于这个系统的初始化,记录这套系统如何运转的。
书籍PDF及配套代码可点赞文章后添加小助手获取
2. 具体文件设置
先看最重要的,research-wiki/claude.md
这个你可以直接去抄Karpathy本人给出的prompt,github上也有其他人给了他们的prompt,或者直接抄我的:
https://github.com/Erber102/personal-llm-wiki/blob/main/claude.mdgithub.com/Erber102/personal-llm-wiki/blob/main/claude.md
你需要改的地方:比如名称,加入你一直在想的driving question,style notes等。
下面看苏格拉底法部分的设置。
https://github.com/Erber102/personal-llm-wiki/blob/main/system.mdgithub.com/Erber102/personal-llm-wiki/blob/main/system.md
然后是learner profile,这个就太个性化了,我只提供一个模版(leraning style似乎还挺通用的,不过也可以根据自己的需求改)。
https://github.com/Erber102/personal-llm-wiki/blob/main/learner_profile.mdgithub.com/Erber102/personal-llm-wiki/blob/main/learner_profile.md
index, log, process, revision_notes这些文件都是在使用过程中由LLM生成的,所以不用人去写。不过你也可以给LLM一个模版。
书籍PDF及配套代码可点赞文章后添加小助手获取
3. 使用效果展示
才开始使用3天的网格图
第一次ingest的log
苏格拉底法的进度记录
自动生成的index
4. 使用指南
进入research-wiki目录下后启动Claude Code,然后直接说:
帮我ingest raw/papers 下的所有论文,读完一篇之后先跟我讨论核心要点,然后再编译进wiki
这样的好处在于你可以控制哪些东西进入wiki中,比如你不关心论文中的工程技巧,你就在Claude Code询问的时候人为把那些东西筛掉。
然后你翻看concepts如果遇到不懂的,可以直接让它
使用苏格拉底法给我讲讲某个概念
然后Claude Code就会开始以对话问答的形式教你。
对于苏格拉底法更多的细节可以去看吴乐旻老师的原文。
书籍PDF及配套代码可点赞文章后添加小助手获取