AI
RAG
backend-dev
2026. 4. 17. 14:03
비정형 문서에서 필요한 내용을 검색하고 싶은 경우가 있다. 일반 LLM으로 해당 기능을 구현할 수 있지만, 최신 정보 반영 어려움 그리고 근거 없는 hallucination 발생으로 인해 이상하게 답변을 한다. 해당 문제를 해결하기 위해서 RAG를 자세히 조사해보고 정리해보았다.
RAG란?
Retrieval-Augmented Generation : 검색 증강 생성
LLM이 학습하지 않은 외부 데이터를 검색하여 답변의 정확성과 최신성을 높이는 AI 기술
핵심 용어 정리
- 임베딩 : 텍스트를 숫자로 변환
- 벡터 : 임베딩 숫자의 묶음
- 벡터DB : 벡터 저장 + 유사도 검색
- 청킹 : 문서를 적당한 크기로 분할
검색 방식
- Dense Embedding : 의미 기반 벡터 검색
- Sparse Embedding : 키워드 기반 벡터 검색
- Hybrid Search : Dense + Sparse
고급 검색 기법
- 리랭커 : 후보군을 재평가
- Contextual Retrieval : 청크에 맥락을 붙이는 기법 > 검색 정확도 향상하나 속도 감소
- Late Chunking : 임베딩 후 분할 > 문맥 보존 극대화
핵심
청크가 정크면 어떤 모델을 써도 소용없다.
RAG is dead ???
Claude 개발자 Boris Cherny가 RAG is dead라는 말을했는데, 이거는 틀린말이다.
코드와 같은 정형 텍스트 데이터는 Agentic search가 더 효율적인 것은 맞다.
하지만, 비정형 텍스트 데이터는 Semantic search 가능한 RAG가 더 효율적이다.
RAG가 죽은게 아니라 요구사항 수준이 올라간거다. 요즘 프로덕션은 하이브리드 + 리랭킹 + 메타데이터 필터링을 다 적용한다.