頭をスッキリ、どうも、かわしんです。
Andrej Karpathy の LLM Knowledge Bases がちょうど欲しかったので作ってみました。
LLM Knowledge Bases
— Andrej Karpathy (@karpathy) 2026年4月2日
Something I'm finding very useful recently: using LLMs to build personal knowledge bases for various topics of research interest. In this way, a large fraction of my recent token throughput is going less into manipulating code, and more into manipulating…
自分は普段から頭の中でアイディアが湧いてくるタイプなのですが、それをいい感じにまとめて書き留めておく秘書アプリのような仕組みが欲しいなと 3 週間前から思っていて、ちょうど以下の Youtube 動画で紹介されていたので自分で作ってみました。
Claude Codeで知識を整理する!調べごとや勉強をする際に使えるナレッジ構築の仕組みについて解説してみた
欲しかった機能
- 文書の整理などを AI に自動で行わせる。自分は AI とのチャット経由で情報を追加したり情報を取得したりする
- Macbook Pro でメインで使うが、出先や散歩中などいつでも使えるように iPhone でも使えるようにして自動で同期させるようにする
- 基本的に自前のサーバーなどの運用コストはなくす
Karpathy の llm-wiki
Karpathy 自身が作り方や構成を gist で公開しているので、このマークダウンの中身を丸々コピーして Claude Code に貼り付けて指示すると簡単に作ってくれます。
重要なアイディアとしては、
raw/ディレクトリに情報源となる pdf やブログ記事のコピーをダウンロードして置いて、/ingestスキルを実行するとその内容がwiki/ディレクトリ以下に構造化されて反映されるraw/ディレクトリは基本的に immutable で、それを元にwiki/ディレクトリがコンパイルされるイメージ
wiki/ディレクトリ内の構成は明確には指定されていないが、concepts/やentities/、sources/ページに分けてそれぞれをリンクさせて構築している- 例えば、上記の gist ページとツイートを取り込むと、以下のように取り込まれるイメージです。
└── wiki
├── concepts
│ ├── llm-wiki.md
│ ├── memex.md
│ └── rag.md
├── entities
│ ├── andrej-karpathy.md
│ └── obsidian.md
├── index.md
├── log.md
└── sources
├── llm-wiki-gist.md
└── llm-wiki-thread.md
/queryスキルによってこの wiki 内の情報から知りたい情報を抽出できる/lintスキルによって文書同士のリンクや記述内容の矛盾がないかを走査して修正する。定期的に実行するとよい
設計
リポジトリは git で管理して github のリポジトリに同期させパソコンでもスマホでも Obsidian と Claude Code を使うことで同じ体験を実現しました。

ドキュメントの閲覧には Obsidian を使います。Mac でも iOS でもアプリがありますし、Obsidian Web Clipper という拡張機能/アプリ がブラウザ上で開いた記事を自動でマークダウンに変換してリポジトリの raw/ に取り込んでくれるので便利です。
iOS の Obsidian アプリはコミュニティ拡張で Git のサポートがあり、Github のリポジトリと連携できます。アプリを起動してから定期的に git pull してもらうようにしてスマホからもドキュメントを確認できるようにしました。また、Web Clipper で取り込んだ記事はコマンドパレットから Git: Commit-and-sync コマンドを実行すると自動で main ブランチにプッシュしてくれます。コンフリクトが怖いので基本的には既存ファイルの編集はスマホからは行わず、Web Clipper での新規ファイル作成だけを行います。どうせ、ファイルの編集は Claude アプリが行うので。
AI は Claude Code を使います。パソコン上では CLI のインタラクティブモードで使ってスキルを実行させます。常に github と同期するようにあらゆる操作の前に git pull をしてファイル操作が終わったら commit して push するように CLAUDE.md に指定しています。
iPhone 上では Claude のアプリでクラウドで実行する機能があるのでそこで使います。クラウドインスタンスは動的にアプリから作成してくれて、github から直接リポジトリを取得してくれます。クラウドインスタンス上でも / から補完は効きませんが、スキル自体は使えるのでスキルをベタ打ちして実行しています。編集結果は Claude アプリから Github に PR を作ってくれるのでノールックでマージしています。
Karpathy の llm-wiki から少し変えた点としては、まず Web Clipper などで取り込んだデータは raw/ ディレクトリ直下に置いて、/ingest が終わったら日付のディレクトリに git mv で移動させるようにしました。これにより ingest が終わっていない記事がどれかがわかるようになったので、ファイルを指定することなく /ingest とコマンドを打つだけで処理が実行できます。
├── raw │ └── 2026 │ └── 04 │ └── 13 │ ├── llm-wiki.md │ └── Thread by @karpathy.md
raw/ ディレクトリには論文などが pdf ファイルで置くことがあります。pdf ファイルは 3MB を超えると Claude Code では直接読み取りができないらしいので Markdown に変換する必要があります。converting-pdf というスキルを作って uv run markitdown <pdf file> を実行して .tmp/ ディレクトリに一時的にマークダウンファイルを出力させて /ingest させるという手法をとっています。
採用しなかった案
データの置き場所として iCloud も検討したのですが、iOS の Claude アプリからアクセスできないので諦めました。iCloud を無理やり使おうとすれば Claude Code の Remote Control 機能を使ってスマホから編集することも可能ですが、常にパソコンを起動し続けておくことはできないのでやめました。
作り方
作り方は上の Youtube で紹介されているので観てみてください。gist の中身をコピーして Claude Code に貼り付けるだけです。
感想
この Github リポジトリの名前を knowledge として作ろうとしたらすでに 7 年前に作っていたので名前を変更しました。まさに今やろうとしていたことを試して1ヶ月くらいで飽きていたみたいです。
今、自分の記事や色々な重要そうな記事を取り込ませていますが、ものすごい勢いでトークンを消費しています。Max の 100 ドルプランですが足りなさそうです。
記事は個人的には厳選したものだけを取り込むのがいいと思っています。Garbage in Garbage out というので。取り込むトピックとしては多岐に渡りそうですが、トピックごとにリポジトリを分ける必要があるのかどうかは今後の精度次第です。とりあえず回答が面白くなるにはそこそこの自分のアイディアだったり知識だったりを取り込ませる必要があると思うのでもう少し時間がかかるとは思いますが、試していきます。







