20

Advanced RAG 패턴: Self-RAG와 CRAG 비교

Day 4: 프로덕션 RAG

학습 목표

Self-RAG와 Corrective RAG(CRAG)의 차이점을 명확히 이해한다 제조 현장에서 두 패턴을 언제 사용해야 하는지 결정할 수 있다 Adaptive RAG로 쿼리 복잡도에 따라 전략을 선택하는 방법을 안다

Advanced RAG 패턴 비교

Self-RAG: 스스로 판단하는 RAG

[Self-RAG 흐름]

1. 질문 수신
2. 검색 필요성 판단 (ISREL 토큰)
   → 필요 없음: LLM 자체 지식으로 답변
   → 필요: 문서 검색
3. 검색된 문서 관련성 평가 (ISSUP 토큰)
4. 답변 생성
5. 답변 충실도 검증 (ISCRIT 토큰)
6. 최종 답변 선택

Self-RAG 특성:

  • 모델이 검색 여부를 스스로 결정
  • 각 단계에서 자체 평가 → 할루시네이션 감소
  • 단점: LLM 호출 횟수 증가 (느리고 비용 높음)

CRAG: 검색 결과를 교정하는 RAG

[CRAG 흐름]

1. 질문 수신 + 문서 검색
2. 관련성 평가 (각 문서)
   → 관련: 핵심 정보 추출 (Knowledge Refinement)
   → 무관: 웹 검색 또는 쿼리 재작성
   → 혼합: 두 전략 결합
3. 교정된 지식으로 답변 생성

CRAG 특성:

  • 검색 실패 시 대안 전략 자동 실행
  • 관련 없는 문서를 필터링하여 품질 향상
  • 단점: 외부 검색 API 필요 (또는 내부 대안 검색)

제조 현장 적용 가이드

상황권장 패턴이유
안전 지침 질의Self-RAG검색 품질 자체 검증 필수
에러 코드 진단CRAG코드 없으면 다른 문서로 대체
일반 설비 정보기본 RAG빠른 응답 우선
복잡한 고장 분석Adaptive복잡도에 따라 전략 선택

Adaptive RAG: 최적 전략 선택기

def adaptive_rag(question):
    complexity = classify_complexity(question)

    if complexity == "simple":  # 규격 조회 등
        return basic_rag(question)
    elif complexity == "complex":  # 복합 고장 진단
        return self_rag(question)
    elif complexity == "safety":  # KOSHA 관련
        return self_rag(question, strict=True)
    else:  # 불명확
        return crag(question)  # 폴백 포함

핵심: 하나의 패턴만 고집하지 말고, 쿼리 유형에 따라 최적 전략을 선택하라.

AI로 학습하기 — 꿀팁
🤖Self-RAG vs CRAG 의사결정 플로우차트AI 학습 팁

제조 현장 쿼리에서 Self-RAG와 CRAG 중 어떤 패턴을 선택할지 결정하는 플로우차트를 만들면 설계 판단이 명확해집니다.

제조 설비 유지보수 RAG 시스템에서 Self-RAG와 CRAG(Corrective RAG)를 선택하는 의사결정 플로우차트를 마크다운 텍스트 다이어그램(ASCII 또는 Mermaid)으로 만들어줘. 포함할 분기 조건: (1) 검색된 컨텍스트 신뢰도 점수 임계값, (2) 쿼리 유형(안전 절차 vs 일반 정보), (3) 컨텍스트 개수 부족 여부, (4) 외부 검색 허용 여부(내부망 제약). 각 분기 결과에서 어떤 행동(재검색/답변생성/거절/외부검색)을 취하는지 명시하고, 이 플로우를 LangGraph로 구현할 때 노드 이름도 함께 적어줘.
이 팁이 도움이 됐나요?
핵심 포인트
  • Self-RAG는 각 단계에서 자체 평가하여 할루시네이션을 줄이지만 속도가 느리다
  • CRAG는 검색 실패 시 대안 전략으로 품질을 유지한다
  • Adaptive RAG는 쿼리 복잡도에 따라 기본/Self/CRAG 중 최적 전략을 선택한다