8.7 지식 충돌(Knowledge Conflict) 및 부정확한 정보 처리
RAG(Retrieval-Augmented Generation) 시스템이 마주하는 가장 까다로운 난관은 정보의 부재가 아니라, **‘정보의 충돌(Knowledge Conflict)’**이다. 오라클 시스템은 LLM이 단순히 텍스트를 매끄럽게 요약했는지 검증하는 계층을 넘어, 검색된 지식 베이스(KB) 내에 상충하는 정보가 존재할 때 이를 어떻게 처리하고 방어할 것인지에 대한 확고한 규칙(Deterministic Rule)을 가져야 한다.
지식 충돌은 크게 두 가지 차원에서 발생하며, 오라클은 각각의 차원에 대해 구체적인 검증 매커니즘을 가동해야 한다.
1. 파라메트릭 지식(Parametric Knowledge) vs 주입된 문맥(Injected Context)
LLM은 방대한 파라미터 내부에 사전 학습된(Pre-trained) 지식을 내재하고 있다. RAG의 본질은 이 파라메트릭 지식을 무시하고 프롬프트로 주입된 최신 문맥만을 기반으로 답변을 생성하도록 강제하는 것이다. 그러나 모델은 종종 자신이 학습한 과거의 정답과 새롭게 주입된 문맥이 명백히 상충할 때, 내재된 지식으로 회귀(Fallback)하려는 강력한 본능을 보인다.
- 오라클의 검증 전략 (Faithfulness Check): 오라클의 골든 데이터셋(Golden Dataset)에는 일부러 파라메트릭 지식과 완전히 반대되는 ’가상의/업데이트된 사실’을 주입하는 테스트 케이스를 포함해야 한다.
- (예: “지구의 위성은 3개로 새롭게 밝혀졌다“는 문맥을 강제 주입)
- 이때 오라클은 LLM의 최종 텍스트 출력이 **오직 주입된 문맥에만 논리적으로 의존(Grounded)**하고 있는지 검사하며, “달 1개“라는 사전 학습된 사실을 단 한 방울이라도 섞어냈다면 가차 없이
Fail판정을 내려야 한다.
2. 문서 간 논리적 모순 (Inter-Document Conflict)
벡터 데이터베이스(Vector DB)가 반환한 Top-K 문서들 사이에서 서로 다른 사실을 주장하는 경우 발생한다. 예를 들어 문서 A는 “정책 X의 만료일이 2024년 6월“이라 하고, 문서 B는 “2024년 12월“이라고 명시할 수 있다.
AI 어플리케이션이 이 충돌을 임의로 무마하여 단편적인 답변을 내놓는 것은 치명적이다. 이 상황에서 시스템은 모델의 언어적 생성 능력을 제어하여 반드시 정해진 프로토콜을 따르도록 설계되어야 한다.
- 타임스탬프(Timestamp) 기반 최신성 오라클: 가장 기초적인 방어 매커니즘이다. 충돌이 감지되었을 때 LLM이 구조적으로 제공된 메타데이터(수정일자, 버전 기록 등)를 비교하여 최신 문서를 선택했는지, 오라클이 스크립트 기반 논리(Rule-based Logic)로 역검증한다.
- 다수결 알고리즘 (Majority Vote): 유사한 주장을 하는 문서 클러스터의 비중을 산술적으로 계산하여 LLM의 채택 결과론과 비교하는 결정론적 검사 로직을 도입한다.
- 모순의 명시적 표출 (Explicit Acknowledgment) 강제: 충돌의 우위를 시스템적으로 가릴 수 없는 경우, LLM의 정답지는 어떠한 기교 있는 요약도 허용하지 않는다. 대신, **“검색된 문서 A와 B의 내용이 상충하여 확정적인 답변을 제공할 수 없습니다”**라는 고정된 형식의 정형화된 거절(Refusal) 응답을 출력했는지 판단하는 것이 오라클의 통과(Pass) 기준이 된다.
어떤 시스템이든 완벽한 무결성을 지닌 지식 베이스를 유지하는 것은 불가능하다. 결국 RAG 오라클의 완성도는, LLM이 쓰레기 데이터(Garbage)와 충돌하는 데이터 사이를 유영할 때 이를 매끄럽게 덮는 것이 아니라, 얼마나 시스템적으로 예외를 발생시키고 그 충돌 지점을 인간 관리자에게 기계적으로 고발하는가를 측정하는 통제력에 달려 있다.