최근 회사로부터 AI 관련 세미나를 준비하면서 RAG로 업무 전환에 대한 발표를 준비중이다.
공부하면 공부할수록, RAG로의 전환은 필수불가결하다는 생각이 든다.
RAG(검색 증강 생성)이란 무엇인지부터 알아보자.
RAG (Retrieval Augmented Generation)

위 그림이 RAG를 가장 잘 설명한다고 볼 수 있다. RAG란 외부 정보(External Knowledge)를 차곡차곡 거대한 도서관(Vector Database)에 저장하고, 검색(Retrieval)시 질문 내용과 가장 유사한 정보를 검색(Augmented)해서 이를 답변(Generation)에 활용하는 방법론이라고 볼 수 있다.
위 RAG의 정의에서 RAG의 장점이 명확히 드러난다.
1. RAG는 새로운 정보를 활용할 수 있다.
기존의 LLM은 학습이 끝난 시점(Cut-off) 이후의 정보는 알 수 없다. 이를 보완하기 위해 '웹 검색' 기능이 도입되었지만, 아무래도 전문적인 사용자가 원하는 정보는 찾지 못할 가능성이 높고, 찾더라도 이상한 블로그 글 (내 블로그같은...)과 같은 Trash 자료들을 참고할 가능성도 높기에, 전문적인, 신뢰할 수 있는, 새로운 정보들을 참고할 수 있도록 하는 방법론은 RAG가 유일하고, 이 장점 때문에 회사에서 적극적으로 RAG를 도입해야 한다.
2. 할루시네이션의 획기적인 감소
AI가 그럴듯한 거짓말을 하는 할루시네이션(Hallucination)은 기업용 AI 도입의 가장 큰 걸림돌 중 하나이다. 하지만 RAG는 내재된 헛소리 지식에만 의존하지 않고, 객관적인 Fact를 바탕으로 답변을 생성할 수 있기 때문에, 기존의 Foundation Model 대비 Hallucination의 빈도가 크게 감소한다.
3. 명확한 출처 확인 가능
RAG를 통해 근거가 된 문서와, 근거로 가져온 문서의 Line까지 확인할 수 있기 때문에 검증에 유리하다.
4. 효율적인 Context Window 관리

RAG에서는 수만 페이지의 문서 중 질문과 관련이 깊은 핵심 조각들(Chunks) 만을 골라 모델에게 전달하기 때문에, 모델이 처리해야 하는 Context Window가 효율적으로 감소한다. 이를 기반으로 장기 기억(LongTern Context)에서 단점을 보이는 LLM을 보완하는 역할을 한다.
5. 다수 사용자 환경에서의 비용 및 리소스 최적화
모든 데이터를 매번 Prompt에 입력하지 않고, 미리 Vector DB에 저장해 둔 뒤 공유하기 때문에, 수많은 사용자가 동시에 이용하더라도 각자 긴 Context를 입력할 필요 없이, DB에서 꺼내다 쓸 수 있으므로 시스템 전체의 Token 소모량을 획기적으로 감소시킨다. 따라서 다수의 이용자가 있는 기업용 환경에 유리하다.
이와 같은 장점에 의해 RAG를 사내에 도입해야 한다고 볼 수 있다. 현재 FastCampus 강의를 보면서 공부중으로, 오픈 소스 RAG 파이프라인을 구축할 수 있을 때까지 열심히 공부하고 회사에서 RAG 기반 자동화 시스템을 구축하기 위해 노력중이다.