RAG가 막히는 지점: 완전성과 교차지표

최근 리뷰한 온톨로지 그라운딩 엔터프라이즈 에이전트(UniDataAgent) 사례를 보면 단순 사실 조회형 질문에서는 문서 기반 RAG와 온톨로지 접근의 격차가 81.8%→90.9%로 크지 않았습니다. 반면 지역·부서 전체를 훑어야 하는 완전성 질문과 서로 다른 지표를 교차 진단하는 질문에서는 RAG가 57.1~63.6%까지 떨어졌습니다. 검색된 텍스트 조각은 질의와 "관련 있어 보이지만" 완전성이나 지표 간 정합성은 애초에 보장하지 않기 때문입니다.

이 비대칭은 모델이나 임베딩 품질의 문제가 아닙니다. 벡터 유사도는 "이 조각이 질문과 가깝다"만 답할 뿐, "이 지역 전부를 담았는가"나 "이 두 지표가 같은 정의를 쓰는가"는 애초에 답할 수 있는 질문 형태가 아닙니다. 구조를 묻는 질의에는 구조로 답해야 합니다.

온톨로지는 더 똑똑한 검색이 아니라 다른 질의 경로다

온톨로지를 얹는다는 것은 임베딩 모델을 바꾸는 일이 아니라, 엔티티·관계·지표 정의를 스키마로 선언해 일부 질의를 "검색"에서 "구조를 따라가는 조회"로 바꾸는 일입니다. AWS의 지식그래프 참조 아키텍처는 LLM으로 엔티티를 추출해 Cypher로 적재한 뒤, 엔티티 해상도(중복 제거)와 커뮤니티 탐지로 그래프를 정제하는 파이프라인을 제시합니다. 구글의 Spanner Graph 문서도 먼저 엔티티·관계를 테이블로 정의하고 그래프 스키마로 매핑하는 순서를 권장합니다 — 스키마가 먼저, 질의는 그 위에서 돈다는 뜻입니다.

스키마 설계에서 운영까지: RAG 온톨로지 투입 로드맵

기획 단계에서는 RAG 전체를 온톨로지로 바꾸지 않습니다. 질의 유형별(단순 조회/완전성/교차지표) 베이스라인 정답률을 먼저 측정해, 유형 간 격차가 15%p를 넘는 영역에만 투입하는 것을 출발 기준으로 둡니다. 목표 지표는 온톨로지 적용 후 완전성·교차지표 질의 정답률 90% 이상, 지표 정의 변경이 질의 결과에 반영되기까지 리드타임 1영업일 이내로 잡습니다.

흔히 겹치는 실패는 네 갈래입니다. 전체 RAG를 한 번에 온톨로지로 교체해 단순 조회 질의까지 스키마 매핑 오류로 지연·실패가 늘어나는 경우, 엔티티·관계 종류를 지나치게 세분화해 유지보수 비용이 정확도 개선을 압도하는 과설계, 스키마 변경과 질의 파이프라인이 한 배포 단위로 묶여 지표 정의 하나 바뀔 때마다 전체를 재배포해야 하는 경우, 그리고 엔티티 해상도 없이 그래프를 구축해 같은 지역·지표가 이름만 다르게 중복 노드로 쌓이는 경우입니다.

복구 분기는 스키마 매핑 실패를 전제로 설계합니다. 온톨로지 조회가 비거나 신뢰도가 낮으면 벡터 RAG 결과로 자동 폴백하거나 두 결과를 함께 보여주고, 스키마에 없는 새 엔티티·지표가 질의에 등장하면 즉시 실패 처리하는 대신 '미등록 항목'으로 명시해 다음 스키마 갱신 후보로 쌓아 둡니다.

운영 체크리스트로는 배포 전 질의 유형별(단순·완전성·교차) 골든셋으로 회귀 테스트를 돌리고, 스키마 변경 이력을 애플리케이션 코드와 별도로 버전 관리하며, 엔티티 해상도 배치를 주기적으로 실행해 중복 노드 비율을 표준 로그 필드로 남깁니다. 지표 정의·단위·집계 기준처럼 PII는 아니지만 민감한 비즈니스 규칙도 접근 권한을 분리해 둡니다.

지속 운영에서는 매주 "온톨로지로도 못 푼 질의" 상위 유형을 추려, 스키마를 보강해야 할 영역인지 애초에 벡터 RAG로 충분한 질의인지 구분합니다. 완전성·교차지표 비율이 낮은 도메인에 스키마 투자를 계속 늘리면 유지보수 비용만 쌓이고 정확도 개선은 정체됩니다.

한눈에 보는 적용 포인트

RAG에 온톨로지를 올리는 결정은 전체 전환이 아니라 질의 유형별 선택입니다. 완전성·교차지표 질의의 격차가 15%p를 넘는 영역부터 스키마를 선언하고, 매핑 실패 시 벡터 RAG로 폴백하는 경로와 엔티티 해상도 점검을 운영 루틴에 넣으면 투자 대비 격차 해소 효과를 가장 크게 볼 수 있습니다.

참고 링크

Knowledge Graphs and GraphRAG with AWS and Neo4j — AWS 참조 아키텍처

Spanner Graph — Google Cloud

이 글에 대해 AI와 대화하기

AI가 이 글을 읽은 상태로 답합니다. 무엇이든 물어보세요 — 글에 없는 내용이면 없다고 먼저 알려줍니다.

대화창을 불러오는 중…