RAG(Retrieval-Augmented Generation)는 검색(Retrieval)과 생성(Generation)을 결합한 AI 활용 방식이다. 외부 지식을 먼저 검색한 후, 그 내용을 바탕으로 LLM이 답변을 생성하는 구조다.
용어를 분해해보면 다음과 같다.
직역하면 "검색으로 보강된 생성" 정도가 된다.
GPT 같은 LLM은 학습 시점 이후의 정보를 알지 못한다. 2023년이나 2024년에 학습된 모델은 그 이후의 최신 정보를 제공할 수 없다. 또한 회사 내부 문서, PDF, 데이터베이스 같은 사적 데이터도 원래는 접근할 수 없다.
따라서 단순 LLM만 사용하면 다음과 같은 문제가 발생한다.
RAG를 사용하면 AI가 외부 지식과 연결되어 정확한 답변을 제공할 수 있다.
RAG는 다음과 같은 흐름으로 동작한다.
사용자가 질문을 입력한다.
예시: "이번 분기 매출을 요약해줘"
벡터 데이터베이스(Chroma, Pinecone, FAISS 등)에서 관련 문서를 검색한다. 예를 들어 사내 데이터베이스에서 Q2 매출 보고서를 찾아온다.
찾은 문서를 LLM 입력에 추가한다. "매출 보고서 내용을 바탕으로 요약해줘"라는 지시와 함께 LLM이 답변을 생성한다.
출력 예시: "2분기 매출은 20% 증가했으며, 주요 원인은 온라인 판매 확대다."
전체 흐름을 정리하면 다음과 같다.
[사용자 질문]
↓
[검색(Retrieval): DB/문서에서 관련 자료 찾기]
↓
[생성(Generation): LLM이 자료를 읽고 답변 작성]
↓
[최종 답변]
질문: "서울 날씨 어때?"
답변: 학습된 오래된 정보만 말하거나 틀린 답을 제공할 수 있다
질문: "서울 날씨 어때?"
과정: 날씨 API에서 오늘 서울 날씨 검색
답변: "오늘 서울은 28도, 맑다"
RAG를 활용하면 다음과 같은 이점을 얻을 수 있다.
RAG를 구현하기 위해서는 다음과 같은 기술이 필요하다.
RAG는 LLM의 한계를 극복하고 실제 업무 환경에서 활용 가능한 AI 시스템을 구축하는 핵심 기술이다. 검색과 생성을 결합함으로써 최신 정보와 사적 데이터를 활용하면서도 자연스러운 답변을 생성할 수 있다. 기업 내부 문서 검색, 고객 지원 챗봇, 지식 관리 시스템 등 다양한 분야에서 RAG의 활용이 확대되고 있다.