LLMが自動構築する個人ナレッジベース「LLM Wiki」
ここ数年、あらゆるプロジェクトの現場で「とりあえず社内ドキュメントをベクトルDBに突っ込んでRAG(検索拡張生成)を作ろう」という掛け声を聞いてきた。確かに、膨大なPDFやマニュアルからピンポイントで答えを引っ張り出す用途において、RAGは強力だ。しかし、しばらく使っていると誰もが同じ違和感に行き着く。「情報にアクセスはできるが、知識が体系化されない」という問題だ。
RAGは本質的に、ユーザーが質問をするたびにゼロから検索を行い、その場しのぎの回答を生成する。知識は常に断片的であり、情報の全体像や、ドキュメント同士の予期せぬ繋がりを俯瞰することはできない。私たちは、AIに「その都度考えさせる」のではなく、もっと永続的で構造化された「知の基盤」を構築させるべきではないのか。
そんな折、AI研究者のAndrej Karpathy氏が提唱したある設計思想が、エンジニアたちの間で静かに注目を集めていた。「LLM Wikiパターン」と呼ばれるそのアプローチを、堅牢なクロスプラットフォームのデスクトップアプリケーションとして昇華させたのが、今回紹介する「LLM Wiki」だ。
その都度探すRAGから、事前に編纂するWikiへ
LLM Wikiの最大の特徴は、LLMの役割を「回答者」から「編纂者」へとシフトさせた点にある。
ユーザーがローカルのドキュメントやWebページ(内蔵のChromeクリッパー経由)を放り込むと、LLMは即座に回答を作るのではなく、内容を分析し、既存の知識と照らし合わせながらマークダウン形式のWikiページを増分的に生成・更新していく。知識は事前にコンパイルされ、相互にリンクされた静的なファイル群として永続化されるのだ。
| 従来のRAG | LLM Wiki | |
|---|---|---|
| 処理タイミング | クエリ実行時(オンデマンド) | インジェスト時(事前構築) |
| 知識の構造 | ベクトルの集合(人間にはブラックボックス) | 相互リンクされたマークダウン(可視化) |
| 人間の介入 | プロンプトの調整のみ | Wikiの直接編集・構造の整理 |
| 計算コスト | 毎回コンテキストを読み込むため高い | 構築時のみ。閲覧やローカル検索は低コスト |
このアプローチの利点は計り知れない。クエリのたびに膨大なトークンを消費してコンテキストを読み込ませる必要がなくなり、情報のトレーサビリティが劇的に向上する。何より、生成されたWikiのディレクトリはそのまま「Obsidian」のVault(保管庫)として読み込むことができる。AIが下書きとリンク構築を行い、人間がObsidian上で思考を整理し、キュレーションする。この「Human curates, LLM maintains(人間がキュレーションし、LLMがメンテナンスする)」という役割分担こそが、本作の真髄である。
単なるジェネレータを超えた「知のグラフ化」
アーキテクチャを覗き込むと、これが単なるスクリプトの延長ではないことがわかる。
ドキュメントをインジェスト(取り込み)する際、LLM Wikiは「2段階のChain-of-Thought(思考の連鎖)」を用いる。まず情報を分析し、次にソースの出処を保ちながらページを生成する。この過程で、直接的なリンク、ソースの重複、Adamic-Adar指標、型の親和性という4つのシグナルに基づく高度なナレッジグラフが裏側で自動構築されている。
さらに興味深いのは、Louvain法を用いたコミュニティ検出アルゴリズムが組み込まれている点だ。これにより、一見バラバラに見える知識の中から自動的に「クラスタ(トピックの塊)」を発見し、情報の空白地帯や意外な繋がりを可視化してくれる。もし知識にギャップがあれば、「Deep Research」機能が自動でマルチクエリのWeb検索を行い、足りない情報を補完してWikiに取り込むことまでやってのける。
思考のOSとしてのLLM
RAGが「外部の賢いアシスタント」へのインターフェースだとすれば、LLM Wikiは自分の脳の拡張、すなわち「思考のOS」を作るためのツールだ。非同期レビューシステムが、判断に迷う情報のフラグ立てを行い、人間に判断を仰いでくる様は、まるで優秀な司書と対話しながら自分だけの図書館を建てているような感覚に陥る。
情報が溢れ、AIがそれを一瞬で要約する時代だからこそ、私たちは「知を編み上げ、手元に残す」ことの価値を再発見しつつある。このリポジトリは、次世代のパーソナル・ナレッジ・マネジメントが向かうべき一つの明確な答えを示している。
参考リポジトリ: nashsu/llm_wiki
Photo by Zulfugar Karimov on Unsplash