AI技術教材 / やってみた / 2026.09.19

GraphRAG をもくもく会の教材 104 本に適用してみた
— 原論文の主張は、自分のコーパスでも再現するか

前回、GraphRAG の原論文を読んで「全体俯瞰の問いには強く、特定の問いには naive RAG が勝つ」「索引は高い」「審判には位置バイアスがある」と整理した。 整理しただけでは論文の受け売りなので、手元で一番よく知っているコーパス=このサイトの教材 104 本に対して、原論文の手順を最小構成で組んで回してみた。 索引の各段の数字、できあがったコミュニティ地図、naive RAG との 7 問対決、審判を提示順入れ替えで 2 回、そしてコスト。全部を一次データとして残す。

形式 実験記録(数値はすべて実測) コーパス mokumoku.ipfde.com の教材 104 本・約 39 万トークン LLM Qwen3.8-27B(NVFP4, vLLM, DGX Spark)/埋め込み nomic-embed-text(Ollama) 前提 GraphRAG入門原論文を読む の続き
00 先に結論

論文の主張は 3 つとも再現した。そして論文に書いていないことが 2 つ見えた

4 / 5
全体俯瞰の問いで GraphRAG が包括性・多様性とも naive RAG に勝った数(提示順を変えても同じ判定)
0 / 2
特定の問い(手順・注意点)で GraphRAG が勝った数。1 問は回答不能だった
×4.5
索引に使った LLM トークン量 ÷ コーパスのトークン量。naive RAG の索引(埋め込み)は 30 秒
1 / 7
審判の判定が提示順でひっくり返った問い(3 指標中 2 指標で反転)
01 何をやったか

原論文の手順を、最小構成で自前実装した

Microsoft の公式実装は使わず、原論文の 6 段をそのまま Python 400 行で書いた。理由は 2 つ。段ごとの数字(言及数、統合率、コミュニティ数、トークン数)を取りたかったこと、 そして LLM を手元の DGX Spark(vLLM)に向けたかったこと。埋め込みは Mac の Ollama。

① Text Unitsreferences.js の 104 本 → HTML 本文を抽出 → 1,600 字(≈1,000 tok)で分割
② 抽出LLM でエンティティ・関係を JSON 抽出。型は知財×AI 向けに 8 種
③ 統合(名前, 型)完全一致で束ねる=MS 準拠。緩い正規化での統合数も別途計測
④ Leidenigraph + leidenalg。根(L0)→ 15 ノード以上は再分割(L1)
⑤ 要約葉から根へ。3 ノード以上のコミュニティを LLM でレポート化
⑥ 問い合わせGlobal Search=根要約 100 本に map-reduce。対照は naive RAG(上位 8 チャンク)
原論文と違うところ(正直に)
gleaning(見落とし再質問)は省略。Local Search は実装していない(比較対象は Global Search vs naive RAG のみ)。 エンティティ型は news 向けのデフォルト(organization / person / geo / event)ではなく、技術・手法/ツール・製品・モデル/組織・企業/人物/制度・法律・判例/概念・課題/文献・資料/業務・工程 の 8 種に変えた。 審判は生成と同じ Qwen3.8-27B(別モデルを用意できなかった)。問いは 7 問で、統計的な主張はできない。
02 索引

7,144 の言及が 2,936 ノードになり、196 のコミュニティに割れた

数字読み方
コーパス104 本 / 511 units / 620,964 字(≈388K tok)うち HTML 本文があるのは 92 本。残り 12 本(外部リンク)はカードの説明文のみ。原論文の podcast コーパス(≈1M tok)の 4 割
抽出7,144 言及 / 4,112 関係1 unit あたり平均 14.0 エンティティ・8.0 関係。511 回の LLM 呼び出し、入力 52 万+出力 66 万トークン、16 並列で 83 分
統合(MS 準拠)7,144 → 4,377(名前, 型)完全一致。ここから関係を持たない孤立ノード 1,441 を落として 2,936 ノード / 3,553 エッジ
連結成分162 / 最大 2,456(84%)ほぼ 1 つの大きな塊+小さな島が 161。島は「1 本の教材にしか出てこない固有名詞群」
Leiden L0196 コミュニティ(modularity 0.88)15 ノード以上は 33、3 ノード以下が 128。教材ごとに強く分断された構造(modularity が高い=塊同士の橋が少ない)
Leiden L1262L0 の大きな塊 33 個を再分割。要約対象(3 ノード以上)は L0 100 + L1 247 = 347
要約347 レポート入力 42 万+出力 13 万トークン。葉(L1)→根(L0)の順で、根は子レポートも読んで書く

名寄せの実測:MS 準拠の統合は何を取りこぼすか

公式実装は「名前とタイプが完全一致したら同一エンティティ」とみなす。前回の記事で「表記ゆれの名寄せはしない」と書いたが、実際にどれだけ漏れるかを数えた。

219
同じ名前が 2 つ以上の型に振られて別ノードになった件数
+326
大小文字・全半角・空白・「株式会社」を無視するとさらに統合できる件数
5
「Project Panama」が分裂したノード数(型が 5 通り付いた)

分裂の主犯は表記ゆれ(HuggingFaceHugging FaceKV キャッシュKVキャッシュGGUFgguf)よりも型の揺れだった。 同じ「MCP」がある unit では「技術・手法」、別の unit では「ツール・製品・モデル」と判定される。LLM 抽出の型付けは文脈依存なので、これは避けられない。 統合キーから型を外す(名前だけで束ね、型は多数決で決める)のが現実的な改善で、次にやるならここから直す。

コミュニティ地図

Ollama Anthropic vLLM KVキャッシュ AI × 知財 もくもく会 Transformer Claude Code Codex GraphRAG AIエージェント Hugging Face Claude ChromaDB AI Git LLM SQLite 生成AI Bartz 訴訟 MCP HBOパターン nomic-embed-text DGX Spark RAG ローカル特許RAG 知財ビジネスモデル図鑑 本人確認 Slack 大規模言語モデル 量子化 FastAPI 高峰譲吉 AIバッチ処理 知財実務オンライン もくもく会 Project Panama GitHub Claude Academy SBERT エージェント 羽矢﨑 聡 Record a skill LoRA 特許DBビュー JSON OpenAI FTO調査 PagedAttention YAML+Markdown+JSONの三層構 Orchestrator-Worker 継続的バッチング AI Fluency Framework ChatGPT 4bit 『女工哀史』 掲示板 batch_embed.py ID.me はじめての7週間 GB10 NVFP4 decode 内部統制 3段階ファネル プロンプト 三層コストモデル GGUF エージェンティック開発 ViT mokumoku.ipfde.com ローカル特許RAGと低コストAI LLM推論のメモリ律速と最適化技 Transformer基盤の学習 AnthropicのAIガバナン AI時代の知財実務変革と制度・リ AIコーディングツールの環境構築 AIエージェントと知財実務の融合 AI知財変革と『女工哀史』の構造 AI×知財もくもく会の運営と戦略 GraphRAGとRAG手法の技 AIエージェント駆動の知財業務基 Git基盤のAIモデル共有エコシ
図1 重み付き次数が高い 315 ノード・603 エッジのばね配置。色=L0 コミュニティ(上位 12)。ラベルは次数上位 70。
左右に大きく分かれるのは「LLM の実装・推論(vLLM・KV キャッシュ・Transformer・Ollama)」と「知財実務・制度・戦略(Anthropic・訴訟・弁理士・職務発明)」。両者を橋渡しするのは GraphRAG/RAG/AI エージェントの塊。

大きなコミュニティ上位 16 と、LLM が付けた題

IDノード教材LLM が付けた題中心ノード主なカテゴリ
L0-018529ローカル特許RAGと低コストAIバッチ処理基盤Ollama, ChromaDB, nomic-embed-text, HBOパターンAI技術教材 13 / IP×AI 5
L0-116115LLM推論のメモリ律速と最適化技術群vLLM, KVキャッシュ, DGX Spark, 量子化AI技術教材 9
L0-215516Transformer基盤の学習・推論最適化と実装エコシステムTransformer, LoRA, ViTAI技術教材 9
L0-315132AnthropicのAIガバナンスと知財リスクの全体像Anthropic, Claude, Bartz 訴訟予習・大局観 6 / IP×AI 5
L0-413418AI時代の知財実務変革と制度・リスクの再設計本人確認, ID.me, プロンプトIP×AI 8 / 予習 6
L0-511320AIコーディングツールの環境構築と安全運用Claude Code, Codex, OpenAI環境構築 5
L0-611129AIエージェントと知財実務の融合体系知財ビジネスモデル図鑑, 高峰譲吉, 特許DBビュー, Orchestrator-WorkerIP×AI 13 / 事例集 8
L0-710527AI知財変革と『女工哀史』の構造比喩生成AI, MCP, エージェントIP×AI 8 / 予習 7
L0-810437AI×知財もくもく会の運営と戦略的教材体系AI × 知財 もくもく会, 知財実務オンラインIP×AI 9 / 予習 7
L0-910228GraphRAGとRAG手法の技術比較と知財業務への応用GraphRAG, LLM, RAG, From Local to GlobalAI技術教材 14
L0-1010124AIエージェント駆動の知財業務基盤と要件管理AIエージェント, SQLite, FastAPIAI技術教材 7 / IP×AI 6
L0-119419Git基盤のAIモデル共有エコシステムHugging Face, Git, GitHubAI技術教材 5 / 国家戦略 4
L0-128515Kimi K3の技術系譜と地政学的知財紛争Kimi K3, Moonshot AI, 杨植麟AI技術教材 4 / 事例集 4
L0-137616ハイブリッド検索と知財業務の最適化設計RRF 融合検索, ティアードアーキテクチャAI技術教材 9
L0-14658職務発明規程のAI業務フロー再設計と法的基盤職務発明規程, 特許庁, 状態機械, 権限行列IP×AI 4
L0-156413AI時代の知財戦略再定義と社会変革特許, Machines of Loving Grace, 目的-手段ロジックツリー予習 5 / 事例集 4

題はすべて LLM が付けたもので、人手は入れていない。サイトのカテゴリ(環境構築/AI技術教材/IP × AI…)とは違う切り口で塊ができているのが面白い。 たとえば L0-6 は「AI エージェント設計パターン」と「高峰譲吉の日米特許戦略」と「知財ビジネスモデル図鑑」が同じ塊にいる。人間の目には別カテゴリだが、 グラフ上では「制度上の位置取り」というエンティティで橋がかかっていた。コミュニティ要約は、サイト運営者が意識していなかった教材の隣接関係を出してくる。これは Global Search の副産物として最も実用的だった。

要約の一例(L0-0、LLM 出力をそのまま)
「本コミュニティは、ローカル環境での特許情報処理と AI バッチ処理の最適化を統合した技術体系である。中心には、Ollama(llama.cpp/GGUF)による LLM 実行基盤と、ChromaDB・FAISS を核とするベクトル検索パイプラインがある。(…)高コストな LLM 推論を最小化する『3 段階ファネル』や、推論・計算コストを分離する『HBO パターン』(Opus/Haiku/SBERT の三層構成)により、処理効率とコストを最適化している。」
— 29 本の教材にまたがる塊を 1 段落にしている。個々の教材を読んでも出てこない「横断の言い方」がここで生まれる。
03 問い合わせ

7 問対決:全体俯瞰 5 問と、特定 2 問

原論文の「global sensemaking」に相当する問いを 5 つ、対照として「1 本の教材に答えがある」問いを 2 つ用意した。 GraphRAG 側は根レベル要約 100 本への map-reduce、naive 側は埋め込み類似の上位 8 チャンク。生成モデルは同じ。

問いGraph 秒Graph 入力 toknaive 秒naive 入力 tok
q1教材群を貫く主要テーマは何か。テーマごとに根拠教材を挙げよglobal21439,8231273,637
q2知財実務で AI が最も効く工程はどこだと主張しているかglobal20839,2711114,902
q3繰り返し登場するツール・モデルは何で、どう位置づけられているかglobal21240,689903,463
q4教材群が扱っていない・手薄な領域はどこかglobal19140,382904,000
q5初めて AI 導入を任された人が読む順番を組むならglobal18340,037904,780
q6LLM-jp-4 を Mac mini の Ollama に導入する手順と注意点local4837,464875,889
q7特許 RAG の教材で、請求項のチャンク分割の注意点は何かlocal3837,500336,877

Global Search は問いによらず約 4 万トークンを読む(要約 100 本を全部舐めるため)。naive は 4〜7 千。問い合わせ 1 回あたり約 8〜10 倍。 q6・q7 で Graph が速いのは、map 段で「言えることなし(score 0)」が大半になり reduce の入力が空に近くなったから——つまり速いのではなく答えられていない

q2「AI が最も効く工程」— 両者の答え方の違い

GRAPH(Global Search)
「単一の工程に限定して主張しているわけではない。業務の成熟度モデル(L1〜L3)と技術的適用領域の両面から、工程ごとに異なる論点を整理している」と置いたうえで、
  • 調査・分析(FTO・先行技術・判例):GraphRAG による設計回避系譜の可視化、12 工程分解と専門ワーカー、生成と検査の分離
  • 起案(Creator):自動化は容易だが若手の OJT 機会を奪う
  • 評価・レビュー(Reviewer):同じ AI を使うと「相関する誤り」で二重チェックが失われる
  • クレーム強度評価:定量評価の具体化
—— 4 工程を横断して、それぞれに複数教材の根拠を付ける。
NAIVE(上位 8 チャンク)
抜粋 5「AI 適用後の現在地」と抜粋 6「二人で見たのに、二回見ていない」を根拠に、 「判断と責任が人間に残る前提での、検証可能な道具としての活用」が核心だとし、
  • 起案・調査:同じ基盤モデルを使うと「二重レビューが二重になっていない」
  • 検証・レビュー:一致率 100% の二重チェックは一重チェックと同じ。不一致は独立性が生きている証拠
—— 2 本の教材を深く読み、その主張を正確に再現する。

どちらが「良い」かは読む人による。Graph は網羅的だが各項目は浅く、naive は狭いが引用が正確で具体的。 原論文が包括性・多様性と直接性を対立軸に置いた理由が、そのまま出た。

q4「手薄な領域」— Global Search が最も向いていた問い

GRAPH
「AI×知財(特許)の交差点、特に AI エージェントによる特許実務の自動化、AI モデルの技術的実装・最適化、AI 発明者性の法的枠組みに極めて強く偏っている」としたうえで、手薄な 4 領域を挙げた: ① AI の倫理・社会的影響とガバナンスの技術実装(監査証跡の設計、プロンプトインジェクション対策)② 非特許の知財(商標・意匠・著作権・営業秘密)と非 AI 産業 ③ 組織変革・人材育成の具体プロセス ④ AI 資産の経済的評価と国際規制比較(EU AI Act 等)
NAIVE
8 チャンクから「具体的なコード例が無い」「法律条文の解釈が無い」「組織変革の手法が無い」「定量データが無い」「非特許領域が薄い」を挙げた。 ③⑤は Graph と一致するが、①②は抜粋 8 本の範囲の話で、「サイト全体の偏り」ではなく「たまたま引いた 8 本の偏り」を答えている。

「無いものを問う」問いは、全体を見ないと答えられない。ここが GraphRAG の存在理由で、サイト運営者として最も実用的な答えが出た問いでもあった(商標・意匠・著作権が手薄なのは事実である)。

q6「LLM-jp-4 の導入手順」— Global Search は答えなかった

GRAPH
「ご提示いただいた部分回答が空欄のため、具体的な手順や注意点に関する情報源が存在しません。(…)回答することができません。」
NAIVE
llama.cpp のビルド → huggingface-cli でダウンロード → convert_hf_to_gguf.py → Modelfile → ollama create、の 5 手順に加え、 トークナイザ互換(llm-jp-tokenizer v4.0 は openai-harmony 非互換)、VRAM(8B は Q4_K_M で約 5GB、32B-A3B は約 18–20GB)まで正確に引いた。

コミュニティ要約には「LLM-jp-4 は NII の国産 LLM で Ollama で動く」までは入っているが、convert_hf_to_gguf.py のような手順の粒度は要約の時点で落ちている。 Han et al. が "Global search retrieves high-level community summaries, which can lose fine-grained evidence" と書いたそのままで、手順・数値・条文のような細部は要約を経由した時点で失われる。 公式実装に Local Search と DRIFT が別途ある理由がここにある。

04 審判

提示順を入れ替えて 2 回判定させた

原論文と同じ 3 指標(包括性・多様性・直接性)を LLM に一対比較で判定させた。Han et al. の「提示順で判定が変わる」指摘を確かめるため、 Graph を回答 1 にした版と、naive を回答 1 にした版の両方を判定させている。

包括性多様性直接性
q1 主要テーマglobal反転 Graph→naivenaive反転 Graph→naive
q2 効く工程globalGraphGraphGraph
q3 頻出ツールglobalGraphGraphGraph
q4 手薄な領域globalGraphGraphGraph
q5 読む順番globalGraphGraphnaive
q6 導入手順localnaivenaivenaive
q7 チャンク分割localnaivenaivenaive

「Graph」「naive」は両方の提示順で同じ判定だったもの。全体俯瞰の q2〜q5 では包括性・多様性とも Graph が 4/4、特定の q6・q7 では naive が全指標で勝ち、いずれも順序に依存しなかった。 原論文の結果(包括性・多様性で Graph、直接性で naive)と Han et al. の結果(局所 QA では RAG)が、7 問の範囲で両方とも出た。

q1 で起きたこと:判定が反転し、しかも理由が「根拠 ID」だった
Graph を先に見せた審判は「回答 1 は技術・法務・経営を体系的にカバーし、回答 2 はコミュニティ運営に偏っている」と Graph を選んだ。 naive を先に見せた審判は「回答 2(Graph)は存在しない可能性の高い教材 ID を列挙し、実際の教材群を正確に反映できていない」と naive を選んだ。
Graph の回答は根拠を「教材 ID: 9, 26, 33, …」の形で出していた。ID は実在するが、審判には照合手段がない。照合できない根拠は、根拠として機能しないどころか疑いを招く。 原論文が empowerment の分析で「具体例・引用・出典の有無が効いた」と書いたのは、出典が読める形であることが前提だった。
05 コスト

索引に 173 万トークン、問い合わせ 1 回に 4 万トークン

LLM 呼出入力 tok出力 tok時間
抽出(②)511520,607655,30483 分(16 並列)
要約(⑤)347423,756131,149推定 20〜30 分(夜間に Mac がスリープし壁時計は不正確)
索引 合計858944,363786,453コーパス 38.8 万 tok の 4.5 倍を LLM に通した
naive の索引(埋め込み 511 本)30 秒(Ollama nomic-embed-text)
Global Search 1 問≈10≈40,0004,000〜6,500180〜215 秒
naive 1 問13,500〜7,0001,000〜1,40033〜127 秒

Han et al. の「構築時間 41 倍」に対し、ここでは 83 分 vs 30 秒で 約 170 倍。ローカル GPU なので金額はゼロだが、API 従量で見積もると 173 万トークン × (入力 $3 / 出力 $15 per 1M 程度の価格帯)≈ $15 前後を、104 本のサイトの索引 1 回に払う計算になる。 問い合わせは 1 回 4 万トークンなので、100 問で索引と同じ額に届く。

原論文が「根レベル要約 C0 は原文の 2〜3%」と書いたのは問い合わせ時のコンテキスト量の話で、索引時のコストとは別。ここを混同すると「GraphRAG は安い」という逆の印象になる。 索引を LLM で作る限り、Microsoft 自身が LazyGraphRAG で「索引コストをベクトル RAG 並みに」した理由は数字で腹落ちする。

06 照合

原論文・後続研究の主張と、この実験の結果

主張出典この実験
全体俯瞰の問いで包括性・多様性が naive RAG を上回るEdge et al. 2024再現 q2〜q5 で 4/4(順序不変)
直接性は naive RAG が上同上部分再現 q5 で naive、q2〜q4 は Graph。問いが「論点を整理せよ」型だと Graph の構造化が直接性でも評価された
局所的な QA では RAG が上、Global Search は細部を失うHan et al. 2025再現 q6 は回答不能、q7 も naive
LLM 審判は提示順で判定が変わるHan et al. 2025再現 7 問中 1 問(q1)で 3 指標中 2 指標が反転
索引コストが高いHan et al. 2025 / LazyGraphRAG再現 埋め込みの約 170 倍の時間、コーパスの 4.5 倍のトークン
ドメイン向けスキーマ(型)を設計すると抽出が良くなるScaffidi et al. 2025未検証 8 型で回したが、デフォルト型との比較はしていない
同一名・同一型で統合(名寄せなし)公式 dataflow問題を確認 型の揺れで 219 名が分裂、緩い正規化で +326 統合可
出典を付けると empowerment が上がるEdge et al. 2024条件付き 照合不能な ID は逆効果。題名・URL で出す必要
07 やり直すなら

次の 1 回で直す 4 点

  1. 統合キーから型を外す。名前(緩い正規化後)で束ね、型は多数決。これだけで 500 ノード前後が減り、コミュニティの橋が増えるはず。
  2. 根拠は題名+URL で出す。map 段のプロンプトに渡す要約に教材の題名を含め、ID を出させない。審判にも人にも照合できる形にする。
  3. Local Search を足し、問いを振り分ける。Han et al. の「Selection」——問いが global か local かを先に LLM に判定させ、local なら naive/Local Search へ。q6 のような回答不能を潰す。
  4. 審判を別モデルにし、順序入れ替えで不一致なら「引き分け」扱いにする。今回は生成と審判が同じ Qwen で、自己選好バイアスを否定できない。

そして「このサイトに GraphRAG は要るか」への答えは、問い合わせ用途では要らない、索引の副産物は要る。 104 本の教材に対して読者が投げる問いの大半は local で、naive RAG で足りる。一方、347 本のコミュニティ要約と「手薄な領域」の答えは、 サイト運営者にとって教材群の棚卸しとしてそのまま使える。用途を「検索」ではなく「棚卸し」に置くと、索引コストは年に数回払えばよいものになる。

08 再現のために

環境と設計メモ

出典・関連
  1. Edge, D. et al. From Local to Global: A Graph RAG Approach to Query-Focused Summarization. arXiv:2404.16130. / 解説: GraphRAG 原論文を読む
  2. Han, H. et al. RAG vs. GraphRAG: A Systematic Evaluation and Key Insights. arXiv:2502.11371.
  3. Microsoft Research. LazyGraphRAG, 2024-11. / GraphRAG default dataflow
  4. Scaffidi, A. et al. GraphRAG on Technical Documents – Impact of Knowledge Graph Schema. TGDK 3(2), 2025.
  5. 入門: GraphRAG入門 — 非構造テキストから知識グラフへ / 対照実装の元: ローカル特許RAG
数値はすべて 2026-09-18〜19 の 1 回の実行による実測で、乱数シードは固定しているが LLM 出力は再実行で変わりうる。問いは 7 問・コーパスは 1 つで、統計的な一般化はできない。誤りの指摘はもくもく会の掲示板へ。
羽矢﨑 聡(AI × 知財 もくもく会)|2026-09-19