범용 AI 모델은 세상에 대해 많은 것을 알지만 당신의 비즈니스에 대해서는 아무것도 모릅니다. 당신의 제품 매뉴얼도, 내부 정책도, 지난 분기 보고서도 본 적이 없습니다. 검색 증강 생성(retrieval-augmented generation, RAG)은 바로 그 간극을 메우는 기술입니다. 모델을 재학습시키지 않고도 당신의 문서를 사용해 정확하게, 그것도 출처와 함께 질문에 답하게 해 줍니다. 이 가이드는 RAG가 무엇인지, 어떻게 작동하는지, 언제 사용해야 하는지를 설명합니다.

핵심 요약

  • RAG는 당신의 콘텐츠에서 관련 조각을 검색해 prompt에 포함하므로, 모델이 학습 데이터만이 아니라 당신의 지식으로 답한다
  • 문서를 embeddings로 변환해 vector database에 저장하고, 각 질문에 가장 가까운 일치를 검색하는 방식으로 작동한다
  • RAG는 hallucination을 줄이고 출처를 인용할 수 있게 하며, fine-tuning보다 최신 상태로 유지하기가 쉽고 저렴하다
  • “우리 자료를 아는 AI"라는 대부분의 활용 사례에 적합한 패턴이다: 지원 봇, 사내 지식 도우미, 문서 Q&A

RAG가 해결하는 문제

언어 모델은 비즈니스 활용에 두 가지 한계가 있습니다. 학습 데이터에 있던 것만 안다는 점(따라서 비공개 정보도, 최신 정보도 없음), 그리고 자신 있게 없는 사실을 지어낼 수 있다는 점입니다. 모든 문서를 매 prompt마다 밀어 넣는 것은 현실적이지 않습니다. 양이 너무 많고, 느리며 비용도 큽니다. RAG는 각 질문에 대해 관련된 부분만 가져와 답을 그것에 근거하게 함으로써 이 두 가지를 모두 해결합니다.

검색 증강 생성의 작동 원리

두 단계가 있습니다.

인덱싱(한 번 수행하고 콘텐츠가 바뀌면 갱신):

  1. 문서를 다루기 쉬운 chunk로 나눕니다.
  2. 각 chunk를 그 의미를 담은 수치 벡터인 embedding 으로 변환합니다.
  3. 그 벡터들을 vector database에 저장합니다.

검색과 생성(쿼리 시점):

  1. 사용자의 질문을 embedding으로 변환합니다.
  2. vector database에서 의미가 질문에 가장 가까운 chunk를 검색합니다.
  3. 검색된 chunk를 컨텍스트로 prompt에 삽입합니다.
  4. 모델은 그 컨텍스트에 근거한 답을 생성하며, 이상적으로는 사용한 출처를 인용합니다.

검색이 정확한 키워드가 아니라 의미에 기반하므로, 표현이 다르더라도 RAG는 관련 콘텐츠를 찾아냅니다.

대부분의 경우 RAG가 fine-tuning보다 나은 이유

fine-tuning은 당신의 데이터로 모델의 가중치를 조정합니다. 그 나름의 쓰임이 있지만, 지식 기반 응답에는 보통 RAG가 더 나은 선택입니다.

  • 최신성: 문서를 갱신하고 다시 인덱싱하면 답이 즉시 갱신됩니다. fine-tuning은 변경을 반영하려면 재학습이 필요합니다.
  • 비용: 인덱싱은 반복적인 fine-tuning 실행보다 훨씬 저렴합니다.
  • 통제와 신뢰: RAG는 출처를 보여줄 수 있어 답을 감사할 수 있고 신뢰하기 쉽습니다. fine-tuning으로 얻은 지식은 불투명합니다.
  • hallucination 감소: 모델을 검색된 텍스트에 근거하게 하면 사실에 더 가깝게 유지됩니다.

fine-tuning은 일관된 스타일이나 형식, 또는 좁고 전문화된 동작을 가르치는 데는 더 낫지만, 지식의 집합을 최신으로 유지하는 데는 적합하지 않습니다.

좋은 RAG 시스템을 만드는 것

RAG는 개념적으로 단순하고 잘못하기도 쉽습니다. 품질은 다음에 달려 있습니다.

  • chunking 전략: chunk가 너무 크면 관련성이 희석되고, 너무 작으면 컨텍스트를 잃습니다. 이를 제대로 하는 것이 중요합니다.
  • 검색 품질: 답은 검색된 chunk만큼만 좋습니다. 좋은 embeddings, 합리적인 순위화, 때로는 re-ranking이 차이를 만듭니다.
  • prompt 설계: 검색된 컨텍스트를 어떻게 사용할지(그리고 정보가 없을 때 “모르겠습니다"라고 말하도록) 모델에 지시하는 방식이 신뢰성을 좌우합니다.
  • 인덱스를 최신으로 유지: 변경된 콘텐츠를 다시 인덱싱하는 파이프라인이 시간이 지나도 답을 정확하게 유지합니다.

일반적인 활용 사례

  • 당신의 문서에서 답하는 고객 지원 봇.
  • 정책, wiki, 보고서를 대상으로 하는 사내 지식 도우미.
  • 계약서, 매뉴얼, 리서치를 대상으로 하는 문서 Q&A.
  • 비공개이거나 자주 바뀌는 정보에서 답해야 하는 모든 도우미.

핵심 정리

  • RAG는 쿼리 시점에 관련 조각을 검색해 AI의 답을 당신의 문서에 근거하게 합니다.
  • embeddings와 vector database로 작동합니다. 한 번 인덱싱하고, 질문마다 검색하고 생성합니다.
  • 지식을 최신으로 유지하는 데 있어 RAG는 최신성, 비용, 통제, 신뢰에서 fine-tuning을 앞섭니다.
  • 품질은 chunking, 검색, prompt 설계, 그리고 인덱스를 최신으로 유지하는 데서 나옵니다.

지식을 이해하는 AI를 비즈니스에 더하세요

프로덕션 RAG 시스템에는 적절한 chunking, 검색, prompting, 그리고 최신 상태를 유지하는 인덱싱 파이프라인이 필요합니다. AI 통합 서비스 는 정교하게 설계한 prompt와 비용 관리로 RAG 기반 지식베이스와 그 밖의 지능형 기능을 기존 애플리케이션에 구축합니다. OpenAI API 통합 서비스 는 특히 RAG 기반 도우미를 다룹니다. 대화형 인터페이스로 시작한다면 OpenAI API로 AI 챗봇 만들기 를 참고하세요. AI 도입을 더 넓게 보려면 영국 중소기업을 위한 AI 통합 가이드 가 좋은 출발점입니다.

자주 묻는 질문(FAQ)

검색 증강 생성(RAG)이란 무엇인가요? RAG는 AI 모델이 당신의 문서를 사용해 답할 수 있게 하는 기술입니다. 당신의 콘텐츠에서 가장 관련 있는 조각을 검색해 prompt에 포함하므로, 모델은 학습 데이터만이 아니라 당신의 지식을 바탕으로 응답합니다.

RAG는 fine-tuning과 어떻게 다른가요? RAG는 쿼리 시점에 관련 콘텐츠를 검색해 답을 그것에 근거하게 하므로 갱신이 즉시 반영되고 출처를 인용할 수 있습니다. fine-tuning은 모델의 가중치를 바꾸며 새로운 정보를 반영하려면 재학습이 필요합니다. RAG는 최신 지식에, fine-tuning은 일관된 스타일이나 좁은 동작에 더 적합합니다.

RAG는 AI의 hallucination을 막나요? 검색된 사실에 답을 근거하게 함으로써 크게 줄이고, 출처를 인용할 수 있게 해 답을 감사할 수 있게 합니다. hallucination을 완전히 없애지는 못하므로, 좋은 prompting(모를 때는 모른다고 말하도록 모델에 지시하는 것 포함)이 여전히 중요합니다.

vector database란 무엇이고 RAG는 왜 그것이 필요한가요? vector database는 embeddings, 즉 당신의 문서 chunk의 수치 표현을 저장하고, 의미가 질문에 가장 가까운 것을 찾습니다. RAG는 이를 사용해 정확한 키워드 일치가 아니라 의미에 기반해 관련 컨텍스트를 빠르게 검색합니다.

RAG 시스템을 구축하려면 무엇이 필요한가요? 원본 문서, chunking 및 embedding 파이프라인, vector database, 그리고 관련 chunk를 검색해 그것으로 모델에 prompt를 주는 애플리케이션이 필요합니다. 더 어려운 부분은 chunking 전략, 검색 품질, 그리고 인덱스를 최신으로 유지하는 것입니다.