AI.zip
  • AI 모델
  • 방법론
  • AI 서비스
  • 가격 비교
  • 블로그

AI.zip

AI 모델, 서비스, 방법론을 큐레이션하는 에디토리얼 플랫폼

탐색

  • AI 모델
  • AI 서비스
  • 방법론
  • 블로그

커뮤니티

  • 소개
  • 디스코드 참여
  • 문의

법적고지

  • 이용약관
  • 개인정보처리방침

© 2026 ai.zip. All rights reserved.

Discord 커뮤니티
방법론RAG (Retrieval-Augmented Generation)Corrective RAG (CRAG)

Corrective RAG (CRAG)

RAG (Retrieval-Augmented Generation)

쉽게 이해하기

AI가 자료를 검색했는데 엉뚱한 결과가 나올 때가 있어요. 이 방식은 그런 상황을 자동으로 감지하고 교정합니다. 마치 내비게이션이 잘못된 길로 안내하면 자동으로 경로를 다시 계산하는 것과 똑같아요.

검색 결과를 가져온 뒤 "이 자료가 질문과 정말 관련이 있나?" 점수를 매겨봅니다. 점수가 높으면 그대로 사용하고, 낮으면 "이건 쓸모없다"고 판단해서 다른 방법으로 다시 찾아요.

예를 들어, "2026년 최저임금"을 물었는데 2024년 자료만 나왔다면, 이 시스템은 "이건 오래된 정보라 부정확하다"고 판단하고 인터넷에서 최신 정보를 다시 검색합니다. 의료 상담 AI에서 특히 중요합니다. 잘못된 건강 정보를 제공하면 위험하니까요. 금융 상품 추천 서비스에서도 엉뚱한 상품 정보를 걸러내는 안전장치로 활용됩니다.

기술 심층 분석

📚 선수학습: 이 내용을 이해하려면 RAG (Retrieval-Augmented Generation)와 Self RAG를 먼저 읽으면 좋습니다.

핵심 아키텍처

**Corrective RAG(CRAG)**는 Yan et al. (2024)이 제안한 방법으로, 검색된 문서의 품질을 **경량 평가 모델(retrieval evaluator)**로 판단하고, 품질이 낮을 경우 **웹 검색으로 폴백(fallback)**하는 자기 교정 메커니즘이다. Self-RAG가 리플렉션 토큰으로 자체 평가하는 것과 달리, CRAG는 별도의 평가 모델을 사용하여 더 명확한 교정 경로를 제공한다.

평가 모델은 각 문서의 관련성을 세 등급으로 분류한다:

eval(q,d)∈{Correct,Ambiguous,Incorrect}\text{eval}(q, d) \in \{\texttt{Correct}, \texttt{Ambiguous}, \texttt{Incorrect}\}eval(q,d)∈{Correct,Ambiguous,Incorrect}

분류 결과에 따라 세 가지 **교정 행동(corrective action)**이 수행된다:

검색된 문서 {d₁, d₂, ..., dₖ}
         │
    ┌────┴────┐
    ▼         ▼
 평가 모델 (각 문서별)
    │
    ├─ Correct (하나라도 Correct) ──▶ 지식 정제(Knowledge Refinement)
    │                                  └─ 세분화 → 필터링 → 재조합
    │
    ├─ Incorrect (모두 Incorrect) ──▶ 웹 검색 폴백
    │                                  └─ 쿼리 재작성 → 웹 검색 → 결과 통합
    │
    └─ Ambiguous (혼재) ──▶ 지식 정제 + 웹 검색 결합
                              └─ 두 소스의 컨텍스트를 병합
         │
         ▼
    LLM 생성 → 답변

지식 정제(Knowledge Refinement) 과정은 검색된 문서를 더 작은 단위(knowledge strip)로 분해한 뒤, 각 단위의 관련성을 재평가하여 노이즈를 제거한다:

drefined=⨁s∈strips(d)s⋅1[rel(q,s)>τ]d_{\text{refined}} = \bigoplus_{s \in \text{strips}(d)} s \cdot \mathbb{1}[\text{rel}(q, s) > \tau]drefined​=⨁s∈strips(d)​s⋅1[rel(q,s)>τ]

여기서 ⨁\bigoplus⨁는 연결(concatenation), τ\tauτ는 관련성 임계값1이다.

성능 및 비교

CRAG는 Self-RAG와 함께 자기 교정 RAG 카테고리에 속하지만, 접근 방식이 다르다:

특성Self-RAGCRAG
평가 방식리플렉션 토큰 (내재적)별도 평가 모델 (외재적)
교정 방식후보 답변 선택소스 교체 (웹 폴백)
파인튜닝 필요Yes (특수 토큰 학습)No (플러그인 방식)
웹 검색 통합없음핵심 기능

벤치마크 결과:

벤치마크표준 RAGSelf-RAGCRAG
PopQA50.854.956.2
Biography62.368.171.4
PubHealth65.772.473.8

특히 지식이 빠르게 변하는 도메인(뉴스, 인물 정보)에서 웹 검색 폴백의 효과가 두드러진다.

장점과 한계

장점:

  • 기존 RAG에 플러그인 방식으로 추가 가능 — 파인튜닝 불필요
  • 웹 검색 폴백으로 지식 커버리지 대폭 확장
  • 지식 정제로 컨텍스트 노이즈 감소

한계:

  • 평가 모델의 정확도가 전체 시스템을 좌우 — 오평가 시 좋은 문서 버리거나 나쁜 문서 수용
  • 웹 검색 결과의 신뢰성 검증이 추가로 필요
  • 평가 모델 + 웹 검색 API 호출로 레이턴시 증가

실무 적용 가이드

  1. 평가 모델: bge-reranker 또는 NLI 모델(cross-encoder/nli-deberta-v3-base)을 관련성 평가기로 활용
  2. 임계값 설정: Correct > 0.7, Incorrect < 0.3, 나머지 Ambiguous로 3단계 분류
  3. 웹 검색 API: Tavily, Serper, 또는 Bing Search API — 답변 품질은 Tavily가 RAG 용도에 최적화
  4. 쿼리 재작성: 웹 검색 전 LLM으로 검색 친화적 쿼리로 변환 (e.g., 대화체 → 키워드)
  5. 비용 제어: 웹 검색 폴백 비율을 모니터링하고, 30% 이상이면 로컬 지식베이스 보강 필요 신호

Footnotes

  1. 관련성 임계값(relevance threshold) τ\tauτ는 문서 조각이 컨텍스트에 포함될 최소 관련성 점수다. 보통 0.5~0.7 범위에서 설정한다. ↩

이전글

Contrastive Learning

다음글

Denoising Pretraining

댓글

0개

댓글을 작성하려면

로그인

해주세요

방법론 정보

상위 카테고리

RAG (Retrieval-Augmented Generation)

관련 게시글

5개

사용 서비스

4개

관련 게시글

Fine-tuning vs RAG: 어떤 방법을 선택해야 하나?

COMPARISON

LLM 파인튜닝 실전 가이드: QLoRA로 나만의 모델 만들기 (2025)

TUTORIAL

RAG 완전 정복: 개념부터 프로덕션 배포까지 (2025)

GUIDE

사용 서비스

NotebookLM

Elicit

Perplexity

관련 방법론

Advanced RAG

Agentic RAG

Graph RAG

Hypothetical Document Embeddings (HyDE)

Modular RAG

Naive RAG

RAG Fusion

Self RAG