안녕하세요, BQ개발자입니다.
지난 편에서 AI의 기억을 구조화된 검색 시스템으로 관리한다고 했는데요, 이제 더 근본적인 문제가 남습니다.
📱 LLM 어플리케이션 5-2편: 메모리 - AI의 기억은 검색 가능한 구조화된 정보다
"우리 회사 내부 문서는 AI가 어떻게 알지?"
🤔 똑똑한 GPT-4도 모르는 것들
아무리 똑똑한 AI도 이런 건 모릅니다:
사용자: "우리 회사 휴가 규정이 어떻게 돼?"
AI: "죄송합니다. 특정 회사의 내부 규정은 알 수 없습니다."
사용자: "어제 발표된 신제품 스펙 알려줘"
AI: "최신 정보는 제가 알지 못합니다."
왜일까요? GPT-4가 덜 똑똑해서가 아닙니다. 애초에 학습하지 않은 정보는 알 수가 없거든요.
⚡ RAG가 뭐길래 모두가 쓸까?
RAG는 Retrieval-Augmented Generation의 약자입니다.
쉽게 말하면 LLM이 답변하기 전에 관련 문서를 먼저 찾아서 참고하는 방식입니다.
마치 시험 볼 때 오픈북으로 보는 것과 같아요. 모든 걸 외울 필요 없이, 필요한 순간에 책을 찾아보면 되는 거죠.
🧠 단순해 보이지만 혁명적인 아이디어
RAG의 작동 방식은 간단합니다:
1. 사용자가 질문을 합니다
2. 질문과 관련된 문서를 검색합니다
3. 찾은 문서를 LLM에게 같이 전달합니다
4. LLM이 문서를 참고해서 답변합니다
"그냥 검색 아니야?"라고 생각할 수 있지만, 핵심은 검색과 생성의 결합입니다.
전통적인 검색은 문서를 그대로 보여주지만, RAG는 찾은 정보를 바탕으로 새로운 답변을 생성합니다.
여러 문서의 정보를 종합하고, 질문에 맞게 재구성해서 답변하는 거죠.
🎯 키워드 검색을 넘어서는 의미적 검색
RAG의 진짜 마법은 의미적 검색에 있습니다.
예를 들어 "휴가 정책"을 검색할 때:
- 키워드 검색: "휴가", "정책"이라는 단어가 있는 문서만 찾음
- 의미적 검색: "연차", "휴가", "time off", "연가" 등 관련 개념 모두 찾음
사용자가 "쉬는 날 규정"이라고 물어도 "휴가 정책" 문서를 찾을 수 있는 거예요. 단어가 달라도 의미가 같으면 찾아냅니다.
이게 가능한 이유는 임베딩이라는 기술 때문입니다. 텍스트를 의미를 담은 숫자 벡터로 변환해서, 의미적 유사도를 계산할 수 있거든요.
🚀 회사 지식을 AI에 주입하는 방법
RAG를 통해 이런 게 가능해집니다:
- 항상 최신 정보: 문서만 업데이트하면 AI도 자동으로 최신 정보 제공
- 회사별 맞춤형: 각 회사의 고유한 정보와 규정 반영
- 보안 유지: 민감한 정보는 내부에 보관하면서도 AI 활용 가능
전체 LLM을 재학습시킬 필요 없이, 필요한 문서만 검색 가능하게 만들면 됩니다. 비용도 절약되고 유연성도 높아지죠.
RAG는 LLM이 "모르는 것을 아는 것처럼" 만드는 게 아니라, "필요한 정보를 찾아서 활용하도록" 하는 시스템입니다.
하지만 여기서 새로운 질문이 생깁니다. "의미적 검색이 어떻게 가능한 거지?"
다음 편에서는 "임베딩 - 의미를 숫자로 바꾸는 기술"에 대해 다뤄보겠습니다.
---
여러분의 좋아요와 공유는 사랑입니다 🥰
