본문 바로가기
성공지식백과 로고성공지식백과
GLOSSARY

GraphRAG

고급AI 에이전트

이 페이지는 AI 에이전트 문맥에서 자주 쓰이는 GraphRAG의 뜻과 쓰임을 고급 난이도 기준으로 정리한 AI 용어사전 항목입니다. 정의와 맥락, 관련 용어 6개 순서로 묶었으니, 아래 설명을 먼저 읽고 연결된 개념과 글까지 이어서 보면 이해가 빨라집니다.

GraphRAG는 마이크로소프트 리서치가 공개한 RAG 방식으로, 문서를 벡터로만 저장하는 대신 지식 그래프를 먼저 만들어 두고 그 구조를 검색에 활용합니다. 텍스트 조각을 유사도로 골라 오는 일반 RAG를 평면적인 방식이라고 본다면, GraphRAG는 문서 전체에 흩어진 개체와 관계를 계층으로 정리해 두고 질문의 성격에 따라 다른 층을 꺼내 씁니다. 코드는 오픈소스로 공개되어 있습니다.

일반 RAG가 못 푸는 질문

'이 계약서의 위약금 조항은 무엇인가'처럼 답이 특정 문단 안에 있는 질문은 일반 RAG로 충분합니다. 문제는 '이 500건의 고객 인터뷰에서 반복적으로 나온 불만은 무엇인가' 같은 질문입니다. 답이 어느 한 청크에도 들어 있지 않고 전체에 흩어져 있기 때문에, 상위 다섯 개 조각만 가져오는 방식으로는 접근조차 못 합니다. 검색은 정상적으로 동작하는데 답변이 계속 겉도는 상황이 여기서 생깁니다.

인덱싱 파이프라인

GraphRAG의 인덱싱은 네 단계로 진행됩니다. 먼저 원문을 텍스트 유닛으로 자릅니다. 다음으로 각 텍스트 유닛에서 LLM을 돌려 개체(사람, 조직, 장소 등)와 개체 사이의 관계, 그리고 주요 주장을 뽑아냅니다. 그렇게 만들어진 그래프를 Leiden 알고리즘으로 계층적으로 군집화해 커뮤니티를 만들고, 마지막으로 각 커뮤니티와 그 구성원에 대한 요약문을 생성해 저장합니다.

여기서 만들어지는 커뮤니티 요약이 GraphRAG의 핵심 자산입니다. 원문을 압축한 것이 아니라 '서로 자주 함께 등장하는 개체들의 묶음'에 대한 설명이라, 개별 문서를 다 읽지 않고도 데이터셋 전체의 주제를 파악할 수 있는 중간 계층 역할을 합니다. 계층이 여러 단계라 큰 덩어리에서 작은 덩어리로 내려가며 살펴보는 것도 가능합니다.

글로벌 서치와 로컬 서치

검색 방식도 두 가지로 나뉩니다. 글로벌 서치는 커뮤니티 요약들을 훑어 데이터셋 전체를 아우르는 질문에 답합니다. 앞서 말한 '반복되는 불만은 무엇인가' 같은 질문이 여기에 해당합니다. 로컬 서치는 질문에 등장한 특정 개체에서 출발해 그래프의 이웃 노드와 관련 텍스트 유닛으로 범위를 넓혀 답합니다. 특정 인물이나 제품에 대한 구체적인 질문에 맞는 방식입니다.

두 방식은 근거를 제시하는 방법도 다릅니다. 글로벌 서치는 여러 커뮤니티 요약을 종합해 답을 만들기 때문에 출처가 문단 하나로 특정되지 않고 '어떤 커뮤니티들의 요약에서 나왔다'는 형태로 표시됩니다. 로컬 서치는 원문 텍스트 유닛까지 되짚을 수 있어 인용이 명확합니다. 규제 문서나 감사 대응처럼 근거를 정확히 짚어야 하는 용도라면 이 차이를 미리 고려해야 합니다.

비용을 먼저 계산해야 한다

GraphRAG를 도입할 때 가장 자주 놓치는 것이 인덱싱 비용입니다. 모든 텍스트 유닛마다 LLM을 호출해 개체와 관계를 뽑고, 커뮤니티마다 다시 요약을 생성하기 때문에, 임베딩만 만들어 벡터 데이터베이스에 넣는 일반 RAG와는 비용 규모 자체가 다릅니다. 문서가 자주 바뀌는 환경이라면 재인덱싱 부담까지 함께 봐야 합니다.

그래서 판단 기준은 단순합니다. 사용자의 질문이 대부분 '이 문서 어디에 뭐라고 쓰여 있나' 유형이면 하이브리드 검색에 리랭킹을 붙이는 구성이 훨씬 저렴하고 빠릅니다. 반대로 '전체를 놓고 볼 때 어떤 흐름이 보이는가' 유형이 상당 비중을 차지하고, 대상 문서가 자주 바뀌지 않는다면 GraphRAG가 값을 합니다. 두 방식을 함께 두고 질문 유형에 따라 갈라 보내는 구성도 씁니다.

실제로 잘 맞는 자리는 분량이 크고 개체 관계가 촘촘한 데이터입니다. 수백 건의 사고 보고서, 장기간 쌓인 상담 기록, 특정 산업의 뉴스 아카이브처럼 사람 이름과 조직, 사건이 반복해서 얽히는 자료에서 그래프의 값이 드러납니다. 반대로 서로 독립적인 매뉴얼 문서 모음이라면 관계를 뽑아 봐야 연결이 거의 생기지 않아 투입 대비 얻는 것이 적습니다.

주의할 점도 있습니다. 그래프를 만드는 주체가 LLM이므로 개체 추출 단계에서 생긴 오류가 그대로 그래프에 굳어집니다. 같은 사람이 다른 표기로 두 개의 노드가 되거나, 존재하지 않는 관계가 만들어지기도 합니다. 인덱싱 결과를 한 번은 사람이 훑어보고, 개체 이름 정규화 규칙을 프롬프트에 명시해 두는 작업이 실제 품질을 좌우합니다.

RELATED TERMS

관련 용어

GraphRAG와 함께 자주 언급되는 개념들입니다. 비슷한 말처럼 보여도 역할과 쓰임은 다를 수 있습니다.