LLM이 응답을 만들기 전에 외부 문서나 DB에서 관련 정보를 검색해 컨텍스트에 넣어 주는 기술. 모델이 모르는 정보도 정확하게 답할 수 있게 해준다.
LLM은 학습 시점까지의 지식만 가지고 있고, 모르는 건 그럴듯하게 지어낸다(환각). RAG는 이 문제를 "답하기 전에 먼저 찾아보기"로 해결한다. 사용자 질문이 들어오면 관련 문서를 벡터 DB에서 검색하고, 찾은 내용을 프롬프트에 넣어서 모델이 근거 있는 답변을 생성하도록 한다.
가장 흔한 활용은 자체 문서 기반 Q&A다. 사내 위키, API 문서, 매뉴얼을 임베딩해서 벡터 DB에 넣어 두면, "배포 절차가 어떻게 돼?"라고 물었을 때 실제 문서에서 관련 부분을 찾아 답변한다.
구축 파이프라인은 문서 수집 → 청킹(작은 단위로 분할) → 임베딩(벡터 변환) → 벡터 DB 저장 → 검색 → LLM 생성의 6단계다. LangChain이나 LlamaIndex 같은 프레임워크로 이 파이프라인을 빠르게 구성할 수 있다.
기본 RAG 외에도 Graph RAG(지식 그래프 기반 검색), Agentic RAG(에이전트가 검색 전략을 스스로 결정), Hybrid RAG(키워드 + 시맨틱 검색 결합) 등으로 진화하고 있다.