피드로 돌아가기
Why My RAG App Kept Hallucinating (and How I Fixed It)
Dev.toDev.to
AI/ML

Semantic Chunking과 Reranking 도입을 통한 RAG Hallucination 제어

Why My RAG App Kept Hallucinating (and How I Fixed It)

Pallavi Sharma2026년 6월 22일3intermediate

Context

단순 Character-based Split과 Cosine Similarity 기반 Top-k Retrieval 구조로 인한 컨텍스트 오염 발생. 모델이 불충분한 정보 상황에서도 생성 가능성(Plausibility)에 기반해 답변을 강제하는 구조적 한계 노출.

Technical Solution

  • 단순 글자 수 분할 대신 Heading 및 Paragraph 기반 Semantic Chunking을 도입하여 문서 내 논리적 일관성 확보
  • Cosine Similarity의 한계를 극복하기 위해 Cross-encoder 기반 Reranking 단계를 추가하여 실제 Relevance 정밀도 향상
  • Prompt에 'I don't know' 응답 옵션을 명시하여 모델의 임의 생성 가능성 차단
  • Retrieval Score에 Cutoff Threshold를 설정하여 낮은 유사도 결과 시 모델 생성을 원천 차단하는 Gating 메커니즘 구현
  • Happy Path 외에 Ambiguous 및 Missing Information 사례를 포함한 Trap Question Evaluation Set 구축을 통한 정기적 검증

1. Semantic Chunking 적용 여부 및 문맥 유지 단위 검토

2. Vector Search 이후 Cross-encoder를 활용한 Reranking 파이프라인 구축

3. Retrieval Score 기준 Fallback 응답을 위한 Threshold 설정

4. Negative Case(답변 불가 사례)를 포함한 전용 Evaluation Set 구성

원문 읽기