RAGは毎回ゼロから検索する。LLM Wikiは違う。
この記事では、Andrej KarpathyのLLM Wikiパターンを実装したオープンソースデスクトップアプリ「LLM Wiki」を紹介します。ドキュメントを取り込むだけでLLMが自動的にWikiを構築し、知識を蓄積し続ける仕組みです。
この記事でわかること:
- RAGとLLM Wikiの本質的な違い
- デスクトップアプリとして使えるLLM Wikiの主な機能
- インストール方法とはじめ方
- Obsidianとの連携や対応フォーマット
RAGは知識を積み重ねない
ChatGPTのファイルアップロードやNotebookLMのような一般的なRAGシステムは、質問のたびに関連するドキュメントを検索し、その場で回答を生成します。毎回ゼロから再発見する仕組みなので、知識は積み重なりません。5つのドキュメントを横断する洞察を求めても、LLMはそのつど断片を集めて組み立て直すことになります。
Andrej Karpathyはこの問題を別の角度から解いています。LLMがドキュメントを取り込むとき、チャット履歴に残すのではなく、構造化されたMarkdownファイルの集合(Wiki)に恒久的に書き込むという発想です。一度コンパイルされた知識はWikiとして保持され、新しいソースを追加するたびに更新・統合されます。矛盾の検出も、クロスリファレンスの維持も、LLMが担当します。
LLM Wikiとは
https://github.com/nashsu/llm_wiki
LLM Wikiは、KarpathyのパターンをフルスタックのデスクトップアプリとしてOSS実装したプロジェクトです。2026年4月25日にv0.3.13がリリースされており、GitHubスター数は3,600超(2026年4月27日時点)。Tauri v2(Rust)とReact 19で構築されており、macOS・Windows・Linuxに対応しています。
ライセンスはGPL v3.0。事前ビルドのバイナリをGitHubのReleasesからダウンロードすれば、開発環境なしで使いはじめられます。
3層構造でドキュメントをWikiに変える
LLM Wikiのアーキテクチャは3つの層で成立しています。
Raw Sources(不変)はユーザーが追加するソースファイルの置き場です。PDF・DOCX・PPTX・XLSX・Webクリップなど、LLMは読むだけで書き込みません。WikiはLLMが生成・維持するMarkdownファイル群です。エンティティページ、コンセプトページ、要約、クロスリファレンスが含まれ、[[wikilink]]構文で相互にリンクされます。Schema(schema.md)はLLMに対してWikiの構造やルールを伝えるコンフィグファイルです。
この構造はObsidianと互換性があり、WikiディレクトリをそのままObsidianのVaultとして開けます。Obsidianのグラフビューでページ間の接続を視覚的に確認しながら使うことが想定されています。
主な機能
2段階Chain-of-Thoughtインジェストが品質の要です。ドキュメントを追加すると、LLMはまずエンティティ・概念・矛盾を分析し、次に分析結果をもとにWikiページを生成します。1つのソースが10〜15ページに影響するケースも珍しくありません。変更のないファイルはSHA256キャッシュでスキップされるため、差分処理が効率的に動作します。
ナレッジグラフは4つのシグナル(直接リンク・ソース重複・Adamic-Adar・タイプ親和性)で関連度を算出し、sigma.jsで可視化します。Louvainアルゴリズムによるコミュニティ検出が、自動的に知識のクラスターを発見します。ページ間の意外なつながりや知識のギャップも自動で検出する「Graph Insights」機能も搭載されています。
Deep Research機能は、知識のギャップを発見すると、Tavily APIを使ったWeb検索を実行し、結果をWikiに自動インジェストします。どのトピックを調べるかはユーザーが確認・編集できます。
Chromeウェブクリッパー拡張機能はManifest V3対応で、読んだWebページをワンクリックでWikiに取り込めます。Readability.jsで広告やナビゲーションを除去し、TurndownでMarkdownに変換した上で自動インジェストします。
マルチLLMプロバイダー対応はOpenAI・Anthropic・Google・Ollama・カスタムエンドポイントをサポートしています。ベクトル検索はLanceDB(Rust組み込み)を使ったオプション機能として提供されており、有効にするとキーワード検索では届かない意味的な類似ページを見つけられます。
インストールとはじめ方
GitHubのReleasesページからプラットフォームに合ったバイナリをダウンロードします。macOSは.dmg(Apple Silicon / Intel両対応)、Windowsは.msi、Linuxは.debまたは.AppImageです。ソースからビルドする場合はNode.js 20+とRust 1.70+が必要です。
起動後の流れは次のとおりです。新規プロジェクトを作成し(Research・読書・個人成長・ビジネス・汎用のテンプレートを選択)、SettingsでLLMプロバイダーのAPIキーとモデルを設定します。SourcesにドキュメントをインポートするとActivity PanelでLLMの処理状況がリアルタイムで確認でき、Wikiページが自動生成されます。その後はChatで質問し、Graphで知識の構造を確認しながら使い込みます。
RAGとの本質的な違い
RAGとLLM Wikiの差は「検索するか、書いておくか」という一点に集約されます。RAGは質問のたびにドキュメントから関係する断片を集めて回答します。LLM Wikiはドキュメントを追加するたびにWikiを更新し、合成・矛盾検出・クロスリファレンスを済ませた状態で保持します。
質問への回答はWikiを読むだけで済むため、ドキュメントが増えても回答品質が落ちにくいのが特徴です。LLM Wikiのリポジトリには「知識は一度コンパイルして更新し続ける。毎回再発見しない」というKarpathyの言葉がそのまま設計思想として貫かれています。
ドキュメントを継続的に溜め込みながら知識を管理したい場合、LLM Wikiは試す価値のある選択肢です。