RAG는 왜 일반 챗봇보다 정확할까?
“AI 챗봇을 붙였더니 우리 단체 규정을 그럴듯하게 지어내더라고요.” 도입 상담에서 자주 듣는 이야기입니다. 이 문제를 푸는 가장 현실적인 방법이 RAG입니다.
일반 챗봇은 어떻게 답할까
ChatGPT 같은 대형 언어 모델(LLM)은 엄청난 양의 글을 읽고 “다음에 올 말”을 예측하도록 학습되었습니다. 질문을 받으면 그 학습된 기억을 바탕으로 가장 자연스러운 답을 만들어 냅니다. 책을 덮고 보는 클로즈드북 시험과 비슷합니다.
문제는 이 기억에 없는 것들입니다.
- 우리만의 정보: 우리 단체의 환불 규정, 대관 조건, 수강료 정책
- 최신 정보: 이번 시즌 공연 일정, 지난주에 바뀐 운영 시간
- 공개되지 않은 정보: 내부 매뉴얼, 작품 아카이브, 계약 기준
모델은 모른다고 말하기보다 그럴듯한 답을 만드는 쪽으로 기울어 있습니다. 이렇게 사실이 아닌 내용을 자신 있게 말하는 현상을 환각(hallucination)이라고 부릅니다. 고객 응대에서는 이 한 번의 틀린 답이 신뢰를 크게 깎습니다.
RAG는 무엇이 다를까
RAG는 Retrieval-Augmented Generation, 우리말로 검색 증강 생성입니다. 이름 그대로 “검색해서(Retrieval) 보강한 뒤(Augmented) 답을 만든다(Generation)”는 뜻입니다.
AI에게 바로 답하게 하지 않고, 먼저 지정된 자료에서 질문과 관련된 부분을 찾아 질문과 함께 건넵니다. 그리고 이렇게 지시합니다. “아래 자료를 근거로 답하고, 자료에 없으면 모른다고 말해.” 책을 펴 놓고 보는 오픈북 시험으로 바꾸는 셈입니다.
핵심: RAG는 AI를 더 똑똑하게 만드는 기술이 아니라, AI가 무엇을 보고 답할지를 정해 주는 기술입니다.
도슨트로 비유하면
전시장 도슨트를 떠올려 보면 쉽습니다.
- 일반 챗봇은 외운 것만 말하는 도슨트입니다. 말솜씨는 훌륭하지만, 이번 전시에 새로 들어온 작품을 물으면 비슷한 작가 이야기로 그럴듯하게 넘어갑니다.
- RAG는 작품 캡션과 도록을 확인하고 말하는 도슨트입니다. “도록 34쪽에 따르면 이 작품은 2024년작이고요” 하고 근거를 짚어 줍니다. 도록에 없는 질문에는 “확인해서 알려 드릴게요”라고 답합니다.
관람객이 신뢰하는 쪽은 당연히 두 번째입니다. 그리고 두 번째 도슨트의 실력은 결국 도록이 얼마나 정확하고 잘 정리되어 있느냐에 달려 있습니다.
RAG가 답을 만드는 과정
RAG는 크게 두 단계로 움직입니다. 자료를 미리 준비해 두는 단계와, 질문이 올 때마다 답을 만드는 단계입니다.
준비: 자료를 찾기 좋게 쪼개 둡니다
FAQ, 운영 규정, 예매 안내, 작품 설명 같은 자료를 모아 문단 정도의 작은 조각(chunk)으로 나눕니다. 그리고 각 조각을 “의미”로 찾을 수 있게 숫자 좌표(임베딩)로 바꿔 저장합니다. 이렇게 하면 “휠체어로 들어갈 수 있나요?”라는 질문으로도 “장애인 관람 편의 안내” 문단을 찾을 수 있습니다. 단어가 하나도 겹치지 않아도요.
답변: 관련 조각만 꺼내 근거로 붙입니다
질문이 오면 저장된 조각 중 가장 관련 있는 몇 개를 찾아 질문과 함께 AI에게 넘깁니다. AI는 그 조각들을 읽고 답을 쓰며, 어떤 문서의 어느 부분을 참고했는지 출처를 함께 남깁니다.
자료가 바뀌면 준비 단계만 다시 하면 됩니다. 모델을 다시 학습시킬 필요가 없어서 “규정이 바뀌었는데 챗봇은 예전 답을 해요” 같은 문제를 문서 수정만으로 고칠 수 있습니다.
같은 질문, 다른 답
한 극단의 홈페이지 상담 창에 관객이 이렇게 물었다고 해 봅시다.
일반적인 공연 환불 규정을 그럴듯하게 조합한 답입니다. 실제 규정과 다를 수 있고, 근거가 없습니다.
우리 단체의 실제 문서를 찾아 근거로 답하고, 출처를 보여 줍니다.
둘 다 문장은 자연스럽습니다. 차이는 그 답이 어디서 왔는지 확인할 수 있느냐입니다. 관객도, 응대 담당자도 출처를 눌러 바로 확인할 수 있습니다.
한눈에 비교하기
| 일반 챗봇 | RAG 챗봇 | |
|---|---|---|
| 답의 재료 | 학습 때 읽은 기억 | 지정한 우리 자료 + 모델의 언어 능력 |
| 우리만의 정보 | 모름(지어낼 수 있음) | 자료에 있으면 답함 |
| 최신 정보 | 학습 시점까지만 | 자료를 고치면 바로 반영 |
| 근거 확인 | 어려움 | 출처 문서·위치를 함께 표시 |
| 모를 때 | 그럴듯하게 답하기 쉬움 | “자료에 없어 확인이 필요합니다”로 답하게 설정 가능 |
| 고치는 방법 | 프롬프트 수정, 재학습 | 문서 수정 후 다시 저장 |
| 추가 비용 | 거의 없음 | 자료 정리·검색 환경 구축과 유지 |
RAG도 틀릴 때가 있다
RAG를 붙였다고 저절로 정확해지지는 않습니다. 실제로 틀리는 이유는 대부분 AI 모델이 아니라 그 앞 단계에 있습니다.
자료가 낡았거나 서로 충돌할 때
2024년 규정과 2026년 규정이 함께 저장되어 있으면 AI는 어느 쪽이 맞는지 알 수 없습니다. 문서마다 시즌·작성일 같은 정보를 붙이고, 지난 자료는 빼거나 “지난 자료”로 표시해야 합니다.
조각을 잘못 나눴을 때
요금표가 중간에 잘려 앞 조각에는 항목만, 뒤 조각에는 금액만 들어가면 엉뚱한 답이 나옵니다. 표·목록·질문과 답 같은 자료의 모양을 살려 나누는 것이 중요합니다.
검색이 엉뚱한 조각을 가져올 때
의미 검색만으로는 공연명, 작품 번호, 고유명사를 놓칠 때가 있습니다. 의미 검색과 키워드 검색을 함께 쓰는 하이브리드 검색으로 보완합니다.
자료에 없는데도 답하게 두었을 때
“자료에 없으면 모른다고 답하고 담당자에게 연결하라”는 규칙이 없으면 AI는 다시 기억으로 메우려 합니다. 모를 때의 행동을 미리 정해 두는 것이 신뢰를 지키는 마지막 장치입니다.
도입 전 체크리스트
RAG 챗봇을 고민하고 있다면 아래 다섯 가지를 먼저 확인해 보세요. 절반 이상 “예”라면 바로 시작할 수 있습니다.
- 답의 근거가 될 자료(FAQ·규정·안내문·아카이브)가 문서로 남아 있나요?
- 자료가 바뀌면 누가 고칠지 정해져 있나요?
- 공개해도 되는 자료와 내부용 자료를 나눌 수 있나요?
- 자주 받는 질문 30개 정도를 뽑을 수 있나요?
- AI가 답하지 말고 사람에게 넘겨야 할 기준(환불 결정, 민원 등)이 있나요?
참고로 RAG 검색은 AI 에이전트가 쓰는 Tool 하나가 될 수도 있습니다. 에이전트가 필요할 때 “우리 자료 검색”을 골라 쓰는 식입니다. Agent와 Tool의 관계는 지난 글에서 자세히 다뤘습니다.
자주 묻는 질문
RAG란 무엇인가요?
RAG(Retrieval-Augmented Generation, 검색 증강 생성)는 AI가 답하기 전에 매뉴얼·규정·아카이브 같은 지정된 자료에서 관련 내용을 먼저 찾고, 그 내용을 근거로 답하게 하는 방식입니다. 기억에만 의존하는 일반 챗봇과 달리 출처를 보여 줄 수 있습니다.
RAG와 파인튜닝은 무엇이 다른가요?
파인튜닝은 모델 자체를 추가로 학습시켜 말투나 형식을 익히게 하는 방법이고, RAG는 모델은 그대로 두고 답할 때마다 자료를 찾아 붙여 주는 방법입니다. 자주 바뀌는 정보나 출처가 중요한 정보는 RAG가 더 적합하고, 수정도 문서만 고치면 바로 반영됩니다.
자료가 얼마나 있어야 RAG를 만들 수 있나요?
양보다 정리 상태가 중요합니다. 자주 묻는 질문에 답할 수 있는 FAQ, 규정, 안내문 몇십 쪽만으로도 시작할 수 있습니다. 오래된 자료와 최신 자료가 섞여 있으면 먼저 정리하는 것이 정확도에 가장 큰 영향을 줍니다.
RAG를 쓰면 우리 자료가 외부로 유출되지 않나요?
자료를 어디에 저장하고 어떤 AI 모델로 보낼지는 설계 단계에서 정합니다. 데이터가 학습에 쓰이지 않는 API나 자체 서버 환경을 고를 수 있고, 공개해도 되는 자료와 내부용 자료를 나눠 검색 범위를 제한할 수 있습니다.