Corrective RAG (교정 RAG)

7. Corrective RAG (교정 RAG)

7.1 Corrective RAG란 무엇인가요?

Corrective RAG는 “틀린 답을 전제로 설계된” RAG입니다. 검색 결과가 잘못되었거나 부족할 수 있다는 것을 인정하고, 이를 감지하고 교정하는 메커니즘을 내장하고 있습니다.

일반 RAG는 낙관적입니다. “검색하면 좋은 결과가 나올 거야”라고 가정합니다. 하지만 현실에서는:

  • 검색 결과가 질문과 관련 없을 수 있습니다.
  • 검색된 문서에 잘못된 정보가 있을 수 있습니다.
  • 필요한 정보가 데이터베이스에 없을 수 있습니다.

Corrective RAG는 비관적(또는 현실적)입니다. “검색 결과가 틀렸을 수 있어. 확인하고 필요하면 고치자”라고 가정합니다.

7.2 Corrective RAG의 동작 과정

Corrective RAG의 동작 과정을 단계별로 설명하겠습니다.

Step 1: 검색 일반 RAG처럼 질문에 대해 검색을 수행합니다.

Step 2: 평가 검색된 각 문서에 대해 “이 문서가 질문에 답하는 데 도움이 되는가?”를 평가합니다.

평가 결과는 보통 세 가지로 나뉩니다:

  • Correct (정확함): 문서가 질문과 관련이 있고 신뢰할 수 있음
  • Ambiguous (모호함): 관련이 있는 것 같지만 확실하지 않음
  • Incorrect (틀림): 문서가 질문과 관련이 없거나 잘못된 정보를 담고 있음

Step 3: 교정 행동 결정 평가 결과에 따라 다른 행동을 취합니다:

  • 대부분 Correct: 그대로 LLM에게 전달해서 답변 생성
  • Ambiguous가 많음: 불확실한 부분에 대해 추가 검색 수행
  • Incorrect가 많거나 Correct가 없음: 다른 소스로 전환 (예: 웹 검색)

Step 4: 지식 정제 (Knowledge Refinement) 검색 결과가 사용 가능하지만 노이즈가 섞여 있다면, 불필요한 부분을 제거하고 핵심 정보만 추출합니다.

Step 5: 생성 교정된 정보를 바탕으로 최종 답변을 생성합니다.

7.3 Corrective RAG가 중요한 이유

QA 시스템, 고객 응대에 매우 중요합니다.

고객이 “제품 A의 보증 기간이 어떻게 되나요?”라고 물었는데, 검색 결과가 없거나 엉뚱한 문서가 검색되었다고 가정해봅시다.

일반 RAG는:

  • 관련 없는 문서를 바탕으로 잘못된 답변을 하거나
  • “모르겠습니다”라고 답하고 끝

Corrective RAG는:

  • 검색 결과가 부족하다는 것을 인식
  • 웹 검색이나 다른 데이터베이스에서 추가 검색
  • 정확한 정보를 찾아서 제공
  • 그래도 못 찾으면 “공식 고객센터에 문의하세요”같은 대안 제시

고객 서비스에서 잘못된 답변은 큰 문제를 일으킬 수 있습니다. 보증 기간을 잘못 안내해서 고객이 손해를 보거나, 잘못된 사용 방법을 안내해서 사고가 나거나. Corrective RAG는 이런 위험을 줄여줍니다.

7.4 Self-RAG와의 관계: 실무형 확장판

Corrective RAG는 Self-RAG의 “실무형 확장판”이라고 볼 수 있습니다.

Self-RAG는 “이 문서가 관련 있나?”, “답변이 지지되나?”를 평가합니다. 하지만 평가 결과가 나쁠 때 어떻게 할지에 대한 구체적인 행동은 정의하지 않습니다.

Corrective RAG는 여기서 한 발 더 나아가, 평가 결과가 나쁠 때의 구체적인 교정 행동을 정의합니다:

  • 검색 결과가 나쁘면 → 웹 검색으로 대체
  • 정보가 부족하면 → 추가 검색
  • 노이즈가 많으면 → 정제 과정 수행

실무에서 RAG를 운영할 때는 “평가만 하고 끝”이 아니라 “평가 결과에 따른 행동”이 정의되어야 합니다. Corrective RAG는 이 부분을 채워줍니다.

7.5 Corrective RAG의 장단점

장점:

  • 검색 실패에 강건합니다. 내부 문서에서 못 찾으면 웹에서라도 찾습니다.
  • 답변 품질이 향상됩니다. 관련 없는 문서가 LLM에 전달되는 것을 방지합니다.
  • 사용자 경험이 개선됩니다. “모르겠다”로 끝나지 않고 대안을 제시합니다.

단점:

  • 평가 모델의 정확성에 의존합니다. 평가가 잘못되면 좋은 문서를 버리거나 나쁜 문서를 사용할 수 있습니다.
  • 추가 처리로 인한 비용과 지연이 발생합니다.
  • 웹 검색 등 외부 소스 사용 시 정보의 신뢰성 문제가 있을 수 있습니다.

댓글 남기기