GraphRAG 지식 지도¶
저장소에 쌓인 GraphRAG 계열 정리 10건이 서로 어디에 놓이는지 그린 지도입니다. 개별 노트는 각자 완결돼 있지만, 어느 것이 어느 것을 반박하고 보완하는지는 본문 링크로만 흩어져 있어 따로 모았습니다.
- 기준 좌표계: LLM on Graphs 서베이 (arXiv:2312.02783)
- 갱신: 2026-09-29
범례¶
| 표시 | 뜻 |
|---|---|
| 초록 테두리 | 정리가 있습니다 |
| 노랑 테두리 | 다른 노트에서 스쳐 지나갔고 전용 정리는 없습니다 |
| 분홍 바탕 | 아직 다루지 않았습니다 |
관계도의 모양과 선은 다음을 뜻합니다.
| 요소 | 뜻 |
|---|---|
| 문서 모양 | 논문 정리 |
| 둥근 사각형 | 블로그 정리 |
| 원통 | 저장소 정리 |
| 굵은 초록 테두리 | 이 계열의 기준선 |
| 빨간 점선 | 반박 관계 |
| 초록 실선 | 개선 관계 |
| 회색 실선 | 계보나 공급 관계 |
좌표계: 어디를 읽었나¶
서베이가 제시한 격자입니다. 무엇이 최종 예측을 내놓느냐로 역할이 갈립니다.
block-beta
columns 4
space h1["LLM as Predictor<br/>LLM이 최종 출력"] h2["LLM as Encoder<br/>GNN이 최종 출력"] h3["LLM as Aligner<br/>둘을 정렬"]
r1["Pure Graphs<br/>텍스트 없는 그래프"] a1["읽음 · 5건<br/>Graph as Sequence"] a2["빈칸"] a3["빈칸"]
r2["Text-Attributed<br/>노드·엣지에 텍스트"] b1["읽음 · 5건<br/>Graph as Sequence"] b2["빈칸"] b3["빈칸"]
r3["Text-Paired<br/>그래프 전체에 설명"] c1["부분<br/>서베이에서만"] c2["빈칸"] c3["빈칸"]
classDef hdr fill:#f0ede7,stroke:#b6b0a6,color:#5b554e
classDef row fill:#f0ede7,stroke:#b6b0a6,color:#1e1c1a
classDef read fill:#eef3ee,stroke:#3d6b45,stroke-width:2px,color:#1e1c1a
classDef part fill:#f9f4e8,stroke:#b8a86a,color:#1e1c1a
classDef gap fill:#fdf6f4,stroke:#d9b3a8,color:#a8503c
class h1,h2,h3 hdr
class r1,r2,r3 row
class a1,b1 read
class c1 part
class a2,a3,b2,b3,c2,c3 gap
읽은 것이 한 열에 몰려 있습니다. 열 건 전부 LLM as Predictor 안의 Graph as Sequence, 곧 그래프를 텍스트로 풀어 컨텍스트에 넣는 방식입니다. GNN 을 학습시키는 나머지 여섯 칸은 손대지 않았습니다.
계열 내부 관계¶
flowchart TB
SUR@{ shape: doc, label: "**LLM on Graphs 서베이**<br/>9칸 격자로 전체 지형을 정의" }
LAND@{ shape: rounded, label: "**Graph RAG의 모든 것**<br/>패턴 5종 · 구현체 3종" }
MS@{ shape: rounded, label: "**Microsoft GraphRAG**<br/>커뮤니티 요약 · Local · Global · DRIFT" }
LOGIC@{ shape: doc, label: "**LogicRAG**<br/>사전 그래프를 만들지 말고<br/>질의 시점에 DAG 를 세운다" }
ROG@{ shape: doc, label: "**ROGRAG**<br/>그래프는 두고 검색을<br/>logic form 다음 dual-level 로" }
OKF@{ shape: rounded, label: "**Open Knowledge Format**<br/>포맷 표준 제안" }
CRAB@{ shape: lin-cyl, label: "**OpenCrab**<br/>온톨로지 공장 · MCP 30종" }
PATH@{ shape: doc, label: "**PathRAG**<br/>이웃 전부가 아니라<br/>노드 쌍 사이 핵심 경로만" }
GB@{ shape: doc, label: "**GraphRAG-Bench**<br/>난도 4단계 · 11종 비교<br/>관련도와 토큰까지" }
RSB@{ shape: doc, label: "**RAGSearch**<br/>에이전트 검색 아래서<br/>dense 대 GraphRAG 5종 비교" }
SUR ==>|"한 칸으로 좁히면"| LAND
LAND ==>|"대표 구현"| MS
MS -.->|"반박 · 전처리가 비싸다"| LOGIC
MS -->|"개선 · 검색을 여러 겹으로"| ROG
OKF --> CRAB
CRAB -.->|"그래프를 공급"| MS
MS -->|"개선 · 검색량을 줄인다"| PATH
RSB -.->|"반박 · 멀티홉에선 그래프가 필요"| LOGIC
GB -->|"같은 결론 · 다른 데이터"| RSB
linkStyle 0,1 stroke:#5b554e,stroke-width:2.5px
linkStyle 2 stroke:#a8503c,stroke-width:2.5px
linkStyle 3 stroke:#3d6b45,stroke-width:2.5px
linkStyle 4 stroke:#8a837a,stroke-width:1.5px
linkStyle 5 stroke:#b6b0a6,stroke-width:1.5px
linkStyle 6 stroke:#3d6b45,stroke-width:2.5px
linkStyle 7 stroke:#a8503c,stroke-width:2.5px
linkStyle 8 stroke:#8a837a,stroke-width:1.5px
classDef paper fill:#ffffff,stroke:#3d6b45,stroke-width:2px,color:#1e1c1a
classDef blog fill:#f7f5f0,stroke:#8a837a,stroke-width:1.5px,color:#1e1c1a
classDef repo fill:#f2f0ea,stroke:#5b554e,stroke-width:1.5px,color:#1e1c1a
classDef base fill:#eef3ee,stroke:#3d6b45,stroke-width:3px,color:#1e1c1a
class SUR,LOGIC,ROG,PATH,RSB,GB paper
class LAND,OKF blog
class CRAB repo
class MS base
가운데 Microsoft GraphRAG가 기준선입니다. LogicRAG는 그 전처리 비용을 문제 삼아 그래프를 아예 없애자는 쪽이고, ROGRAG는 그래프를 유지한 채 검색 단계를 쌓는 쪽입니다. 같은 대상을 두고 정반대 방향으로 갈라집니다. PathRAG는 그래프와 검색 단계는 두고 가져오는 양을 줄이는 세 번째 방향입니다. RAGSearch는 이 논쟁에 실측으로 끼어들어, 에이전트 검색이 붙어도 멀티홉에서는 그래프가 이긴다는 쪽으로 LogicRAG의 주장을 반박합니다.
노트 목록¶
| 노트 | 위치 | 역할 |
|---|---|---|
| LLM on Graphs 서베이 | 최상위 좌표계 | 9칸 격자와 미해결 목록 |
| Graph RAG의 모든 것 | 계열 지형도 | 디자인 패턴 5종, RAPTOR, MS GraphRAG, AWS Toolkit |
| Microsoft GraphRAG 해부 | 기준선 각론 | 인덱싱 8단계, 토큰 예산 배분, 정렬 기준 |
| LogicRAG | 반박 | 질의 시점 DAG, rolling memory |
| ROGRAG | 개선 | dual-level과 logic form 다단계, ablation |
| PathRAG | 개선 | 흐름 전파 경로 가지치기, 경로 단위 프롬프트, 토큰 비용 |
| RAGSearch | 실측 비교 | 에이전트 4종 × 백엔드 6종, 구축 비용표 |
| GraphRAG-Bench | 실측 비교 | 난도 4단계, 재현율 대 관련도, 프롬프트 토큰, 색인 비용 |
| Open Knowledge Format | 표현 계층 | 지식 포맷 표준 제안 |
| OpenCrab | 구축 도구 | 온톨로지 공장, MCP 도구 30종 |
읽는 순서¶
처음 보는 사람에게 권하는 순서입니다.
flowchart LR
A["1. Graph RAG의 모든 것<br/>전체 판을 먼저 잡는다"]
B["2. Microsoft GraphRAG 해부<br/>기준선이 실제로 어떻게 도는지 본다"]
C["3. LogicRAG · ROGRAG · PathRAG<br/>세 갈래 반응을 대조한다"]
E["4. RAGSearch · GraphRAG-Bench<br/>어느 쪽이 맞는지 실측으로 확인한다"]
D["5. LLM on Graphs 서베이<br/>지금 읽은 것이 전체의 어디인지 확인한다"]
A --> B --> C --> E --> D
서베이를 마지막에 두는 이유가 있습니다. 격자만 먼저 보면 추상적이라 안 남습니다. 구체적인 구현을 먼저 읽고 나서 좌표를 확인해야 "우리가 한 열에만 있었구나"가 체감됩니다.
비어 있는 곳¶
지도를 그리고 나서 드러난 빈칸입니다.
- LLM as Encoder 계열 전체. LLM을 텍스트 인코더로만 쓰고 GNN이 최종 예측을 내는 방식입니다. 사내 위키나 이슈 트래커처럼 노드에 텍스트가 붙은 데이터에는 이쪽이 더 맞을 수 있는데 한 건도 없습니다.
- LLM as Aligner 계열 전체. 대조 학습으로 LLM 임베딩과 GNN 임베딩을 같은 공간에 맞추는 방식입니다.
- Text-Paired Graphs. 분자처럼 그래프 하나가 개체이고 캡션이 붙은 경우입니다. 서베이에서 개념만 읽었고 전용 정리는 없습니다.
- LightRAG, HippoRAG, KAG. 전용 정리는 없습니다. LightRAG는 PathRAG의 주 비교 대상으로, HippoRAG2는 RAGSearch에서 성능 1위 백엔드로 수치만 나옵니다.
- 비용 비교. RAGSearch가 GraphRAG 5종의 구축 비용(100만 토큰당 $0~13.19)을, PathRAG가 질의당 토큰을 처음으로 수치로 줍니다. 다만 둘 다 위키백과·공개 요약 데이터 기준이라 도메인 그래프 구축비는 여전히 공백입니다.
마지막 항목이 실무에서 가장 아픕니다. "얼마나 드는가"에 답할 자료가 이제 생겼지만, 공개 데이터 기준 한 벌뿐입니다.