RAG (검색 증강 생성)
중급RAG (검색 증강 생성)는 AI 문맥에서 자주 등장하는 개념입니다. 이 페이지는 중급 난이도로 RAG (검색 증강 생성)의 뜻과 쓰임을 빠르게 이해할 수 있도록 정리한 AI 용어사전 항목입니다.
RAG (검색 증강 생성)를 처음 보는 독자도 헷갈리지 않도록 정의와 맥락, 관련 글 1개를 한 페이지에 묶었습니다. 아래 설명을 먼저 읽고, 이어서 연결된 개념과 글까지 보면 이해가 훨씬 빨라집니다.
RAG(Retrieval-Augmented Generation, 검색 증강 생성)는 대형 언어 모델(LLM)이 응답을 생성할 때 외부 지식 베이스에서 관련 문서를 실시간으로 검색하여 컨텍스트로 사용하는 기술입니다. 모델의 학습 데이터에만 의존하는 대신, 검색 단계를 추가함으로써 더 정확하고 근거 있는 답변을 생성할 수 있습니다.
RAG가 필요한 이유는 세 가지입니다. 첫째, 할루시네이션을 줄일 수 있습니다. 검색된 실제 문서를 근거로 응답을 생성하므로 사실과 다른 내용을 만들어낼 가능성이 낮아집니다. 둘째, 최신 정보를 반영할 수 있습니다. LLM의 학습 데이터는 특정 시점에서 끊기지만, RAG는 최신 문서를 검색 대상에 포함합니다. 셋째, 도메인 특화가 쉽습니다. 사내 문서, 제품 매뉴얼 등 특정 분야의 지식만을 검색 대상으로 지정할 수 있습니다.
RAG의 동작 방식은 다섯 단계로 이루어집니다. ① 사용자가 질문을 입력하면, ② 검색 엔진(주로 벡터 데이터베이스)이 질문과 의미적으로 유사한 문서를 추출합니다. ③ 추출된 관련 문서 조각(청크)을 LLM의 프롬프트에 컨텍스트로 함께 전달합니다. ④ LLM은 전달받은 문서를 참고하여 답변을 생성합니다. ⑤ 최종 응답이 사용자에게 반환됩니다.
RAG는 AI에게 오픈북 시험을 치르게 하는 것과 같습니다. 머릿속에 기억된 것만으로 답하는 대신, 시험 중에도 참고서를 찾아보고 정확한 근거를 바탕으로 답할 수 있게 해주는 기술입니다.
RAG 시스템 구축에서 가장 중요한 첫 번째 단계는 문서 인덱싱입니다. 원본 문서(PDF, 웹페이지, 사내 위키 등)를 적절한 크기의 청크로 분리하고, 각 청크를 임베딩 모델로 벡터로 변환하여 벡터 데이터베이스에 저장합니다. 청크 크기는 RAG 품질에 직접 영향을 미칩니다. 너무 작으면 맥락이 끊기고, 너무 크면 관련 없는 정보가 섞입니다. 보통 512~1024 토큰 크기가 많이 사용됩니다.
실제 RAG 시스템에는 다양한 구현 방식이 있습니다. 가장 단순한 형태인 나이브 RAG(Naive RAG)는 질문 → 검색 → 생성의 단순 파이프라인입니다. 보다 발전된 어드밴스드 RAG(Advanced RAG)는 검색 전 질문을 재작성하거나 검색 후 결과를 재순위화(reranking)하는 과정을 추가합니다. 가장 복잡한 모듈러 RAG(Modular RAG)는 여러 검색 전략을 조합하거나 자기 수정(self-reflection) 루프를 포함합니다.
대표적인 RAG 활용 사례로는 기업 내부 문서 검색 챗봇이 있습니다. 수천 페이지의 사내 정책 문서나 기술 매뉴얼을 인덱싱해두면, 직원이 자연어로 질문할 때 정확한 페이지와 항목을 찾아 답변합니다. 법률 사무소에서는 판례와 법령 데이터베이스를 RAG에 연결해 관련 판례를 빠르게 검색합니다. 의료 분야에서는 최신 임상 가이드라인이나 논문을 RAG 소스로 사용합니다.
RAG와 파인튜닝(Fine-tuning)은 자주 비교됩니다. 파인튜닝은 특정 도메인 데이터로 모델 자체를 재학습하는 방식이고, RAG는 모델을 바꾸지 않고 외부 지식을 프롬프트로 주입하는 방식입니다. 지식이 자주 업데이트되는 환경에서는 RAG가 훨씬 유리합니다. 반면 특정 말투나 응답 형식을 고정하고 싶다면 파인튜닝이 적합합니다. 두 방식을 함께 사용하는 것도 가능하며, 도메인 특화 파인튜닝 모델에 RAG를 결합하면 더 강력한 결과를 얻습니다.
RAG 구현에 자주 사용되는 프레임워크로는 LangChain, LlamaIndex, Haystack 등이 있습니다. 벡터 데이터베이스는 Pinecone, Weaviate, Qdrant, pgvector(PostgreSQL 확장) 등이 널리 사용됩니다. 임베딩 모델로는 OpenAI의 text-embedding-3-small이나 오픈소스인 BGE, E5 시리즈가 많이 선택됩니다. 결국 RAG 파이프라인의 성능은 검색 품질에서 결정됩니다. 검색 단계에서 잘못된 문서를 가져오면 이후 LLM이 아무리 좋아도 정확한 답변을 만들기 어렵습니다.
RAG 시스템 구축 시 자주 발생하는 문제와 해결책도 알아두면 좋습니다. 검색이 너무 많은 문서를 반환하면 LLM의 컨텍스트 창이 넘쳐 중요한 정보가 희석됩니다. 이 경우 리랭킹(reranking) 단계를 추가하여 가장 관련 있는 문서 상위 3~5개만 전달합니다. 반대로 검색 결과가 너무 적거나 관련도가 낮으면, 사용자의 질문을 여러 버전으로 변형해 검색하는 쿼리 확장(query expansion) 기법을 사용합니다. HyDE(Hypothetical Document Embeddings)처럼 LLM이 먼저 가상의 답변을 만들고 그것으로 검색하는 방법도 있습니다.
RAG의 평가 지표로는 검색 단계의 정밀도(Precision)·재현율(Recall)과 생성 단계의 충실도(Faithfulness), 답변 관련성(Answer Relevance)이 주로 사용됩니다. RAGAS 같은 평가 프레임워크가 이 지표들을 자동으로 측정합니다. RAG는 기업 AI 도입의 첫 번째 단계로 자리 잡았습니다. 전체 모델을 파인튜닝하지 않고도 기업 고유의 지식을 AI에 주입할 수 있기 때문입니다.
관련 글
아래 글들은 RAG (검색 증강 생성)가 실제 문맥에서 어떻게 쓰이는지 보여주는 참고 자료입니다. glossary에서 개념을 잡고 관련 글로 넘어가면 이해가 훨씬 쉬워집니다.
