기초 이론 편 · 4부 AI는 어떻게 자료를 읽고 도구를 쓸까? — 4.2
RAG — AI는 모르는 걸 어떻게 찾아볼까
모델이 모르는 정보는 찾아서 질문과 함께 넣어주면 됩니다. ChatGPT에 파일을 올리거나 검색을 켜는 것도 이 원리입니다.
모델이 아는 건 학습할 때 본 글에서 배운 것뿐입니다. 그래서 이런 건 모릅니다.
- 학습이 끝난 뒤에 생긴 일 (오늘 뉴스, 최신 가격)
- 인터넷에 없던 정보 (회사 내부 문서, 내 메모, 동네 가게 안내문)
그럼 어떻게 할까요? 오픈북 시험처럼 하면 됩니다. 질문과 관련 있는 자료를 찾아서, 질문과 함께 컨텍스트에 넣어주는 것입니다. 모델은 넣어준 자료를 읽고 답합니다. 이걸 RAG(Retrieval-Augmented Generation, 검색 증강 생성)라고 부릅니다.
가상의 동네 빵집 안내문 6줄이 있어요. 질문을 골라보세요.
1. 안내문에서 질문과 관련 있는 줄 찾기
- 영업시간은 화~일 오전 9시부터 오후 8시까지예요. 월요일은 쉬어요.
- 소금빵은 매일 오전 11시, 오후 3시에 두 번 나와요.
- 주차는 건물 뒤편에 2대까지 가능해요.
- 케이크 예약은 사흘 전까지 전화로 받아요.
- 반려견은 테라스 자리에서만 함께할 수 있어요.
- 포인트는 5천 원마다 1개, 10개 모으면 음료 한 잔이에요.
2. 고른 줄을 질문과 함께 모델에게 넣기
3. 모델의 답
자료를 넣었을 때
자료 없이 물었을 때
관련도 점수와 답은 설명을 위해 직접 정한 예시예요.
RAG의 세 단계
- 찾기(검색): 자료 중에서 질문과 관련 있는 부분을 고릅니다. 3.4에서 본 임베딩을 써서, 단어가 달라도 뜻이 가까운 부분을 찾는 경우가 많습니다.
- 넣기: 고른 부분을 질문과 함께 이어 붙여서 모델에게 줍니다. 위젯 2번 상자가 실제로 모델이 받는 글입니다.
- 답하기: 모델은 넣어준 자료를 보고 답합니다.
모델의 가중치는 하나도 안 바뀝니다. 새로 학습하는 게 아니라, 읽을 거리를 옆에 놔주는 것뿐입니다. 그래서 자료가 바뀌면 바로 반영할 수 있습니다.
자료 없이 물으면
위젯의 “자료 없이 물었을 때”를 보세요. 첫 두 질문에서 모델은 그럴듯하지만 틀린 답을 합니다. 이 빵집은 월요일에 쉬는데, “대부분의 빵집은 월요일에도 연다”는 일반적인 이야기로 채워 넣은 것입니다. 이런 걸 환각이라고 해요(6부에서 자세히). 세 번째처럼 모른다고 솔직하게 말하면 다행이지만, 항상 그러는 건 아닙니다.
이미 쓰고 있는 RAG
- ChatGPT나 Claude에 파일을 올리고 질문하기
- 웹 검색을 켜고 질문하기 (검색 결과를 컨텍스트에 넣습니다)
- 회사에서 쓰는 “사내 문서 AI 도우미”
이 자료의 각 장 끝에 있는 “이 장을 AI에게 물어보기” 버튼도 손으로 하는 RAG입니다. 장 본문을 복사해서 여러분이 쓰는 AI에 붙여넣으면, 그 장이 컨텍스트에 들어간 상태에서 질문할 수 있습니다.
더 깊게 · 왜 그냥 학습시키지 않을까
빵집 안내문을 모델에게 학습시키면(파인튜닝) 되지 않을까요? 가능은 하지만 불편한 점이 많습니다. 안내문이 바뀔 때마다 다시 학습해야 하고, 학습시킨다고 해서 모델이 내용을 정확히 기억한다는 보장도 없습니다. 어디서 나온 정보인지 출처를 보여주기도 어렵고요.
그래서 보통 이렇게 나눠 씁니다. 말투나 형식처럼 “어떻게 답할지” 는 학습으로, 사실과 정보처럼 “무엇을 답할지” 는 RAG로. 물론 둘을 같이 쓰기도 합니다.
정리
- 모델은 학습 뒤의 일이나 비공개 정보를 모릅니다.
- RAG는 관련 자료를 찾아서 질문과 함께 넣어주는 방법입니다. 가중치는 안 바뀝니다.
- 환각을 줄여주지만 없애지는 못합니다. 중요한 답은 출처를 확인하세요.
이 장을 복사합니다. ChatGPT나 Claude 같은 AI에 붙여넣고 그대로 보내면 AI가 다 읽었다고 답합니다. 그다음 궁금한 걸 물어보세요.