LLM Wiki — AIに「本物の長期記憶」を持たせるパターン

LLM Wiki — AIに「本物の長期記憶」を持たせるパターン

ChatGPTでも Claude でも、しばらく使っていると同じ壁にぶつかる。

会話を閉じると、AIはこちらのことをきれいに忘れる。翌日「昨日話したあの件だけど」と続きから話そうとしても、また最初から自己紹介するはめになる。ChatGPT の memory 機能や Claude の projects で多少ましになっても、根本は変わらない — AIには本当の長期記憶がない

この問題に対して、Andrej Karpathy が興味深い提案をしている。「LLM Wiki」というパターンだ。

memory.md では足りない

現在のAI界隈で「長期記憶」と呼ばれているものは、だいたい 2 種類ある。

どちらもそれなりに動くが、決定的な弱点がある。構造がないのだ。

memory 断片は互いに繋がっていない。「Python」と「東京」の間に何の関係もない。500 個溜まった頃には、AI 自身も何が何を指しているのか分からなくなる。要約ログは検索できるが、検索できる粒度は「会話単位」で、粒度が粗い。関連する概念を横に辿ることができない。

つまり、既存の「AI 記憶」はメモの山であって、知識にはなっていない。

Karpathy の提案

Karpathy の提案はシンプルだ。AI 自身にWikiを書かせろ

具体的にはこうだ。

技術的にはこれだけ。特別なベクトル DB もエンベディング検索もいらない。LLM が本来持っている read / write / glob / grep のツールだけで動く。

だが、この単純な仕組みが、既存の memory 機能とは根本的に違う性質を生む。

なぜ Wiki なのか

Wiki の面白いところは、「ページ」という単位で情報を切り分けることを強制する点にある。

memory.md 方式だと、情報は 1 つの長いリストに flat に並ぶ。どこに書けばいいか、いつ書けばいいか、いつ書き換えればいいかの基準がない。結果、追記だけが増え、古い情報と新しい情報が混ざり、最終的に破綻する。

一方 Wiki は、ページというコンテナがある。エンティティ(人、プロジェクト、概念、場所)ごとにページを作る。あるトピックについて新しい情報が来たら、そのページを更新する。関連する別のエンティティが出てきたら、リンクを張る。

これは AI にとっても書きやすい。「今の話は『GraphAI プロジェクト』のページに書き足そう」「これは新しいトピックだから『MulmoCast』ページを作ろう」といった判断を、人間の Wiki 編集者と同じ思考で行える。

そして読む側にとっては、関連情報を横に辿れる。「Karpathy って誰?」から「LLM Wiki 概念」に飛べる。「MulmoClaude って何?」から「Claude Code」「Anthropic」に飛べる。knowledge graph が自然に育つ。

実装のかたち

具体的な構造としては、以下のような形になる。

workspace/wiki/
  index.md          ← 全ページの目次
  log.md            ← 活動ログ(追記式)
  pages/<slug>.md   ← エンティティごとのページ
  sources/<slug>.md ← 取り込んだ生ソース(記事、URL、メモ)

pages/ にはエンティティごとのページが並ぶ。sources/ には元ネタ(クロールした Web ページ、貼り付けたテキスト、コピーしたメモ)を生のまま残す。ページから sources に相互リンクを張る。

index.md は全ページのカタログ。AI が最初にここを読んで、既存ページの有無を判断する。log.md は活動履歴。何を作ったか、何を更新したかを追記していく。

この構造なら、AI が「あるトピックについて調べる」ときのフローが明確になる。

  1. index.md を読んで、関連ページの有無を確認
  2. あれば pages/<slug>.md を読む
  3. なければ新規作成
  4. sources/ から一次情報を辿る
  5. 変更があれば log.md に追記

すべて grep と read / write で完結する。特別な検索エンジンも、DB のスキーマ設計もいらない。

MulmoClaude の実装

このパターンを実装した具体例が MulmoClaude だ。

MulmoClaude は Claude Code のマルチモーダル・クライアントで、その中核機能の 1 つが内蔵の Wiki だ。まさに Karpathy 案そのものを実装している。

使い方はシンプルだ。

ファイルはすべてワークスペース下のプレーンなマークダウンとして保存される。GitHub にコミットしてもいい。他のエディタで開いてもいい。バックアップも普通のファイル操作でできる。

つまり、Wiki が「AI 専用のブラックボックス」ではなく、人間も対等に読み書きできる形式で存在する。これが memory.md や ChatGPT の memory と根本的に違うところだ。

使えば使うほど育つ

Wiki 方式の一番おもしろい性質は、使うほど価値が上がることだ。

普通の AI アシスタントは、毎回リセットされるので、使い込んでも「良くなる」感覚がない。1 回目と 100 回目で得られる回答の質はほとんど同じ。

Wiki が育っていくと、この関係が変わる。AI に何か聞くと、AI はまず自分の Wiki を参照する。そこには過去にあなたが取り込んだ記事、あなたが書いた考え、あなたのプロジェクトの状態が既に整理された形で存在する。

だから返ってくる答えが、あなたの文脈に沿ったものになる。「一般論としてはこうです」ではなく、「あなたのプロジェクトの制約を考えるとこうです」と言える。1 回目より 100 回目のほうが、明確に賢くなる。

これは、AI アシスタントの体験を「セッション単位で使い捨てるツール」から「時間をかけて育てるパートナー」に変える転換だ。

なぜみんな作らないのか

技術的にはこんなに単純なパターンなのに、なぜ主要な AI サービスはこれをデフォルトで実装していないのか。

答えは経済的な理由だと思う。

つまり、ローカル Wiki 方式はユーザーにとってはベストだが、プラットフォームにとってはメリットが薄い。だからオープンソースのプロジェクト(MulmoClaude のような)でしか実装されない。

まとめ

LLM Wiki パターンの要点は次の通り。

この考え方が広まれば、AI アシスタントとの関わり方は変わる。使い捨てのチャット窓口から、育てるナレッジベースへ。データは自分の手元にあり、AI はその上で動く。

具体的に触ってみたい人は、MulmoClaude を試してみるといい。npx mulmoclaude の 1 行で起動でき、Wiki 機能もすぐ使える。実装ガイドは MulmoClaude 完全ガイド にまとまっている。

Wiki が育ちはじめると、AI が急に「自分のことを分かってきた」感覚が来る。その瞬間、Karpathy がなぜこのパターンを推しているのかがよく分かる。

この記事をシェア

関連記事

記事一覧に戻る