왜 RAG 인가 — 환각을 근거로 잡는 법
박수현 · (사)한국정보공학기술사회 · 2026
🎯 목표: RAG 의 "왜"(필요성)와 "준비"(전처리)를 개념으로 잡는다.
🔑 이 셋을 외부 문서 검색으로 한 번에 해결하는 패턴 = RAG.
💡 RAG = Retrieval-Augmented Generation. "외워서 답하지 말고, 찾아보고 답해라."
🔑 그래서 사내 문서·자주 바뀌는 지식엔 RAG 가 압도적.
| 기준 | RAG | Fine-Tuning |
|---|---|---|
| 하는 일 | 지식을 외부에서 주입 | 행동·말투·형식을 모델에 각인 |
| 데이터 변경 | 문서만 교체 → 즉시 | 다시 학습 필요 |
| 비용 | 낮음 (검색+프롬프트) | 높음 (GPU 학습) |
| 출처 제시 | ✅ 가능 | ❌ 어려움 |
| 최신성 | ✅ 강함 | ❌ 학습 시점 고정 |
| 적합 | 사내 문서 QA, 최신 정보 | 특정 톤·도메인 문체·출력 형식 |
💡 실무 정답은 보통 "RAG 먼저, 필요하면 Fine-Tuning 보강". 이 코스는 RAG 에 집중.

RAG vs 파인튜닝 · RAG는 외부 지식을 검색해 프롬프트에 주입(갱신 쉬움·출처), 파인튜닝은 가중치에 각인(재학습 비용)
⚠️ 주의: RAG 도 환각을 0 으로 만들진 못함 → Day2 에서 출처 표시·검증까지 (Session 16).
텍스트 추출 · Chunking · Chunk Size — 약 14분
💡 어떤 RAG 시스템이든 문서를 받으면 이 순서(추출→분할→임베딩→저장)로 처리한다.
Document(page_content, metadata)source(파일명), page(쪽), chunk_id🔑 Day2 Session 11 에서 TXT/PDF/DOCX Loader 를 실제로 다룸.
코드 경로:2.langchain/7.RAG/2.loaders/
🔑 "질문 하나에 답할 만큼"이 좋은 chunk 크기의 직관.
| 문서 성격 | 권장 chunk |
|---|---|
| 매뉴얼·규정 | 작게 (400~600) — 정밀 |
| 서술형·논문 | 크게 (800~1200) — 문맥 |
| 대화·FAQ | 항목 단위 |
💡 정답은 없음 → 실험으로 조정. Day2 Session 12 에서 직접 튜닝.
코드 경로:2.langchain/7.RAG/2.loaders/2.3_chunking.py

청킹 · chunk_size/overlap 슬라이딩 윈도우. 이전 청크 끝을 다음 청크가 일부 겹쳐 경계 문맥 손실 방지