출발점: LLM은 무엇을 모를까
RAG, CAG, KAG는 모두 하나의 문제를 푸는 방법이다. “LLM은 우리가 원하는 걸 모른다.” 그러니 먼저 LLM이 어떻게 답을 만드는지, 그리고 왜 모르는 것을 그럴듯하게 지어내는지부터 보자.
- 토큰과 컨텍스트 창이 무엇인지 말할 수 있다.
- LLM이 답을 ‘한 토큰씩’ 만드는 과정을 설명할 수 있다.
- 환각이 왜 생기는지, 왜 ‘자료를 건네주기’가 해법인지 안다.
LLM은 ‘말 잇기 천재’다
LLM(Large Language Model, 대형 언어 모델)은 인터넷의 글, 책, 코드처럼 엄청난 양의 글을 읽으며 딱 한 가지를 연습한 프로그램이다. “지금까지 나온 글 다음에는 어떤 말이 올까?”
“오늘 날씨가 정말 ___”을 보면 사람은 ‘좋다’, ‘덥다’를 떠올린다. 수많은 글에서 그런 말이 자주 이어졌기 때문이다. LLM도 같은 일을 한다. 다만 수천억 개의 단어를 읽은 덕분에 질문에 답하고, 요약하고, 코드도 짜는 수준까지 ‘잇기’를 잘하게 되었다.
중요한 점은 LLM 안에 문서가 그대로 저장되어 있지 않다는 것이다. 읽은 글에서 배운 ‘패턴’이 수십억 개의 숫자(가중치)로 녹아 있을 뿐이다. 그래서 자주 본 사실은 잘 떠올리지만, 거의 못 본 사실이나 아예 본 적 없는 사실은 정확히 꺼내지 못한다.
토큰: 모델이 읽는 글의 단위
모델은 글자를 그대로 읽지 않는다. 글을 토큰(token)이라는 조각으로 자르고, 각 조각을 번호로 바꿔 계산한다. 토큰은 글자보다 크고 단어보다 작은 경우가 많다. 한국어는 대략 1~2글자가 한 토큰쯤 된다(모델마다 다르다).
토큰 쪼개기 — 아무 글이나 넣어 보자
다음 토큰 고르기: 확률과 온도
모델은 다음 토큰 후보마다 점수를 매기고, 그 점수를 확률로 바꾼 뒤 하나를 고른다. 이때 온도(temperature)라는 손잡이가 있다. 온도가 낮으면 1등만 계속 고르고(정확하지만 단조로움), 높으면 2등, 3등도 자주 뽑힌다(다양하지만 엉뚱해질 수 있음).
“하늘숲 회사의 연차는 ___” 다음 토큰
한 번에 한 토큰씩, 답이 만들어지는 흐름
아래 흐름을 다음 단계 →로 따라가 보자. 이 책의 모든 흐름 애니메이션은 같은 방식으로 움직인다. 지금 단계의 상자가 색으로 표시되고, 데이터가 점(●)으로 화살표를 따라 이동한다.
LLM이 모르는 세 가지
① 학습 이후에 생긴 일
학습 데이터가 끝나는 시점(지식 기준 시점, knowledge cutoff) 이후의 뉴스, 바뀐 법, 새 제품은 모른다.
② 공개되지 않은 자료
우리 회사 규정, 사내 위키, 고객 계약서, 개인 메모는 학습 데이터에 없다. 이 책이 주로 다루는 경우다.
③ 드물고 정확한 세부
몇 번 못 본 숫자, 이름, 날짜는 흐릿하게 기억한다. 흐릿한 기억으로도 문장은 매끄럽게 만든다.
세 경우 모두에서 LLM은 보통 “모른다”고 하지 않고 그럴듯한 답을 만든다. 다음 말을 고르는 기계에게 ‘모름’은 기본 선택지가 아니기 때문이다. 이것이 환각(hallucination)이다.
모델은 속이려는 게 아니라, 근거 없이도 가장 그럴듯한 문장을 만들도록 만들어졌을 뿐이다. 그래서 문장이 자연스럽다는 것은 정확하다는 증거가 되지 못한다.
해결 방향: 다시 공부시킬까, 책을 펴 줄까
학생이 우리 회사 규정을 모른다면 방법은 두 가지다. (가) 규정을 몇 주 동안 다시 공부시킨다. (나) 시험 볼 때 규정집을 책상 위에 펴 준다(오픈북). (가)는 모델을 추가 학습(파인튜닝)하는 것이고, (나)는 질문과 함께 자료를 입력에 넣어 주는 것이다.
(가)는 비싸고, 규정이 바뀔 때마다 다시 해야 하며, 학습했다고 정확한 숫자를 꼭 기억한다는 보장도 없다. 그래서 실무에서는 (나)를 먼저 쓴다. 그런데 책상, 즉 모델이 한 번에 볼 수 있는 입력에는 크기 제한이 있다. 이것이 컨텍스트 창(context window)이다.
책상(컨텍스트 창)에 무엇을 올릴까
이 책의 지도
이제 앞으로 배울 네 가지가 어디에 놓이는지 정리할 수 있다.
RAG 필요한 페이지만 찾아 올리기
질문마다 검색해서 관련 조각 몇 개만 책상에 올린다. (3–4장)
CAG 얇은 책은 통째로 올려 두기
자료 전체를 미리 올리고, 읽은 상태를 저장해 재사용한다. (5장)
KAG 관계도를 그려서 올리기
자료를 지식 그래프로 정리하고, 선을 따라 필요한 사실을 모은다. (6장)
Jev 답안지 모양 바꾸기
글 대신 선택지별 확률을 받아 프로그램이 바로 쓴다. (7장)
핵심 정리
- LLM은 지금까지의 글을 보고 다음 토큰을 확률로 고르는 일을 반복해 답을 만든다.
- 토큰은 모델이 읽는 글 조각이다. 길이 제한과 비용은 토큰으로 센다.
- LLM은 학습 이후의 일, 비공개 자료, 드문 세부를 모르며, 모를 때도 그럴듯하게 지어낸다(환각).
- 가장 실용적인 해법은 질문과 함께 근거 자료를 입력(컨텍스트 창)에 넣어 주는 것이다.
- 창에는 크기 제한이 있으므로, ‘무엇을 어떻게 올릴까’에 따라 RAG·CAG·KAG가 갈린다.