世界を動かす技術を、日本語で。

LLM Wiki – 「アイデアファイル」の例

概要

  • LLMを活用した パーソナルナレッジベース構築パターン の紹介
  • 従来のRAG型検索ではなく、 永続的なWiki形式 で知識を蓄積・統合
  • LLMがWikiを自動生成・保守し、ユーザーは探索・指示に集中
  • 3層構造(生データ、Wiki、スキーマ)と 運用フロー の提案
  • 柔軟性が高く、個人・研究・ビジネスなど多様な応用が可能

LLMを用いたパーソナルナレッジベース構築パターン

  • 従来の知識検索(RAG)

    • ファイル群をアップロードし、クエリごとに該当部分を抽出・回答生成
    • 質問ごとに毎回ゼロから知識を再構築するため、 知識の蓄積や統合が進まない
    • NotebookLMやChatGPTファイルアップロード機能も同様の仕組み
  • 提案手法:永続的Wikiの構築

    • LLMが Markdown形式のWiki を自動生成・更新し、知識の統合・矛盾管理・要約を担う
    • 新たな情報源追加時、LLMが要点抽出・既存Wikiの該当ページへ統合・矛盾の指摘・クロスリファレンス強化を実施
    • 一度まとめた知識は蓄積され、以降の質問や追加情報で随時進化
    • ユーザーは 情報源の選定・探索・問いかけ に専念し、LLMが整理・記録・参照管理を自動化
  • 実際の運用例

    • 片側にLLMエージェント、もう一方にObsidianを配置し、LLMがWikiを編集
    • ユーザーはObsidianでWikiのリンクやグラフビューを閲覧し、LLMの成果をリアルタイムで確認
    • Obsidian=IDE、LLM=プログラマー、Wiki=コードベースという関係性
  • 応用事例

    • パーソナル用途:目標・健康・日記・自己分析などの蓄積・構造化
    • 研究用途:長期的な文献調査・論文要約・進化する仮説の管理
    • 読書記録:章ごとの要点整理・キャラクターやテーマの相互リンク化
    • ビジネス/チーム:Slack・会議記録・顧客対応から自動で内部Wiki生成・保守
    • 競合分析、旅行計画、講義ノート、趣味の深掘りなど、 知識が時間と共に蓄積・構造化される場面

アーキテクチャ

  • 3層構造
    • Raw sources :生データ(記事、論文、画像、データファイル等)
      • LLMは読み取りのみ、編集不可
      • 知識のソース・オブ・トゥルース
    • Wiki :LLM生成・管理のMarkdownディレクトリ
      • 要約、エンティティページ、概念ページ、比較、全体像、統合ページを保持
      • LLMがページ作成・更新・クロスリファレンス維持・一貫性担保を全自動で実施
      • ユーザーは閲覧、LLMは執筆・保守
    • Schema :Wikiの構造・規約・ワークフローを定義するドキュメント
      • 例:CLAUDE.md、AGENTS.mdなど
      • LLMがWiki運用時に参照し、 汎用チャットボットではなく“Wiki管理者”として振る舞う基準
      • ユーザーとLLMが協働で進化させる設定ファイル

運用フロー

  • Ingest(情報源取り込み)

    • 新規ソースを生データフォルダへ追加し、LLMに処理を指示
    • LLMが内容を読解し、要点をユーザーと議論
    • Wikiに要約ページ新規作成、インデックス更新、関連エンティティ・概念ページの修正、ログへの記録
    • 1ソースで10〜15ページが更新される場合も
    • ユーザーは要約確認・強調点の指示などで関与度を調整可能
  • Query(質問・探索)

    • ユーザーの質問に対し、LLMがWiki内の関連ページを検索・参照し、引用付きで回答生成
    • 回答形式はMarkdownページ、比較表、スライド(Marp)、グラフ(matplotlib)、キャンバス等多様
    • 良質な回答は新規Wikiページとして保管し、知識が連鎖的に蓄積
  • Lint(整合性チェック)

    • 定期的にLLMへWikiのヘルスチェックを依頼
    • ページ間矛盾、古い主張、孤立ページ、未作成の重要概念、クロスリファレンス漏れ、データギャップなどの検出・提案
    • LLMは新たな探索課題や追加ソースも提案可能

インデックス・ログ管理

  • index.md

    • Wiki全体のカタログ
    • 各ページのリンク・一行要約・メタデータ(日時、ソース数等)をカテゴリ別に整理
    • LLMが取り込みごとに自動更新し、質問時のナビゲーションに活用
    • 小〜中規模Wikiでは埋め込みベース検索不要、indexだけで十分な検索性
  • log.md

    • 時系列の操作記録(取り込み、質問、Lint実施など)
    • 各エントリを日付プリフィックスで統一すれば、Unixコマンドで簡単に解析可能
    • Wiki進化のタイムライン・直近の操作履歴の把握

補助ツール・TIPS

  • CLIツール

    • Wikiページ用のローカル検索エンジン(例:qmd。BM25/ベクトル検索+LLM再ランキング対応)
    • 小規模ならindex.mdで十分だが、規模拡大時は専用検索ツールが有効
    • LLMがシェル経由で検索コマンドを利用可能
  • Obsidian Web Clipper

    • Web記事をMarkdown化し、生データコレクションへ即追加
    • 画像はローカル保存推奨(Obsidian設定で添付フォルダ固定・ホットキー設定可)
    • LLMが画像を直接参照可能になり、リンク切れリスク低減
    • LLMはテキスト→画像の順で読み込み、追加情報取得が可能
  • Obsidianのグラフビュー

    • Wikiの全体構造・ハブ・孤立ページの可視化
  • Marpプラグイン

    • Wiki内容から直接スライド生成が可能
  • Dataviewプラグイン

    • YAMLフロントマター付きページ(タグ、日付、ソース数等)を動的に集計・一覧表示
  • Git管理

    • WikiはMarkdownファイルのGitリポジトリ
    • バージョン履歴、ブランチ、共同編集が容易

なぜこの仕組みが有効か

  • 知識ベース維持の最大の課題は「記録・整合性管理の手間」
    • クロスリファレンス更新、要約の最新化、矛盾の記録、全体一貫性の維持が煩雑
    • 人間だけだとメンテナンス負荷が価値を上回り、Wikiが放棄されがち
  • LLMは飽きず、忘れず、複数ファイルを一括で自動修正可能
    • メンテナンスコストがほぼゼロになり、Wikiが常に最新・統合的に進化
  • 人間はソース選定・分析指示・問いかけ・意味付けに集中できる
    • LLMは記録・統合・参照・矛盾管理など“雑務”を全自動化
  • Vannevar BushのMemex構想(1945)にも通じる
    • 個人が能動的にキュレーションし、文書間の結びつきを重視する知識ストア
    • Bushが解決できなかった「誰がメンテナンスするか」をLLMが担う

注意事項

  • 本ドキュメントは 抽象的なパターン の提示が目的
    • ディレクトリ構造、スキーマ規約、ページフォーマット、ツール選定は各自の領域・好みに応じて最適化
    • 画像不要なら画像処理省略、小規模なら検索エンジン不要、スライド不要ならMarkdownのみ等、 必要な要素だけ選択
  • 最適な運用方法は LLMエージェントと共同で調整・進化
    • 本パターンをLLMと共有し、カスタマイズして自分用の仕組みを構築

参考リンク

Hackerたちの意見

これは、1960年のリックライダーの「インテリジェンス・アンプリフィケーション:人間とコンピュータの共生」にすごく似てるね。

「人間は目標を設定し、動機を提供するだろう。もちろん、少なくとも初期の段階では。彼らは仮説を立て、質問をし、メカニズムや手順、モデルを考え出す。1947年に誰それが興味のあるトピックで関連する仕事をしたことを思い出すだろうし、少なくとも第二次世界大戦の直後には、どのジャーナルに掲載されたかのアイデアも持っている。一般的に、彼らは大まかで間違いもあるが、重要な貢献をし、基準を定義し、評価者として機能し、機器の貢献を判断し、思考の一般的な方向性を導く。」 「さらに、人間は非常に低確率の状況が実際に発生したときにそれを扱うだろう。(現在の人間と機械のシステムでは、これは人間のオペレーターの最も重要な機能の一つだ。非常に低確率の選択肢の確率の合計は、無視するには大きすぎることが多い。)人間は、コンピュータが特定の状況に適用できるモードやルーチンを持っていないときに、問題解決やコンピュータプログラムのギャップを埋めるだろう。」 「情報処理機器は、仮説をテスト可能なモデルに変換し、そのモデルをデータに対してテストする(人間のオペレーターが大まかに指定し、コンピュータが承認のために提示したときに関連性を特定することができる)。機器は質問に答え、メカニズムやモデルをシミュレートし、手順を実行し、結果をオペレーターに表示する。データを変換し、グラフを描き(人間のオペレーターが指定した方法で「ケーキを切る」か、オペレーターが何を望んでいるか確信がない場合は複数の代替方法で)、補間、外挿、変換を行う。静的な方程式や論理的な文を動的なモデルに変換し、人間のオペレーターがその挙動を調べられるようにする。一般的に、意思決定の間のルーチン化可能な事務作業を実行する。」 https://www.organism.earth/library/document/man-computer-sym...

すごい。彼の洞察は魅力的だね。例えば(他にもたくさんあるけど)デスクサーフェスの表示と制御について:

「確かに、効果的な人間とコンピュータのインタラクションのためには、人間とコンピュータが同じ表示面でグラフや絵を描いたり、メモや方程式を書いたりする必要がある。人間は、ラフだけど迅速にグラフを描くことでコンピュータに関数を提示できるべきだ。コンピュータは、人間の書いたものを読み取るべきで、明確なブロック体の大文字で書かれている場合に限るかもしれない。そして、手描きの各記号の位置に、解釈された対応する文字を正確なフォントで即座に表示するべきだ。」

これはただのRAGだね。確かにベクターデータベースは使ってないけど、意味的なつながりのインデックスファイルを作ってるし、検索を助けるためにファイルシステム内に階層的な意味構造を構築してる。これがRAGだよ。ちなみに、AIを使ったナレッジベースを作ってるんだけど(そう、RAGを使ってる)、ウィキ合成や似たようなアイデアがあるから、見てみて。 https://github.com/kenforthewin/atomic

「ただのRAG」には反論したいな。確かにリトリーバル・ジェネレーションのループはRAGの形をしてるけど、面白いのは書き込みループなんだよ。LLMがウィキ自体を作成・維持していて、バックリンクを作ったり、自分の出力をファイリングしたりしてる。これはリトリーバルじゃなくて、知識の合成だよ。バニラRAGではコーパスは静的だけど、ここではそうじゃないし、リンティングパスも本当に違うことをしてる。矛盾を監査したり、欠損データを補完したり、つながりを提案したりしてる。これは検索エンジンがトップKのチャンクを返すのとは違って、むしろゼッテルカステンを維持するアシスタントに近いね。面白いプロジェクトだね、チェックしてみるよ。

「このアプリにはいくつかの疑問がある」とコメントを始めるべきだったね。ずっと前から、真のウィングマン・エグゼクティブアシスタント・セカンドブレインとして機能するLLM-WIKIのようなものを考えてたけど、OPは俺のADHDな考えを超えて深く掘り下げてる。これが実現するのを楽しみにしてるよ。

マルチモーダルKB+エージェンティックRAGが個人用KBに適した解決策だと思う。たくさんのオフィスドキュメントがあって、その中で複雑なトピックを掘り下げたいと想像してみて。 https://github.com/JetXu-LLM/DocMason これを使えば、pptやエクセルからすべての図やチャート情報を完全に取得できるし、ネイティブAIエージェント(例えばCodex)を活用してエージェンティックRAGを実行できるよ。

RAGには埋め込みが必要ってわけじゃないよ。リトリーバル部分は、セマンティックサーチを気にしなければgrepでもいいし。

これはただのRAGだよ。もっと言うと、これはGitHub CopilotみたいなLLMアシスタントがカスタムインストラクションファイル、つまりcopilot-instructions.mdを使う方法だよ。https://docs.github.com/en/copilot/how-tos/configure-custom-...

これがモデルの崩壊につながらない理由がわからない。 https://www.nature.com/articles/s41586-024-07566-y LLMを使ってドキュメントを書くのに時間を費やしたことがあるなら、自分で確認できるよ。累積は有効な情報をより冗長な情報に書き換えるだけだと思う。カーパシーがこれを理解していないのは心配だ。でも驚きはしないな。AIマキシマリストは「普通」でいるのが本当に難しいみたいだから。 ルールオブサム:特別なLLMのソースを広める必要があると感じたら、なぜそう思うのか自問自答してみて。

この記事はLLMのトレーニングについてではなく、個人用のウィキを書くためにLLMを使うことについてだよ。この記事は、ChatGPTやClaudeのような完全にトレーニングされたLLMがすでに存在していることを前提にしている。

追記:karpathyの兄弟コメントがフラグされて消えちゃった。彼が削除したのか、フラグの数で削除されたのかは不明。彼はClaudeからのちょっと皮肉な返答をコピペして、「Claudeが君にこう言ってるよ:」って言った後に、すごく長い段落のスラップを続けてた。——— うわ、karpathyにはすごく敬意を表してるし、彼からたくさん学んだ。でも、彼が君に返した兄弟コメントって一体何なの?Claudeが書いたスラップな反論をコピペしてるだけ…悲しいね。もしかしたら「何か良いことを言えないなら、言わない方がいい」っていう古い格言を「人間らしいことを言えないなら、言わない方がいい」に更新する必要があるかも。知ってる本当に賢い人たちが「機械の中の幽霊」を見て、徐々に人間らしさを失っていった。エズラ・クラインが最近「サンフランシスコで新しいものを見た」という素晴らしい記事を書いてたよ(読みたいならギフトリンク):https://www.nytimes.com/2026/03/29/opinion/ai-claude-chatgpt...

俺も同じ経験した。シンプルなclaude.mdにもついていけないし、全体のwikiなんて無理だよ…

2026年の今、LLMを(よく選ばれた)自分自身や他のLLMの出力でトレーニングするいくつかの方法が大きな成果を上げてる。だから2024年以前の「モデル崩壊」の恐れは、何が生産的かについての直感を誤らせるよ。Karpathyが見ていない制限を正確に認識しているとは考えにくい。

数週間前に自己更新するHTMLファイル(ポリグロットbash/html)のプロトタイプを作ったんだ。実際、かなりうまく動いてるよ。シンプルなプロンプトで、ただぐるぐる回るだけじゃないみたい。https://github.com/jahala/o-o

注目されてるのを見ると嬉しいね。ドキュメントと作業項目やADRのような構造化されたものを混ぜると摩擦が出てくる。フラットなマークダウンはクエリに向いてないし、一貫性がなくなる。TASKS.mdは問題なく読めるけど、エージェントは「このエピックをブロックしているオープンタスクを見せて」って聞けない。プローズをスキャンしたり、並行インデックスを維持したりしないといけないからね。AGENTS.mdのアプローチは、LLMにフォルダの規則を教えることでこれをカバーしてる。データが複雑になるまではうまくいくけど、何度も繰り返すうちに悪化する。どちらも必要だよ:どんなエディタでも開けるファイルと、エージェントが実際にクエリできる構造化されたインターフェース。Binder(github.com/mpazik/binder)というローカル知識プラットフォームでそれに向けて構築してる。データは構造化されたDBにあり、プレーンなマークダウンにレンダリングされて双方向同期される。LSPはエディタにオートコンプリートとバリデーションを提供する。エージェントやスクリプトはCLIやMCPを通じて同じデータを取得する。

これってただ先延ばしにしてるだけじゃない? > でもLLMは毎回の質問でゼロから知識を再発見してる。 ウィキが完全にコンテキストに留まらない限り、LLMはソースファイルを再読する代わりにウィキを再読しなきゃいけなくなる。これも、2次情報を吐き出し始めると微妙なエラーを引き起こして蓄積されるだろう。アイデアはわかるけど、次世代モデルが10Mのコンテキストや1000tpsを持つようになれば、これも時代遅れになると思う。

自分は、基本的に「オブシディアンに構造化フォーマットとスキーマを乗せたもの」に基づいた自作のシステムを使ってるんだ。これをいろんなところで、いろんなユーザーに展開してる。思ってるよりも価値があるよ。中間層はデザインの意図を捉えるのに役立つし、実装がその意図から逸れるときに気づくのにもいい。システムの意図と実際の動作には常にズレがあるし、コード自体ではそれを捉えられない。中間層はロスがあるし、ゴチャゴチャしてるし、時代遅れになることもあるけど、すごく効果的なんだ。でも、この人が言ってるのはそういうことじゃない。完全に自律的な自己参照型の層は、正直言って全く価値がないように感じる。結局、何を解決してるの?自分を効率的にするだけ?フロンティアモデルの提供者たちは、3週間後にはその面で君よりも上手くやってるだろう。真の価値は、人間が「これがシステムの実際の動作だ」と言えるシステムを持つことだと思うし、そのシステムがそれに対して適切に反応することなんだ。OPのような多くの試みは面白いけど、最終的には無駄な気がする。君はそのフロンティアの提供者たちのような資金を持ってないし、彼らが持っているような効率を引き出すための情報も全然持ってない。革新の洪水が管理可能なレベルに落ち着くまで、バニラなものに留まるのが一番だと思う。そうしないと、君が構築する抽象は2ヶ月後には完全に無意味になっちゃうよ。

やってるときの気持ちがそうなんだ。時間が経つにつれて、それがはっきり見えてくる。

今はこれが解決策で、未来に向けてもこれが解決策になる。将来的に興味のある論文をいくつかに凝縮できるようになるんだ。興味のある分野を数本の論文にまとめることができる。

目標は、毎回コンテキストを保持することじゃなくて、メモリをクエリ可能にすることなんだ。アイデアや決定のためのデータレイクみたいな感じ。

アイデアはすごく分かるけど、次世代モデルが10Mのコンテキストや1000tpsを持つようになったら、これって obsolete になると思う。もう1Mのコンテキストや800kのコンテキストがあるけど、200kから300kのあたりで「忘れ始める」んだよ。200kから300kで劣化が始まるのに、10Mのコンテキストって何の意味があるの?

自分のアシスタントプロジェクトに非常に似たシステムを組み込んだよ。でも正直言うと、実際にどれだけうまく機能するかはあまり使ってないからわからない。

LLMがmdファイルのナレッジベースをナビゲートして検索するのを助けるツールを作ったよ。grepみたいな基本的なコンテンツ検索を提供することで、こういうウィキを作るのにすごく役立つし、フロントマターのプロパティに対する構造化検索もできる。ファイルを移動させてもリンクが壊れないようにしたり、リンクを自動で修正したりもできる。CLIツールで、主にAIツールに使ってもらうことを想定してる。チェックしてみてね: https://github.com/ractive/hyalo

最近、会社のプロジェクトで似たような穴にハマって、かなりサボってる。去年は燃え尽き症候群になったり、家族の介護の問題に悩まされたりして、集中して考えるエネルギーがどんどん減ってきた。だから、アーキテクチャや発見の大部分を、いつもMarkdownファイルのウィキみたいな城に戻るマルチエージェントのワークフローに委任するようになったんだ。オブシディアンを使って、効率よく覗けるようにしてる。今、確実に何か間違ってるけど、ギャップが多すぎて数えきれない。これって、変な新しいタイプの技術的負債を生んでる気がする。まるで持続的な脳のギャップみたい。もっと考えることが恋しいし、それがこの状況から抜け出す助けになると思う。でも、ウィキのワークフローはやめられないくらい中毒性があるんだよね。

私も同じような経験をしてきたよ。ドキュメントやウィキを書くことの価値は、最終的な成果物にはなくて、そのプロセスが自分の思考や知識をアップデートしてくれるから、将来的により良い判断ができるようになるんだ。たとえLLMを使って良い成果物を出せたとしても、それが最終的に雑なものに進化しないかは疑問だし、個人のウィキにはあまり役立たないと思う。

あなたは何も間違ってないよ。これは完璧なアイデアじゃないから。うまくいくこともあるし、多くの人が複雑さを管理するためにこういう方法を取るけど、ある臨界点を超えると物事が崩壊しちゃうんだ。エージェントがウィキを最新の状態に保てなくなったり、開発者がそれを理解できなくなったりするからね。

これに関連して — AIの出力は、もっとAIを呼ぶのではなく、決定論的なプログラムであるべきだと実験してる。私にとっての「アイデアファイル」は、AI(クリエイティブで高価)とランタイム(決定論的で無料)との間の最小限のインターフェースは何かってこと。どうやら、8つのコア操作があれば、どんなブラウザインターフェースもカバーできるみたい。AIは一度観察してプログラムを結晶化させ、その後そのプログラムはコストゼロで永遠に動き続ける。難しいのはランタイムじゃなくて、AIが自分のプログラムが実際に機能しているかどうかを判断できるような十分なフィードバックループを構築することなんだ。

私はこの使い方を考慮して、VS Code用のAS Notesを作ったんだ(https://www.asnotes.io)。VS Codeを拡張して、個人の知識管理システムで使うツールを持たせることで、マークダウンやウィキリンクのノートを手動で簡単に書いたり、リンクしたり、更新したりできるようにしてるよ(mermaidやLaTeXのレンダリング機能もあるし)。VS Codeを使うことで、エージェントハーネスに簡単にアクセスできて、作業を指示したり、自分のノートをコンテキストとして使ったりできるんだ。他の人も言ってるけど、コンテキストの膨張は問題だけど、大きなコードベースの中でコパイロットハーネス(他のものでも)を使うときと比べたら、そんなに変わらないと思う。こうやってマークダウンに出力を保存すると、AIとの会話からもっと価値を得られる気がする。