Obsidian × Claude Code で Karpathy の LLM Wiki を作って、やめた理由: 一次ソースをそのまま読ませる方がよかった
Obsidian の vault を Claude Code に管理させる「LLM Wiki」を作って使いました。フォルダ構成と 6 つのスキルを公開します。ただ、毎日 20 分の取り込みに見合う答えが返らず、wiki を作るのをやめて一次ソースを直接読ませる形に落ち着きました。
「Obsidian と Claude Code を連携したい」「Karpathy の LLM Wiki を作ってみたい」と調べている人向けに、先に結論を置きます。
私は Obsidian の vault を Claude Code に管理させる「LLM Wiki」を作り、しばらく毎日使ったうえで、wiki を作るのをやめました。 素材を 1 本取り込む (ingest) たびに 20 分ほどかかるようになり、それを毎日続けていました。一方で、wiki に質問する (query) のは 2〜3 日に 1 回です。しかも LLM がまとめた wiki のページは、自分で読んでもよく分かりませんでした。
今は、自分で書いたメモや打ち合わせの要約 (一次ソース) を、query がそのまま読みにいく形にしています。これから作るなら、wiki は作らずに、一次ソースと「質問に答えるスキル」だけで始めるのがおすすめです。
以下、作った構成をそのまま見せたうえで、やめた理由を書きます。
LLM Wiki とは
Andrej Karpathy が提唱した、LLM に個人の wiki を編集させる使い方です。人は素材 (記事のクリップ、メモ、議事録) を集めて方向を決めるだけで、要約、概念ページの作成、ページ同士のリンク、矛盾の指摘は LLM が受け持ちます。人が読み書きするノートではなく、LLM が維持する知識ベースという考え方です。
Obsidian は Markdown のファイルをフォルダに置くだけのノートアプリなので、Claude Code がそのまま読み書きできます。MCP やプラグインを入れなくても、vault のフォルダで Claude Code を起動すれば連携は済みます。
この記事で使う環境
- Mac に Obsidian と Claude Code (Claude Pro)
- 構成 (スキルと
CLAUDE.md) と、中身の vault は、別々の git リポジトリで管理 - 使い方: 自分のアイデアのメモ、打ち合わせの要約、ウェブ記事のクリップ、note に書いた自分の記事。仕事でも使ってみている
作った構成
vault は 3 つの層に分けました。
vault/
├── 00_pools/ 未整理の着想
│ ├── memos/ 自分のアイデアのメモ (LLM は読み書きしない)
│ └── sessions/ LLM との会話の記録
├── 10_raws/ 生ソース (LLM は読むだけ)
│ ├── clips/ ウェブ記事のクリップ
│ ├── notes/ 自分の記事、手で書いた一次情報
│ ├── meetings/ 会話の記録から作った議事録
│ └── assets/ 画像など
└── 20_wiki/ LLM が維持する wiki
├── sources/ 素材 1 本ごとの要約
├── entities/ 人・製品などのページ
├── concepts/ 考え方のページ
├── index.md 全ページの索引
└── log.md 作業の記録
10_raws の素材には、frontmatter に status を付けます。自分で書いている間は draft、取り込んでよくなったら stable に変え、LLM が取り込み終えると ingested にします。取り込まないと決めたものは archived です。
スキルは 6 つ作りました。
| スキル | やること |
|---|---|
session |
今の会話を要約して 00_pools/sessions/ に残す |
meeting |
会話の記録を議事録にして 10_raws/meetings/ に置く |
note |
note.com の自分の記事を取ってきて 10_raws/notes/ に置く |
ingest |
stable の素材を 1 本読み、要約ページと関連する概念ページを作って、索引とログを更新する |
query |
wiki の索引から関連ページを探し、出典つきで質問に答える |
lint |
wiki 全体の矛盾、古い記述、孤立したページを洗い出して直す |
CLAUDE.md には「あなたは汎用のチャットボットではなく、この wiki の編集者として振る舞う」と書き、人と LLM の役割分担、フォルダごとの読み書きの決まり、ページ名の付け方などを細かく決めました。
使ってみて: ingest が重くなっていった
素材を stable にして /ingest を実行すると、要約ページができ、関連する人や考え方のページが増え、リンクが張られていきます。
ただ、wiki が育つほど ingest が重くなりました。1 本の素材が、既存の 10〜15 ページの更新に波及することがあります。新しい素材の内容が既存のページと食い違っていないかを確かめ、索引とログも書き直すからです。1 回の ingest に 20 分ほどかかるようになりました。
それを 1 日 1 回、毎日回していました。一方で、wiki に質問するのは 2〜3 日に 1 回です。質問 1 回のために、毎日 20〜30 分の取り込みを回していることに気づいて、ばかばかしくなってやめました。
LLM が作った wiki は、読んでも分からない
もう 1 つの理由は、wiki のページの中身です。LLM がまとめた概念ページや要約ページは、自分で開いて読んでも、よく分からないまとめになりがちでした。
一方で、役に立ったのは query でした。聞きたいことを聞くと、出典つきで答えが返ってきます。つまり、私が使っていたのは「wiki」ではなく「質問すると答えてくれること」だけでした。
Obsidian の画面を開くのは、自分で一次ソースを書くときだけです。LLM が作った wiki のページは、結局見なくなりました。
今の形: 一次ソースをそのまま読ませる
そこで、wiki を作るのをやめました。今は query の参照先を、wiki (20_wiki) ではなく生ソース (10_raws) にしています。自分のアイデアのメモや打ち合わせの要約を、質問のたびに LLM がそのまま読みにいきます。
取り込みの時間はゼロになり、答えの出典は自分で書いた文章そのものです。
一次ソースが何千本にもなれば、毎回全部を読ませるのは難しくなるはずです。そのときは、索引だけを LLM に作らせるといった中間の形が考えられます。
これから作る人へ
自分のために使うなら、次の順で始めるのがよいと思います。
- Obsidian の vault に、自分の言葉で一次ソースを書きためる (メモ、議事録、調べたこと)
- その vault を読んで出典つきで答える
queryのようなスキルを 1 つ作る - 読ませる量が増えて遅くなったら、そのとき初めて索引や要約を LLM に作らせる
wiki は「LLM が読みやすい形」に作り直すものです。読ませる LLM が一次ソースを十分速く読めるなら、作り直す手間に見合いません。
Claude Code に長く覚えさせたいことの書き方は、CLAUDE.md と memory の書き方 と Claude Code のスキル に書いています。常駐させて手順を育てていく例は、iris の記事 です。iris のスキルは 20〜35 行の失敗の記録で、wiki のまとめと違って人が読んでも分かります。
つまずいた点
- ingest が育つほど遅くなる。1 本の素材が 10〜15 ページに波及し、1 回 20 分ほどになった
- 質問の頻度と取り込みの頻度が合わない。質問は 2〜3 日に 1 回なのに、取り込みは毎日だった
- LLM のまとめは、人が読んでも分からない。wiki のページは結局見なくなった
- 役に立っていたのは query だけ。参照先を一次ソースに変えても困らなかった
まとめ
- Obsidian の vault は Markdown のフォルダなので、MCP なしで Claude Code から読み書きできる
- Karpathy の LLM Wiki を、3 層のフォルダと 6 つのスキルで作った
- ingest が 1 回 20 分になり、質問 2〜3 日に 1 回のために毎日回すのをやめた
- LLM が作った wiki は読んでも分からず、役に立っていたのは出典つきで答える query だけだった
- 今は query に一次ソースをそのまま読ませている。これから作るなら、wiki は作らずに一次ソースと query から始める