AI 에이전트 구축Building AI Agents
Chapter 07 · Knowledge Graphs

지식 그래프와 GraphRAG

책의 모든 줄에 밑줄을 긋는 것은 아무 줄에도 긋지 않는 것과 같다. 지식 그래프는 텍스트를 마인드맵으로 압축한다 — 엔티티와 관계로.

지식 그래프 삼중항 · 온톨로지 GraphRAG 그래프 추론

Section 01지식을 그래프로

텍스트는 중복으로 가득하다. RAG가 청크를 검색해 LLM에 넣을 때, 노이즈도 함께 들어간다. 우리에게 필요한 것은 간결한 개요도다.

대부분의 사람은 마인드맵의 이점을 안다. 좋은 개요도는 간결하다 — 책의 모든 것에 밑줄을 긋는 것은 아무것도 긋지 않는 것과 같다. 개요도의 원칙은 미래에 질문에 답하게 해줄 핵심 정보와 그것을 잇는 관계를 추출하는 것이다.

이런 스키마는 그래프 — 더 정확히는 지식 그래프(Knowledge Graph, KG) — 로 표현된다. 컴팩트하고, 엔티티와 관계로 지식을 나타내며, 그래프 검색 알고리즘으로 분석할 수 있다.

그래프와 지식 그래프

그래프는 노드(꼭짓점)관계(엣지)로 연결한 데이터 구조다. 무방향·방향·가중치·레이블·다중그래프 등 여러 유형이 있다. KG는 세 가지 속성을 가진 그래프다.

  • 노드는 실제 엔티티를 나타낸다(사람·장소·유전자·질병·금융 상품).
  • 관계는 노드 간의 의미론적 연결을 정의한다.
  • 노드와 엣지는 속성을 가질 수 있다(라벨·출생일·식별자).

정식으로, KG는 사실 기반의 삼중항(triplet)으로 표현되는 지식 기반이다. 삼중항은 (head, relation, tail) 또는 (subject, predicate, object) 형태다 — 예: (Napoleon, BornIn, Ajaccio).

Knowledge Graph — 정식 정의
𝒢 = { ℰ, ℛ, ℱ }  ,  f = ( h, r, t )
엔티티 집합 · 관계 집합 · 사실 집합. 각 사실 f는 (head, relation, tail) 삼중항이다.
Motion · 지식 그래프 탐색 STEP 01 / 5
space 재생 · → 다음 · R 리셋
핵심 — 그래프 대 테이블 같은 데이터를 테이블로도 그래프로도 표현할 수 있다. 그래프의 이점 — 테이블 헤더가 필요 없고, 빈 값으로 가득 차지 않으며, 병합이 극도로 쉽다(삼중항 형식이면 두 KG를 그냥 합치면 된다). 재귀적 구조(트리)·순환적 구조(소셜 네트워크)를 자연스럽게 표현한다.

Section 02분류법과 온톨로지

그래프와 KG의 차이는 무엇인가. 그래프는 엔티티 간 관계를 표현하는 구조일 뿐이지만, KG는 인간과 기계에 추론 능력을 주어 의미론적 관계를 명시적으로 만든다.

분류법 (Taxonomy)

분류법은 유사한 의미를 계층 구조로 정리한 것이다(보통 트리 — dog와 cat을 mammals 아래로). 매우 큰 KG를 검색·필터링할 때 도움이 된다.

온톨로지 (Ontology)

온톨로지는 분류법과 비슷하지만 더 유연하고 표현력 있다. 엔티티 그룹의 관계·속성·분류를 정의하고, 엔티티가 어떻게 상호작용하는지 규칙까지 정한다(합집합·여집합·기수성·추이성). 공유 어휘를 활성화해 정보를 일관되게 통합한다.

직관 — 온톨로지가 추론을 만든다 "Bob이 최대속도 100km/h인 자동차를 소유하고, Bob의 직장은 집에서 120km 떨어져 있다." 온톨로지에 속성과 규칙이 있으면, KG는 "Bob은 1시간 안에 도착할 수 없다"를 추론한다. married_to가 추이적이라고 정의하면, 관계가 명시되지 않아도 개인 정보를 자동 도출한다.
온톨로지의 두 분류
유형역할위치
도메인 독립 온톨로지특정 도메인과 무관한 기본 개념 제공, 데이터 통합 지원첫 번째 수준, 먼저 구축
도메인 온톨로지전문 도메인(의료·금융)의 기본 용어 제공하위 수준, 도메인 독립의 부클래스

KG는 정적 개체가 아니다. 지식은 진화하고 새 엔티티·관계가 추가된다. 지식 그래프 추론(KGR)의 핵심 작업 중 하나가 새 관계 예측이다 — A가 B의 남편이고 C의 아버지라면, B는 C의 어머니다: (A, husband of, B) ∧ (A, father of, C) → (B, mother of, C).

Section 03LLM으로 KG 생성

KG 구축은 다단계 프로세스다.

Concept KG 구축 파이프라인 — 5단계

① 지식 생성 — KG의 목적을 정하고, 소스를 모으고, 어디에 저장·쿼리할지 결정한다.

② 지식 평가 — 얻은 KG의 품질을 평가한다.

③ 지식 정제 — 오류를 확인하고 수정한다(평가와 동시 수행 가능).

④ 지식 보강 — 지식의 간격을 채운다. 추가 소스를 통합하거나 여러 KG를 병합한다.

⑤ 지식 배포 — KG를 독립 애플리케이션(그래프 DB)으로 배포하거나 다른 앱에서 쓴다.

지식 생성의 첫 단계는 온톨로지 정의다. 하향식(핵심 온톨로지 먼저)이나 상향식(전문 온톨로지 먼저)으로 접근한다. 다음은 소스에서 삼중항을 추출하는 일이다. 두 작업으로 나뉜다.

  • 명명된 개체 인식(NER) — 텍스트에서 엔티티를 추출·분류한다.
  • 관계 추출(RE) — 문맥에서 엔티티 간 연결을 식별한다.

LLM은 훈련되지 않은 작업에도 유용한 선천적 능력을 가졌다. 그래서 LLM으로 엔티티와 관계를 추출해 KG를 구축할 수 있다.

LLM 기반 삼중항 추출 — 의사 코드
def extract_triplets(text, ontology):
    prompt = build_prompt(text, ontology)   # 온톨로지 제약 포함
    response = llm.generate(prompt)
    triplets = []
    for line in response.parse():
        h, r, t = line.head, line.relation, line.tail
        if validate(h, r, t, ontology):       # 온톨로지 검증
            triplets.append((h, r, t))
    return triplets                          # 그래프 DB에 저장

Section 04GraphRAG

전통적 RAG는 임베딩 벡터의 유사도로 텍스트 청크를 찾는다. GraphRAG는 지식 그래프에서 검색하고, 찾은 삼중항을 컨텍스트로 제공한다.

GraphRAG는 LLM에 컨텍스트를 제공하고 더 나은 응답을 생성하기 위해 KG를 활용하는 프레임워크다. 고전적 RAG와 매우 비슷해, 혼동을 피하려 후자를 벡터 RAG라 부른다. GraphRAG는 세 단계로 이루어진다.

Concept GraphRAG의 세 단계

① 그래프 기반 인덱싱(G-indexing) — 그래프 데이터베이스를 구축하고 올바르게 인덱싱한다. 개방 KG(위키데이터 등)를 쓰거나 직접 구축한다.

② 그래프 가이드 검색(G-retrieval) — 쿼리가 오면 답에 필요한 부분 그래프를 추출한다.

③ 그래프 향상 생성(G-generation) — 찾은 지식을 컨텍스트로 LLM이 답변을 생성한다.

함정 — 그래프 검색의 두 도전 폭발적 후보 부분 그래프 — 그래프가 커지면 부분 그래프 수가 기하급수적으로 증가한다. 효율적 알고리즘(휴리스틱)이 필요하다. 부족한 유사도 측정 — 쿼리는 텍스트인데 검색은 그래프에서 한다. 알고리즘이 텍스트와 구조적 정보를 모두 이해해야 한다.
GraphRAG 검색기 유형
검색기방식특성
비모수 검색기휴리스틱 규칙, k-홉 경로 탐색가장 단순·빠름, 부정확
GNN 기반 검색기그래프 신경망으로 유사 부분 그래프 검색정확하지만 계산 비용 큼
LLM 기반 검색기트랜스포머 모델, 도구로 그래프 검색정확, 에이전트로 활용 가능, 비쌈

검색 세분성

벡터 RAG는 청크 크기로 세분성을 제어하지만, GraphRAG는 무엇을 검색하느냐로 제어한다.

  • 노드 — 개별 엔티티와 그 속성. 대상이 명확한 쿼리에 유용.
  • 삼중항 — 노드와 그 관계까지. 관계에 관심 있을 때.
  • 경로 — 노드와 관계의 체인. 엔티티 X에서 Y까지 잇는 사슬.
  • 부분 그래프 — 노드·관계의 부분집합. 복잡한 패턴 분석에.
  • 하이브리드 — 여러 세분성을 적응적으로.

찾은 그래프 정보는 LLM에 더 소화하기 쉬운 형태로 변환된다 — 그래프 형식(인접 행렬·엣지 테이블), 자연 언어 설명, 구문 트리, 또는 GraphML 같은 코드 유사 형식.

Motion · GraphRAG — 부분 그래프 검색 STEP 01 / 5
space 재생 · → 다음 · R 리셋

Section 05그래프 추론

KG는 검색뿐 아니라 추론의 도구다. 그래프에 담긴 정보와 그래프 자체의 구조에 대해 추론할 수 있다.

  • 지식 그래프 임베딩 — 엔티티·관계를 벡터로 임베딩해 누락 관계 예측 등에 쓴다.
  • 그래프 신경망(GNN) — 그래프를 기본으로 처리하는 신경망. 노드 분류·엣지 예측에.
  • 지식 그래프에 대한 LLM 추론 — LLM이 그래프 구조와 내용에 대해 추론한다.
직관 — 그래프 위의 다중 에이전트 한 흥미로운 응용 — 여러 KG 에이전트가 1,000편의 논문으로 구축된 KG에서 경로·부분 그래프를 추출하고, 온톨로지를 분석해 새로운 연구 가설을 생성한다. 학계의 논문·저자·인용 네트워크는 그래프로 자연스럽게 모델링되고, 여러 에이전트가 협력해 새 재료 후보까지 제안한다.
직접 LLM · 벡터 RAG · GraphRAG
방식지식 출처강점
직접 LLM매개변수적 메모리만빠름, 외부 의존 없음 · 환각·구식 지식
벡터 RAG텍스트 청크최신 정보 · 중복·전역 정보 부족
GraphRAG엔티티·관계·부분 그래프컴팩트, 구조적 추론, 전역 정보 · 구축 비용
핵심 지식 그래프는 텍스트를 엔티티와 관계로 압축한 마인드맵이다. 삼중항으로 표현되고, 온톨로지가 추론 능력을 더한다. LLM으로 NER·RE를 수행해 KG를 구축하고, GraphRAG는 그래프에서 부분 그래프를 검색해 LLM에 제공한다. 중복 없는 컴팩트한 지식, 구조적 추론, 전역 정보 — 벡터 RAG가 놓치는 것들을 채운다.