RAGRetrieval-Augmented Generation

답하기 전에 자료를 찾아와 곁에 두고 쓰는 방식

핵심 정리
  • RAG (Retrieval-Augmented Generation, 검색 증강 생성) 는 답하기 전에 관련 자료를 찾아와 질문 곁에 붙여 주는 방식이에요.
  • 모델을 다시 학습시키지 않아요. 자료만 갈아끼우면 어제 만든 문서도 오늘 바로 답에 쓰여요.
  • 학습할 때 못 본 사내 규정, 최신 공지, 개인 노트처럼 모델이 알 수 없는 내용을 다룰 때 쓰여요.
  • 어느 자료의 어디를 봤는지 출처를 함께 보여 줄 수 있어요. 사람이 확인하기 쉬워져요.
  • 찾아온 자료가 엉뚱하면 답도 엉뚱해져요. 자료를 어떻게 쪼개고 어떻게 찾느냐가 성능을 좌우해요.
목차

1비유로 이해하기

은행 창구에서 "이 통장, 해지하면 이자는 어떻게 되나요"라고 물으면 직원이 규정을 전부 외워서 답하지는 않아요. 먼저 화면에서 그 상품의 약관과 손님의 거래 내역을 찾아 띄워요. 그러고 나서 화면에 뜬 내용을 보며 안내해요.

AI에게 회사 규정이나 내 문서에 관해 물을 때도 같은 순서를 만들어 줄 수 있어요. 질문이 들어오면 곧장 답하게 두지 않고, 먼저 자료 더미에서 그 질문과 관련된 대목을 찾아 질문 옆에 붙여요. 모델은 붙어 온 대목을 읽고 답을 써요. 이렇게 찾아오는 단계를 앞에 붙인 방식이 RAG예요.

창구 직원이 바뀌어도 화면에 뜨는 규정은 그대로예요. 규정이 개정되면 직원을 다시 교육하는 대신 화면 속 문서를 바꿔요. 자료 쪽만 손대면 답이 따라 바뀌는 점이 이 방식의 이점이에요.

2자세히 알아보기

질문과 답 사이에 한 단계가 끼어들어요

평소 AI는 질문을 받으면 학습으로 몸에 밴 내용만으로 답을 써요. RAG를 붙이면 그 사이에 조회 단계가 들어가요. 질문이 들어오면 먼저 자료 더미를 뒤져 관련 있어 보이는 대목 몇 개를 꺼내고, 그 대목을 질문과 함께 모델에게 건네요.

모델 입장에서는 질문이 조금 길어진 것뿐이에요. "이 통장 해지하면 이자는" 앞에 "다음 자료를 참고해서 답해 주세요"와 약관 몇 문단이 붙은 셈이죠. 그래서 모델을 새로 학습시킬 필요가 없어요.

답을 만들 때 어느 대목을 봤는지 알고 있으니, 답 끝에 출처를 함께 붙일 수도 있어요. 사람이 원문을 열어 확인할 수 있다는 점이 업무에서 특히 중요해요.

자료를 잘게 나눠 두고 찾아요

문서 한 편을 통째로 붙이면 창구 앞에 서류 뭉치를 쌓아 두는 꼴이에요. 그래서 자료를 미리 문단 크기 조각으로 나눠 두어요. 질문이 들어오면 그중 몇 조각만 골라 붙여요.

고르는 방법은 두 갈래를 섞어 써요. 하나는 단어가 그대로 겹치는 조각을 찾는 방법이고, 다른 하나는 뜻이 가까운 조각을 찾는 방법이에요. 뜻으로 찾으면 "해지"라고 물었을 때 "중도 상환"이라고 적힌 대목도 걸려요. 두 방법을 함께 쓰면 놓치는 대목이 줄어요.

조각을 어디서 끊느냐도 답의 품질을 크게 흔들어요. 표 한가운데를 잘라 버리면 숫자만 남은 조각이 되고, 너무 크게 자르면 관련 없는 문장이 잔뜩 딸려 와요.

모델을 바꾸지 않아도 돼요

같은 내용을 모델에 넣는 다른 방법으로 추가 학습이 있어요. 창구 직원을 새로 교육시키는 쪽이죠. 시간과 비용이 들고, 규정이 바뀔 때마다 다시 해야 해요.

RAG는 교육 대신 화면을 갈아끼우는 쪽이에요. 오늘 올린 공지가 곧바로 답에 반영되고, 잘못된 문서는 지우면 그만이에요. 어떤 문서를 누가 볼 수 있는지도 자료 쪽에서 관리할 수 있어서, 부서마다 보이는 범위를 다르게 두기도 해요.

그래서 지식이 자주 바뀌는 일에는 RAG가, 말투나 출력 형식처럼 몸에 배어야 하는 일에는 추가 학습이 어울려요. 두 가지를 함께 쓰는 곳도 많아요.

자주 어긋나는 자리

가장 흔한 문제는 엉뚱한 조각을 가져오는 거예요. 화면에 다른 손님의 약관이 떠 있으면 직원이 아무리 성실해도 안내가 틀려요. 자료가 정리되지 않았거나 비슷한 문서가 여러 판 섞여 있을 때 이런 일이 생겨요.

너무 많이 가져오는 것도 문제예요. 한 번에 볼 수 있는 양에는 한도가 있고, 관련 없는 대목이 섞이면 중요한 문장이 묻혀요. 대체로 잘 고른 서너 조각이 대충 고른 스무 조각보다 나아요.

찾아온 자료에 답이 아예 없을 때도 있어요. 이때 "자료에 없어요"라고 말하게 해 두지 않으면 모델은 알고 있던 내용으로 빈칸을 메워요. 겉보기에는 자료를 보고 쓴 답 같지만 실제로는 아니에요.

그라운딩과 짝을 이뤄요

RAG는 자료를 찾아오는 방법이고, 그라운딩은 답의 문장 하나하나를 그 자료에 붙들어 매는 일이에요. 창구로 치면 화면에 약관을 띄우는 것이 RAG, 안내하는 말이 화면 속 문장에서 벗어나지 않게 하는 것이 그라운딩이에요.

자료를 옆에 두고도 자기 짐작으로 한 문장을 보태면 그라운딩이 풀린 거예요. 그래서 자료를 잘 찾아오는 일과, 찾아온 범위 안에서만 말하게 하는 일은 따로 챙겨야 해요.

3조금 더 정확하게

RAG는 검색기와 생성기를 이어 붙인 구조예요. 문서를 조각으로 나눠 의미를 담은 숫자 묶음으로 바꿔 저장해 두고, 질문도 같은 방식으로 바꿔 가까운 조각을 꺼내요. 꺼낸 조각을 프롬프트에 끼워 넣으면 나머지는 평소의 생성 과정과 같아요. 모델의 가중치는 전혀 바뀌지 않고, 바뀌는 것은 입력뿐이에요.

비유가 어긋나는 지점도 있어요. 창구 직원은 자기가 무엇을 모르는지 알고 화면을 열지만, 이 방식에서는 조회가 대체로 질문마다 자동으로 일어나요. 굳이 자료가 필요 없는 질문에도 조각이 딸려 오고, 반대로 자료가 꼭 필요한 질문에서 검색이 빗나가도 모델은 손에 쥔 조각만으로 답을 만들어요. 화면에 무엇이 떴는지 의심하지 않는 직원인 셈이라, 검색 품질이 곧 답의 품질이 돼요. 그래서 실무에서는 답을 손보기 전에 검색 단계부터 점검해요. 질문 스무 개를 뽑아 정답이 든 조각이 실제로 걸려 오는지, 몇 번째로 걸려 오는지 세어 보는 식이에요. 이 단계가 흔들리면 뒤에서 아무리 지시를 다듬어도 답이 나아지지 않아요.

4직접 해보기

5흔한 오해

  • RAG를 붙이면 환각이 사라진다고 생각하기 쉽지만, 실제로는 엉뚱한 자료를 가져오면 근거까지 붙은 그럴듯한 틀린 답이 나와요.

  • RAG가 모델에게 새 지식을 학습시킨다고 여기기 쉽지만, 실제로는 모델은 그대로고 답할 때 자료를 곁에 놓아 줄 뿐이에요.

  • 문서를 많이 넣을수록 좋다고 믿기 쉽지만, 실제로는 정리되지 않은 자료가 쌓일수록 엉뚱한 조각이 걸려 올 확률이 높아져요.

7한 줄 요약

그러니까RAG는 창구 직원이 규정을 외워 답하는 대신 화면에 약관을 띄우고 보며 안내하듯, 답하기 전에 관련 자료를 찾아와 곁에 두고 쓰게 하는 방식이에요.

잘못된 내용이나 더 좋은 비유가 있나요? 수정 제안 보내기 · 마지막 수정2026-09-02