PART 8 - 강의 3/4

생성 개선 기법

Self-RAG, CRAG, Citation 및 할루시네이션 방지

01

생성 단계의 도전과제

검색 결과가 있어도 발생하는 문제들

주요 문제점
  • 할루시네이션: 검색 결과와 무관한 내용 생성
  • 출처 불명확: 어떤 문서에서 왔는지 알 수 없음
  • 불필요한 검색: 검색 없이도 답할 수 있는 질문
  • 맥락 무시: 검색 결과를 제대로 활용하지 않음
02

Citation 생성

출처 명시로 검증 가능성 확보

답변에 출처를 명시하면 사용자가 정보를 검증할 수 있고, 할루시네이션을 감지하기 쉬워집니다.

검색된 문서
[1] RAG는 2020년 Meta에서 발표한 기법이다...
[2] RAG의 장점은 최신 정보 활용이 가능하다는 것...
[3] 할루시네이션을 줄이기 위해 출처 기반 답변...
->
생성된 답변
RAG는 2020년에 Meta에서 발표된 기법입니다[1]. 주요 장점으로는 최신 정보를 활용할 수 있다는 점[2]과 출처 기반 답변으로 신뢰성을 높일 수 있다는 점[3]이 있습니다.
## 지시
다음 문서들을 참고하여 질문에 답하세요.
# 반드시 출처를 [1], [2] 형식으로 표기하세요.

## 문서
{documents}

## 질문
{question}

## 답변 형식
- 각 주장에 [번호] 형식으로 출처 표기
- 문서에 없는 내용은 "문서에서 확인할 수 없습니다"라고 답변
03

Self-RAG

스스로 판단하는 RAG

Self-RAG는 LLM이 스스로 검색 필요성을 판단하고, 생성한 내용의 품질을 검증하는 기법입니다.

판단
검색이 필요한가?
"이 질문에 답하려면 외부 정보가 필요한가?"
YES - 검색 실행 NO - 바로 생성
검색
문서 검색 및 선택
관련 문서를 검색하고, 실제로 유용한 문서인지 판단
생성
답변 생성
검색된 문서(또는 자체 지식)를 바탕으로 답변 생성
검증
생성 결과 검증
"생성된 답변이 문서 내용과 일치하는가? 질문에 제대로 답했는가?"
통과 - 답변 반환 실패 - 재생성/수정
Self-RAG의 핵심 토큰
  • [Retrieve]: 검색 필요 여부 (yes/no/continue)
  • [IsRel]: 검색 결과의 관련성 (relevant/irrelevant)
  • [IsSup]: 답변이 문서에 근거하는지 (supported/not)
  • [IsUse]: 답변이 유용한지 (1-5 점수)
04

CRAG (Corrective RAG)

검색 결과 품질에 따른 적응

CRAG는 검색 결과의 품질을 평가하여 Correct, Incorrect, Ambiguous로 분류하고, 각 상황에 맞는 전략을 적용합니다.

검색 결과 품질 평가
v Correct
정확한 검색

검색 결과를 그대로 사용
Knowledge Refinement로 핵심만 추출
v Ambiguous
불확실

내부 + 외부 검색 결합
웹 검색으로 보완
v Incorrect
잘못된 검색

검색 결과 폐기
웹 검색으로 대체
E
Retrieval Evaluator
경량 분류 모델로 검색 결과의 품질을 평가합니다. 쿼리-문서 쌍의 관련성을 점수화합니다.
W
Web Search Fallback
내부 검색이 실패하면 웹 검색으로 보완합니다. 최신 정보나 범위 밖의 질문 처리에 유용합니다.
05

할루시네이션 방지 전략

신뢰할 수 있는 답변 생성

P
명시적 지시
"문서에 없는 내용은 답하지 마세요" "확실하지 않으면 모른다고 하세요"
L
출처 강제
모든 주장에 출처 표기 요구. 출처 없는 내용 = 할루시네이션 가능성
T
Temperature 조절
낮은 Temperature로 일관되고 사실적인 답변 유도 (0.1~0.3)
V
사후 검증
생성된 답변이 문서와 일치하는지 별도 모델로 검증
Q
구체적 질문
모호한 질문을 구체화하여 명확한 답변 범위 설정
F
포맷 제약
구조화된 출력 형식으로 자유로운 생성 제한
X 할루시네이션 발생
Q: RAG는 언제 발표되었나요?

A: RAG는 2019년 Google에서 처음 발표되었으며, BERT 기반의 검색 시스템입니다.

* 사실과 다름: 2020년, Meta, BART 기반
O 출처 기반 답변
Q: RAG는 언제 발표되었나요?

A: 제공된 문서에 따르면, RAG(Retrieval-Augmented Generation)는 2020년 Meta(Facebook AI Research)에서 발표되었습니다[1].
06

생성 최적화 프롬프트

효과적인 RAG 프롬프트 작성

## System Prompt
당신은 전문 리서치 어시스턴트입니다.
주어진 문서만을 참고하여 정확하게 답변하세요.

## 규칙
1. 문서에 있는 정보만 사용하세요
2. 모든 주장에 [번호] 형식으로 출처를 표기하세요
3. 문서에 답이 없으면 "제공된 문서에서 해당 정보를 찾을 수 없습니다"라고 답하세요
4. 추측하거나 외부 지식을 사용하지 마세요

## 참고 문서
{context}

## 질문
{question}

## 답변
추가 기법
  • Chain-of-Note: 각 문서에서 관련 정보를 먼저 추출 후 종합
  • Verify-then-Generate: 검색 결과 검증 후 생성
  • Refine: 초기 답변 생성 후 추가 문서로 개선
07

검색 vs 직접 생성 판단

적절한 전략 선택

모든 질문에 검색이 필요한 것은 아닙니다. 적절한 판단으로 불필요한 검색을 줄일 수 있습니다.

상황 추천 이유
일반 상식 질문 직접 생성 LLM이 이미 알고 있음
최신 정보 필요 검색 필수 학습 데이터 이후 정보
도메인 특화 질문 검색 필수 내부 문서 참조 필요
창의적 작업 직접 생성 검색이 오히려 방해
코드 생성/수정 상황에 따라 문서 참조가 도움될 수 있음
팩트 체크 필요 검색 필수 정확성이 중요
SUMMARY

핵심 요약

  • Citation - 출처 명시로 검증 가능성 확보
  • Self-RAG - 검색 필요성/품질 자체 판단
  • CRAG - 검색 품질에 따른 적응 전략
  • 할루시네이션 방지 - 명시적 지시, 검증, 포맷 제약