AI VIDEO BRIEFING
RAG(검색 증강 생성) 기초부터 고급 기법까지 총정리 — 벡터DB·청킹·쿼리 확장
freeCodeCamp 강의로 배우는 RAG의 기본 원리와 검색기·생성기 구성 요소, 나이브 RAG의 네 가지 한계, 그리고 쿼리 확장·재순위 같은 고급 기법까지 실제 예제 코드와 함께 처음부터 차근차근 정리했다.

핵심 메시지
쉽게 이해하기
강사 파울로는 RAG를 아주 쉬운 비유로 시작한다. ChatGPT에 '프랑스의 수도'를 물으면 학습 데이터에 있어 답하지만, '내 첫 강아지 이름'은 알 수 없다. RAG는 바로 이 개인·조직 고유의 데이터를 LLM에 주입해, 내 데이터와 연결된 질문에도 정확한 답을 얻게 해준다.
RAG의 두 핵심 구성 요소는 검색기와 생성기다. 검색기는 관련 문서를 찾아오고, 생성기는 검색된 문서와 입력 질의를 받아 문맥에 맞는 일관된 답을 만든다. 결국 RAG는 검색 기반 시스템과 생성 기반 모델의 장점을 결합해 더 정확하고 맥락에 맞는 응답을 내는 틀이다.
동작 과정은 인덱싱과 검색 두 단계로 나뉜다. 인덱싱 단계에서는 문서를 파싱·전처리해 작은 청크로 자르고, 임베딩 모델로 벡터화해 벡터 저장소에 저장한다. 검색 단계에서는 사용자 질의도 같은 임베딩을 거쳐 벡터 DB에서 유사 문서를 찾고, 이를 프롬프트에 더해(증강) LLM에 넘겨 답을 생성한다. 'Augmented'라는 이름이 여기서 나온다.
그러나 나이브 RAG에는 여러 함정이 있다. 검색 품질이 낮으면 생성 입력이 부실해지고, 검색기와 생성기가 서로 최적화 없이 독립적으로 작동하면 중요한 정보를 놓친다. 대규모 데이터에서는 비효율적 검색으로 응답이 느려지고 인덱싱이 부실하면 핵심 정보를 빠뜨린다. '인덱스 펀드와 금융 관련 모든 것을 알려줘' 같은 복합·모호한 질의에도 취약하다.
이런 한계는 크게 검색 측 문제(부정확·무관한 청크, 정보 누락)와 생성 측 문제(환각, 관련성 저하, 편향·유해성)로 나뉜다. 고급 RAG는 인덱싱 구조와 질의를 개선하는 전처리 단계, 그리고 가장 중요한 내용을 재순위(reranking)로 끌어올리는 후처리 단계로 대응한다. 강의는 특히 쿼리 확장 기법을 코드로 실습한다.
주요 인사이트
- RAG의 성패는 청킹·임베딩·인덱싱 같은 '검색' 파이프라인 품질에 크게 좌우되며, 첫 단추인 인덱싱이 부실하면 이후 단계가 모두 무너진다.
- 쿼리 확장 기법은 LLM으로 원 질의에서 여러 하위 질의를 생성해 각각 검색한 뒤 결과를 합쳐, 복합적 주제를 더 폭넓게 포괄한다.
- 다만 생성된 하위 질의가 항상 유용하진 않아 검색 결과에 노이즈가 섞일 수 있으며, 이를 걸러내기 위한 재순위 같은 추가 기법이 필요하다.
- 실습에는 OpenAI API, ChromaDB, 문장 임베딩(sentence transformers), LangChain의 재귀적 텍스트 분할기 등이 쓰이며, 결과를 좌우하는 것은 결국 잘 다듬은 프롬프트다.
자주 묻는 질문
RAG가 필요한 이유는 무엇인가?
LLM은 학습된 데이터만 알기 때문에, 개인이나 조직에 특화된 정보는 답하지 못한다. RAG는 이런 고유 데이터를 검색해 주입함으로써 내 데이터에 근거한 정확한 답을 얻게 한다.
나이브 RAG의 대표적 한계는 무엇인가?
검색 품질 저하, 검색기와 생성기의 비협업적 독립 동작, 대규모 데이터에서의 느린 검색과 정보 누락, 모호하고 복합적인 질의에 대한 대응력 부족 등이 꼽힌다.
쿼리 확장(query expansion)이란 무엇인가?
원래 질의를 LLM으로 여러 관련 하위 질의로 확장한 뒤 각각 문서를 검색하고 결과를 합쳐, 주제의 다양한 측면을 포괄하는 더 풍부한 문서 집합을 얻는 고급 RAG 기법이다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗