Claude Codeを毎日使うようになって気づいた問題がある。セッションをまたぐと記憶がリセットされることだ。前回調べたこと、決めたこと、試してうまくいったこと——全部消える。毎回同じ説明をして、毎回同じ試行錯誤をする。
SE歴20年・現在4つのプロジェクトでClaude Codeを並行稼働させている筆者が、Andrej KarpathyがXに投げた「LLM Wiki」のアイデアを自分のワークフローに落とし込んだ実録です。2026年4月時点でセットアップから1週間運用した結果をまとめます。

「前回どうしたっけ」がなくなっただけで、体感の生産性がかなり変わりました。トークン消費ゼロで知識が勝手に溜まる設計の話です。
なぜClaude Codeに「記憶」を持たせたくなったのか
セッションリセット問題が積み上がるコスト
Claude Codeのセッションは終わると記憶がリセットされる。これは設計上の仕様で、悪いことではない。ただ、毎日使う側にとっては地味に効いてくる。
具体的に困る場面を挙げる。「先週このバグをどう直したか」「このライブラリを選んだ理由」「使ったけど廃止したアプローチは何だったか」。プロジェクトが1つならCLAUDE.mdに書いて済む話だが、筆者は現在4つ動かしている。ゲームのマッチングサービス、pSEOサイト群、コンテンツ自動化、動画自動化。それぞれで独立した知識が積み上がる。
プロジェクト単位のCLAUDE.mdだけでは、横断的な知見——たとえば「Claude Codeのトークン消費を抑える実用的なコツ」「Windowsでよく踏む改行コード問題の対処」——が共有されない。同じ試行錯誤を別プロジェクトで繰り返す。これが時間もトークンも食う。
Karpathyが4月に投げたアイデア
この問題意識のタイミングで、Andrej Karpathyが自身のLLM Wikiワークフローを公開した。2026年4月3日のX投稿だ。
要点はシンプルで、LLMに自分専用のWikiを維持させるという発想。生ソースをフォルダに投げ込む、LLMがMarkdownファイル群を整理する、Wikilinksで相互参照させる、これだけ。Karpathy自身の研究Wikiは1トピックで100記事・約40万語まで育っているという。
この投稿をきっかけに、Nick Spisakが実装版をGitHubで公開し、Claude Code×Obsidianで構築する派生パターンが一気に広がった。筆者が今回組んだ仕組みもこの系譜に乗っている。
自分のワークフローに落とし込む条件
ただし、Karpathyの元案をそのまま真似してもうまくいかない。筆者の運用条件は以下のとおり。
- 4プロジェクトをまたいで同じ知識を参照したい
- トークン消費はできるだけゼロに近づけたい(Claude Max 5xプランでも月末は枯れる)
- セッション終了時に手動で何かする運用は続かない
- Windowsネイティブで動くこと
この条件で設計したのが、次の章で説明する「Obsidianに集約・インターフェースはユーザーグローバル・重い処理はサブエージェント」という構造です。
Karpathy式Second Brainの核心思想
“super simple and flat”という原則
Karpathyが強調しているのは、凝った階層構造・タグ・メタデータは不要という点だ。1トピック1ファイル、kebab-caseのファイル名、末尾に関連リンク。これだけ。
これはObsidianユーザーが陥りがちな「整理しすぎて使えなくなる」罠の逆を行く設計思想だと感じる。知識は整理するためじゃなく取り出すために存在する、という考え方。
LLMが書き手、人間が読み手という役割分担
もう1つの重要な転換点は、Wikiを書くのも維持するのもLLM、人間は主に読み手という役割分担だ。従来のZettelkastenやObsidian運用は「人間がメモを書く・LLMが質問に答える」だったが、Karpathyの構想はこれを反転させる。
人間がやることは3つだけ。
- 生ソースを
raw/に放り込む - 必要なときに
wiki/に問いを投げる - 月に1回くらいヘルスチェックの結果を眺める
書く作業・リンクを張る作業・矛盾を見つける作業は全部LLMが担う。これが「自分の知識が勝手に育つ」感覚の正体で、継続運用の閾値を下げる最大の要因だった。
設計の要所|トークン効率を最優先にした
MCPサーバーを使わなかった理由
普通に実装するとMCPサーバーを立てたくなる。Obsidian用のMCPサーバーもすでに複数公開されている。ただ、筆者は今回あえて使わない選択をした。
理由はトークン効率。MCPは常時スキーマをロードする性質上、たとえ使っていない時間もコンテキストを占有する。普段のコーディングセッションで「今は使わないけど一応接続してある」状態がずっと続くのは、トークン単価の観点で悪手だと判断した。
ナレッジベース1箇所集約+インターフェースはユーザーグローバル
代わりに採用したのが次の方針だ。
- ナレッジベース本体は1箇所(
C:worksecond-brain)に集約する - Claude Codeへのインターフェース(スラッシュコマンド・サブエージェント)は
~/.claude/に置き、全プロジェクトから参照する - 重い処理はサブエージェントに委譲し、メインコンテキストの肥大化を防ぐ
プロジェクトごとに分散vaultを持たせる案もあったが、却下した。知識が断片化するうえ、同じ内容を複数vaultが重複保持する状況になる。1箇所集約のほうが運用コストも低い。
セッション終了時のLLM呼び出しをゼロにした
設計で一番こだわったのがここ。セッション終了時にLLMを呼ばないこと。
筆者の使い方は1日6セッションくらいを長く使い込むスタイルで、頻繁にセッションを切るわけではない。それでも原則としてセッションEndのたびにLLM呼び出しを挟むのは避けたかった。呼び出し回数が積もれば、Claude Max 5xの制限にじわじわ効いてくる。
採用したのは、トランスクリプトファイルをシェルコマンドでコピーするだけのアプローチ。LLMは呼ばない。深夜に1回だけ、溜まったtranscriptをまとめて結晶化する。こうするとLLM呼び出しを日次1回に圧縮できる。
フォルダ構造と運用パターン
Vaultのレイアウト
実際に組んだ構造は以下のとおり。
C:worksecond-brain
├── CLAUDE.md ← Vault作業時のみロードされるスキーマ定義
├── raw/ ← 生素材。読み取り専用で扱う
│ └── sessions/ ← transcriptが自動投入される
├── wiki/ ← AIが結晶化した知識
│ ├── INDEX.md ← 全トピック目次(自動再生成)
│ └── qa/ ← 質疑応答の蓄積
└── outputs/ ← ヘルスレポート等の成果物
ポイントは、raw/とwiki/を明確に分けていること。raw/は生データ置き場で、人間もLLMも直接編集しない。wiki/はLLMが整理した成果物で、人間は基本的に読むだけ。この分離があると、データの信頼性と整形のしやすさが両立する。
スラッシュコマンドの役割分担
Claude Codeのユーザーグローバル設定(~/.claude/commands/)に、4つのスラッシュコマンドを配置した。
- 取込/sb-capture [url]
指定URLや素材をraw/に取り込む。整形はしない、素材として置くだけ。
- 結晶化/sb-compile
raw/を走査し、wiki/へトピック単位のMarkdownに整理する。
- 問合/sb-ask [質問]
wiki/を横断検索し、要約を返す。質疑ログはwiki/qa/に残る。
- 点検/sb-health
矛盾・抜け漏れを検査し、outputs/にレポートを出す。
この4コマンドに対応するサブエージェント(wiki-compiler、wiki-asker、wiki-health)も同じくユーザーグローバル配置。プロジェクトを切り替えても、どこからでも同じコマンドが使える。
アンビエント蓄積——何もしなくても溜まる仕組み
この設計で一番の肝が、日常作業中は何もしないという運用になっていること。
Claude CodeのSessionEnd hookにtranscriptコピーを1行仕込んでおくと、セッションが終わるたびに自動でraw/sessions/にファイルが積まれる。筆者の環境ではWindowsなので、PowerShellのCopy-Itemを噛ませる構成にした。
LLMは呼ばない、ただのファイルコピー。つまりこのステップのトークン消費はゼロ。SessionEnd hookの仕様はClaude Code公式Hooksガイドにまとまっている。
その後、深夜03:00にClaude Codeのスケジュール機能で/sb-compileを自動実行する。前日までのtranscriptが翌朝にはwiki/に結晶化されている、という運用だ。
運用1週間で見えたメリットと注意点
実際に変わったこと
セットアップから1週間運用してみて、一番変わったのは「前回どうしたっけ」という問いかけがほぼ消えたことだった。/sb-askで聞けば過去の自分の判断が返ってくる。しかも4プロジェクトのどこから作業していても、同じナレッジベースを参照できる。
具体例を挙げると、pSEOサイト群の作業中に「Batch APIで大量生成したときにハマった制限」を聞くと、数日前にマッチングサービスの作業中に記録したメモがちゃんと引き当たる。プロジェクトをまたぐ知識が活きる瞬間だ。
注意点|初週は結晶化の粒度がブレる
導入直後の1週目はwiki/の粒度がかなりブレた。1トピックが短すぎたり、逆に詰め込みすぎていたり。これはLLMに渡すCLAUDE.md(Vault用スキーマ)の調整で改善する領域で、3〜4日目から安定してきた印象がある。
筆者環境(Windows 11 + Claude Code v2.1系 + Claude Max 5xプラン)での確認値だが、スキーマを微調整するたびに再実行する運用で、4日目以降は手放しでもそれなりの品質になった。
注意点|raw/のサイズ管理
transcriptは1セッションあたり数百KB〜100MB級まで幅広い。pSEOやYouTube台本生成のような長時間・大量データ系セッションは1ファイルが100MB超になることもある。実際、運用1週間で17件・計1.1GB蓄積した(平均65MB/件、最大126MB)。
対策は2つ。古いraw/ファイルを圧縮アーカイブに回すか、結晶化済みのものは削除するか。wiki/の結晶が残っていればraw/自体は捨てても問題ないという設計思想なので、ここは思い切って削る想定で組んでいる。
よくある質問
- QObsidianの有料プラン(Sync・Publish)は必要ですか?
- A
ローカル運用なら不要です。Obsidian本体は無料で使えます。筆者もローカルのみで運用しており、バックアップはGitで別管理しています。複数端末で同期したい場合のみSyncを検討する流れで十分です。
- QClaude Pro(月20ドル)でも運用できますか?
- A
ナレッジベースの日常蓄積部分はトークンをほぼ使わないので、Proでも動きます。ただ、
/sb-compileを毎日自動実行する部分と複数プロジェクトを並行で回す使い方は、Maxプランのほうが安心です。筆者は2026年3月にProからMax 5xに移行しました。詳しくはClaude Max移行の実体験レポートにまとめています。
- QMCPサーバー経由のObsidian連携と比べてどちらが良いですか?
- A
用途次第です。リアルタイムで双方向にやりとりしたい場合はMCPのほうが便利ですが、トークン消費を抑えたい・手動運用を増やしたくない場合は今回紹介した「ファイルコピー+定期結晶化」のほうが向きます。筆者は後者を選びました。
- QWindows以外でも同じ構成で動きますか?
- A
設計思想はそのまま使えます。hookのコマンドだけOSに合わせて書き換える必要があり、macOS・Linuxならbashのcpコマンドでほぼ同等の処理が書けます。PowerShell依存はWindows環境の都合です。
- Qチームで共有する使い方は可能ですか?
- A
Karpathyのgistでも「チーム用のLLM維持内部Wiki」というユースケースが言及されています。会議録・Slackスレッド・ドキュメントを
raw/に流し込む構成で実現できます。ただしアクセス権管理・機密情報の扱いはローカル運用より複雑になるので、個人運用で慣れてから広げることをおすすめします。
まとめ|自分の知識を「勝手に育つ脳」に変える
Claude Codeに外部記憶を持たせるだけで、4プロジェクトをまたいだ作業の摩擦がかなり減った。要点を3つに整理する。
- セッションリセット問題は設計で解く。hookとスケジュール機能で「何もしない運用」が成立する
- ナレッジベースは1箇所集約、インターフェースはユーザーグローバルに置くと、プロジェクト横断で効く
- LLM呼び出しを挟むのは結晶化と質問応答のタイミングだけ。日常運用のトークン消費はゼロにできる
コピペで動く全実装が欲しい人向け
本記事は設計思想と運用1週間の実体験までで止めている。「自分の環境にコピペで再現したい」「PowerShell hook・スラッシュコマンド・サブエージェントの全コードが欲しい」場合は、以下のnoteに全実装をまとめている。
📘 Claude Codeに記憶を持たせる|Obsidian Second Brain実装ガイド全文版(¥980)
本ブログ記事を読了した人向けの「コピペで動く全実装版」。3週間運用した実測値とハマりポイントを含む。
- PowerShell hook・スラッシュコマンド4つ・サブエージェント3つ・Task Scheduler 設定の全コード(約350行)
- 3週間運用で踏んだハマりポイント8件と回避策(vault内ループ・stdin警告 exit 1 問題ほか)
- 公開前チェックリスト8項目で「動かない」を排除
- 運用実測値: transcript 28本自動投入 / wiki 14トピック自動蓄積 / 日常トークン消費 0
- セットアップ目安: 約2時間(コピペ前提)
併せて、Claude Code自体の使いこなしを底上げしたい場合は/powerupの18レッスンを網羅した入門記事が参考になる。

Obsidianは以前から使っていましたが、LLMを「書き手」に据える発想は新鮮でした。1ヶ月後にwiki/がどう育っているか、またレポートします。


