Study NoteRAG / LLM
RAG 개념 정리
RAG의 기본 구조와 왜 필요한지, Retrieval 방식별 차이를 정리한 노트입니다.
2026-06-15
RAGBM25Dense Retrieval
Used in Projects
RAG란
RAG(Retrieval-Augmented Generation)는 LLM이 답변을 생성하기 전에 관련 문서를 검색해서 근거로 제공하는 구조입니다.
LLM만 사용하면 생기는 문제:
- 학습 시점 이후의 정보를 모른다
- 사내 문서, 비공개 문서 내용을 모른다
- 세부 수치(금액, 날짜)를 그럴듯하게 지어낼 수 있다 (환각)
RAG는 "검색된 원문"을 근거로 답하게 만들어 이 문제를 완화합니다.
기본 파이프라인
문서 → 청킹 → 임베딩 → Vector DB 저장 (인덱싱)
질문 → 검색 → 관련 chunk → LLM → 답변 (질의)
Retrieval 방식 비교
| 방식 | 원리 | 강점 | 약점 |
|---|---|---|---|
| BM25 | 키워드 빈도 기반 | 고유명사, 금액, 코드 등 정확한 매칭 | 동의어·의미 유사성 못 잡음 |
| Dense | 임베딩 유사도 | 의미 기반 질문에 강함 | 정확한 키워드 매칭에 약함 |
| Hybrid | 둘을 결합(RRF 등) | 두 방식의 약점 상호 보완 | 파이프라인 복잡도 증가 |
실전에서 배운 것
RFP-AI 실험에서 확인한 내용:
- 문서에 고유명사·수치가 많은 도메인일수록 BM25의 기여가 큽니다 (faithfulness 0.79 → 0.91).
- 검색 후보를 넓게 가져온 뒤 Reranker로 상위를 정리하면 context_precision이 개선됩니다.
- "검색이 잘 되는가"와 "답변이 좋은가"는 별개 문제라 지표를 분리해서 평가해야 합니다.