「とりあえず GraphRAG を入れればいい」。
最近、そんな声をよく見かけませんか?
Reddit に「GraphRAG – which problems does it actually solve?」という投稿が出ました。
この投稿は、GraphRAG が効く問いと効かない問いを分けようとしています。
この記事では、投稿とコメント、そして関連する論文を読んで整理します。
テーマは、どんな問いならグラフを足す価値があるのか、です。
投稿は何を分けようとしたのか
まずは用語からです。
GraphRAG は、文書からエンティティ(人、組織、物など)と関係を取り出してグラフを作ります。
そして、そのつながりを検索に使います。
こうした手法の総称が GraphRAG です。
投稿によると、GraphRAG が効くのは次の四つです。
- 複数の文書をまたぐ問い
- コーパス全体についての問い
- エンティティの曖昧性解消
- 関係そのものを辿る検索
一方で、次の四つは解決しないとしています。
- 単純な事実照会
- 幻覚
- コスト
- ベクトル RAG の置き換え
そのうえで、投稿は結論を一つの問いにまとめました。
「あなたのデータの構造には、意味の近さだけでは安定して取れない情報がありますか?」
あるなら、グラフを試す価値があります。
無いなら、取り込みと保守が重くなるだけです。
この切り分けは正しいと思います。
ただ、「ある」と答えたあとで何を足せばいいのかは、まだ決まりません。
そこを埋めるのが、この記事の目的です。
「GraphRAG」は三つの別物を指している
数字を見る前に、一つ注意があります。
投稿とコメントは、違う三つのものを同じ「GraphRAG」という名前で呼んでいるんです。
- Microsoft GraphRAG
まず、LLM で文書からエンティティと関係を抜き出します。
次に、Leiden 法でコミュニティに分けます。
そして、下の層から順に要約を作ります(Edge et al., arXiv:2404.16130)。
コーパス全体の問いには、このコミュニティ要約を map-reduce して答えます。 - グラフを使う RAG 一般
知識グラフの近傍探索や、階層要約などが入ります。
HippoRAG2 のように、グラフでチャンク検索を導くものもこちらです。
Han et al.(arXiv:2502.11371 v3)は、これを四つに分けています。
KG 型、コミュニティ型、テキスト誘導型、階層要約型です。 - コメント欄から出た別案
一つは、エンティティを階層で整理する管理タクソノミです。
もう一つは、グラフ上の集計クエリです。
どちらも、Microsoft のコミュニティ要約とは仕組みが違います。
この三つを混ぜたまま数字を並べると、どうなるでしょうか。
方式ごとに勝ち負けが入れ替わることを、見落としてしまいます。
そこで以下では、どの方式の数字なのかを毎回はっきり書きます。
問い1:1か所に書いてある事実
答えが一つの段落に書いてあるなら、ベクトル検索の出番です。
ベクトル検索は、問いと文書チャンクを埋め込みベクトルに変えます。
そして、近いものを上位 k 件返します。
では、Xiang et al.(arXiv:2506.05690、ICLR 2026)の結果を見てみましょう。
Novel データセットでの精度です。
この表は、後の節でも使います。
| 方式 | 事実取得 | 複雑推論 |
|---|---|---|
| 基本 RAG(再ランクあり) | 60.92 | 42.93 |
| HippoRAG2 | 60.14 | 53.38 |
| Microsoft GraphRAG | 49.29 | 50.93 |
再ランクとは、一次検索で集めた候補を別のモデルで並べ替える工程です。
事実取得で、Microsoft GraphRAG は 11 点以上負けています。
互角ではありません。
一方、HippoRAG2 は基本 RAG とほぼ同じです。
つまり、「グラフを使うと負ける」わけではありません。
「コミュニティ要約型はこの問いに向かない」ということです。
論文によると、単純な事実取得ではグラフ処理が冗長さやノイズになります。
橋渡しの要らない問いに、橋渡しの仕組みを足しても得はないんですね。
問い2:複数の事実のつながりを辿る問い
答えが複数の文書に散らばっていて、つないで初めて出てくる。
そんな問いでは、結果が変わります。
同じ表の複雑推論を見てください。
HippoRAG2 が 53.38、再ランク付き基本 RAG が 42.93 です。
10 点以上の差ですね。
Microsoft GraphRAG は 50.93 です。
基本 RAG には勝っていますが、HippoRAG2 には届きません。
ここを「グラフだから強い」でまとめると、方式の差が消えてしまいます。
投稿には「会社の Apple と果物の apple」という例があります。
ただし、これはこの種の問いを説明するための例です。
測定結果ではありません。
曖昧性解消の精度を測った数字は、今回読んだ範囲には見つかりませんでした。
また、グラフには抽出漏れという天井もあります。
Han et al. は、作った知識グラフに答えのエンティティが含まれていた割合を報告しています。
- HotpotQA:65.8%
- Natural Questions:65.5%
グラフに載らなかった事実には、グラフ検索は届きません。
もう一つの条件が、鮮度です。
コメントでは、次のように指摘しています。
元の文書が頻繁に変わるなら、古いグラフは最新のチャンクを取るより悪くなりうる、と。
投稿者もこれに返信しています。
鮮度の要件がグラフの利点を上回る地点を見極めるのが本題だ、という内容です。
では、どのくらいの更新間隔で逆転するのでしょうか。
それを測った資料はありません。
ですから、あなたのデータの更新頻度で判断してください。
問い3:コーパス全体のテーマ
「この 500 本のレポートの主要テーマは?」
こういう問いは、上位 k 件の検索では原理的に届きません。
答えが、コーパス全体に散らばっているからです。
Edge et al. が解こうとしたのは、まさにこの問いでした。
同論文は、約 100 万トークンのコーパス二つで比べています。
ポッドキャストの書き起こしと、ニュース記事です。
Global 系がベクトル RAG に対して得た包括性の勝率は、次のとおりです。
- ポッドキャスト:72〜83%
- ニュース:72〜80%
ただし、これは LLM に二つの回答を比べさせた判定です。
そして Han et al. は、要約を見せる順番を入れ替えると判定が変わると示しています。
勝者が逆転する場合もあるそうです。
ですから、この勝率は「全体の要約ではグラフ側が有利だった」という範囲で読むのが安全です。
もう一つあります。
同じ評価で、ベクトル RAG は「問いへの直接性」で勝っています。
包括性と直接性は、もともと引っ張り合う指標です。
広く拾うか、短く当てるか。
どちらかが上位互換というわけではありません。
番外:「何件あるか」という問い
「条件 X に当てはまるのは何件?」
この問いは、上の三つとは別の穴です。
類似度は、総数を知りません。
そのため、モデルが概数をでっち上げることがあります。
コメントでは、この点が挙げられていました。
一方、グラフやデータベースの集計クエリなら、この種の問いに決まった答えを返せます。
ただ、公開ベンチマークの数字は今回の範囲にありません。
本人のデモ報告はあります。
しかし、再現手順を確かめていないので、数字は載せません。
どんな穴が埋まるか、までにとどめておきます。
置き換えではなく、組み合わせられる
グラフとベクトルは、どちらか一方を選ぶものではありません。
Han et al. は、二つの組み合わせ方を試しています。
- Selection:問いの種類で振り分ける
- Integration:両方の検索結果をつなげる
条件は MultiHop-RAG、Llama 3.1 70B です。
最良のベースラインに対して、Selection は +1.1%、Integration は +6.4% でした。
Integration のほうが伸びます。
でも、毎回両方を走らせるので、そのぶん高くつきます。
安く振り分けるか、高く両取りするか。
ここは予算との相談ですね。
コメントでは、別の見方を示しています。
エンティティを階層で整理したいだけなら、グラフまでは要らない。
タクソノミで足りる、という主張です。
ただし、リンク先の記事は検索側の話です。
埋め込み検索には一致と除外の基準がない、という内容なんですね。
複数ホップや全体要約を否定する実験ではありません。
ですから、整理の道具としての代替案と受け取るのがいいでしょう。
スレッドには、用途に合わない導入やデータ品質を突く反応もあります。
ただ、こちらは測定ではなく、意見として出ています。
まとめ
投稿の問いに戻りましょう。
あなたのデータには、意味の近さだけでは取れない構造がありますか?
「ある」と答えたなら、次はその構造をどの問いで使うかを見てください。
- 1か所に書いてある事実が大半なら、ベクトル検索で足ります。Microsoft GraphRAG は、事実取得で 49.29 対 60.92 と負けています。
- 関係を辿る問いが多いなら、グラフ誘導型が候補です。ただし、Microsoft GraphRAG との差は一つのデータセットで 2.45 点です。自分のデータで両方試してみてください。
- コーパス全体のテーマを聞きたいなら、コミュニティ要約が本来の用途です。
- 件数を数えたいなら、類似検索ではなく集計クエリを使ってください。
グラフを足すかどうか決める前に、まず自分の問いを数えてみましょう。
どの種類が多いかで、勝つ方式は変わります。
