AI에게 오늘의 자료를 준다는 것
AI의 지식이 훈련된 시점에 멈춰 있다는 한계를, 필요한 순간에 필요한 자료를 검색해 앞에 놓는 RAG의 방식으로 이해한다.
AI에게 최근에 바뀐 정책이나 회사 내부 문서에 대해 물으면 이상한 답이 돌아올 때가 있다.
문장은 자연스럽다. 설명도 그럴듯하다. 하지만 실제 문서와 맞지 않거나, 이미 바뀐 내용을 예전 기준으로 말한다. AI가 똑똑해 보여도, 그 순간 필요한 자료를 보고 있지 않다면 답은 쉽게 어긋난다.
문제는 모델이 약해서만은 아니다.
AI의 지식은 훈련이 끝난 자리에서 멈춰 있고, 우리가 필요한 정보는 그 이후에도 계속 바뀐다.
AI의 지식은 훈련이 끝난 자리에서 멈춘다
LLM은 훈련된 데이터 안에서 언어의 패턴을 배운다. 그래서 공개적으로 널리 알려진 개념에는 강하지만, 훈련 이후 바뀐 정보나 외부에 공개되지 않은 문서에는 약하다.
어제 바뀐 정책, 회사 안에서만 공유된 문서, 내가 방금 작성한 기록은 모델의 기억 안에 없다. 아무리 잘 만들어진 프롬프트도 모델이 한 번도 본 적 없는 정보를 만들어낼 수는 없다. 만들어낸다면 그건 할루시네이션이다.
그래서 AI에게 필요한 것은 더 긴 명령이 아니라, 지금 답하는 데 필요한 자료다.
찾아서 앞에 놓는다
RAG는 Retrieval-Augmented Generation의 줄임말이다. 검색으로 보강된 생성이라는 뜻이다.
질문이 들어오면 AI가 곧바로 답하지 않는다. 먼저 관련 문서를 찾고, 그 문서를 AI가 볼 수 있는 입력 안에 넣는다. 그 다음 AI는 찾은 자료를 근거로 답을 만든다.
중요한 건 모델 자체를 바꾸지 않는다는 점이다. 파인튜닝도 아니고, 재학습도 아니다. 필요한 순간에 필요한 자료를 찾아서 앞에 놓는 것이다.
질문 → 관련 자료 검색 → 자료를 프롬프트에 넣음 → 자료를 근거로 답변 생성
AI의 지식은 훈련이 끝난 자리에서 멈춘다. RAG는 그 멈춘 지식과 오늘 필요한 자료 사이의 간극을, 모델을 바꾸지 않고 메우는 방식이다.
왜 의미로 찾아야 하는가
문제는 사용자가 문서에 적힌 단어 그대로 질문하지 않는다는 데 있다.
문서에는 "고객 획득 비용"이라고 적혀 있는데 사용자는 "CAC 줄이는 법"이라고 묻는다. 문서에는 "전환 이벤트"라고 적혀 있는데 사용자는 "구매 완료를 목표로 잡는 법"이라고 묻는다. 키워드만 보면 멀어 보이지만 의미는 가깝다.
키워드 검색은 같은 단어가 있어야 잘 잡힌다. 그래서 사용자가 쓰는 표현과 문서에 적힌 표현이 다르면 필요한 내용을 찾지 못한다.
임베딩은 이 의미의 가까움을 계산하기 위한 방식이다. 문장이나 문단을 숫자 벡터로 바꾸고, 질문과 의미적으로 가까운 기록을 찾는다. 단어가 달라도 맥락이 비슷하면 가깝게 계산된다. RAG에서 의미 검색이 중요한 이유가 여기에 있다.
문서를 나누는 이유
긴 문서 하나를 통째로 AI 앞에 놓는 것은 항상 좋은 방법이 아니다.
문서가 길면 중요한 문장이 묻힌다. 질문에 필요한 부분은 한 문단인데, 그 주변의 관련 없는 내용까지 함께 들어간다. 그러면 AI는 무엇을 근거로 삼아야 할지 흐려질 수 있다.
그래서 문서를 작은 조각으로 나눈다. 이것을 보통 청킹이라고 부른다.
청크는 AI에게 보여줄 수 있는 작은 페이지에 가깝다. 질문과 가까운 페이지 몇 개를 찾아 앞에 놓으면, 모델은 전체 책을 읽지 않아도 필요한 부분을 근거로 답할 수 있다.
좋은 헤딩은 사람에게만 목차가 되는 것이 아니다. 문서를 나눌 때 의미 있는 경계가 된다. 헤딩 단위로 나뉜 문서는 각 청크가 하나의 주제를 담기 때문에 검색 품질도 높아진다.
AI가 주어진 것만 말하게 만들기
자료를 찾아서 앞에 놓았다고 끝이 아니다.
AI가 그 자료 밖으로 나가지 않게 만드는 것도 중요하다. 자료가 있어도 모델이 학습된 기억을 끌어와 섞어버리면, 검색된 내용과 다른 답이 나올 수 있다.
[CONTEXT]
1. 문서 제목: (문서 내용 및 출처)
2. 문서 제목: (문서 내용 및 출처)
[INSTRUCTION]
- 위 CONTEXT만 근거로 답한다
- CONTEXT에 없는 내용은 추측하지 않는다
- 근거가 부족하면 "기록에서 찾지 못했습니다"라고 말한다
- 답변 끝에 참고한 문서 제목을 표시한다
출처를 표기하게 만드는 것도 효과적이다. 근거를 명시하려면 자료 안에서 찾아야 하고, 자료에 없는 말을 확신 있게 꺼내기가 어려워진다.
모르는 것을 다루는 방식
RAG는 AI에게 모든 것을 알게 만드는 기술이 아니다.
오히려 반대에 가깝다. AI가 모르는 것을 아는 척하지 않도록, 답하기 전에 필요한 자료를 펼쳐주는 방식이다.
모델의 지식은 훈련된 시점에 멈춘다. 하지만 우리의 기록은 계속 바뀐다. 어제 작성한 문서, 오늘 바뀐 정책, 방금 남긴 메모는 모델 안에 없지만, 검색을 통해 AI 앞에 놓을 수 있다.
좋은 RAG는 AI를 더 자신감 있게 만드는 것이 아니다. 모르는 것을 찾고, 찾지 못한 것은 모른다고 말하게 만드는 구조다.