AI 리터러시 스터디 · 06

RAG

모르는 건 찾아서 읽고,
근거를 대며 답하게 하기

청킹 · 검색 · 출처 검증

칼리즈 · 2026.10
오늘 끝까지 붙잡을 질문 하나

이 AI 답,
믿어도 될까?

1 자르기 청킹→ 2 찾기 검색→ 3 읽기 컨텍스트→ 4 확인 출처 검증
01 개념

지금의 LLM은
외워서 푸는 시험 중

작년 이후 일은 모름 지식 컷오프
우리 회사 규정은 본 적도 없음
모르면 그럴듯하게 지어냄 환각
01 개념

RAG = 오픈북 시험

문서 더미

규정, 보고서, 매뉴얼

→

관련 쪽 찾기

질문이 올 때마다

→

근거 달고 답

어디서 봤는지 같이

모델을 다시 가르치지 않아도, 책만 바꾸면 최신이 된다
01 개념

지난 시간에 배운 두 개가
RAG의 재료다

토큰모델이 읽는 글자 조각

한 번에 읽을 수 있는 양(컨텍스트 윈도우)이 정해져 있다

그래서 문서를 통째로 못 넣고 골라서 넣는다

임베딩뜻을 숫자 좌표로

뜻이 비슷한 문장은 좌표가 가깝다

그래서 단어가 달라도 비슷한 문서를 찾는다

토큰 = 넣을 수 있는 양의 한계 · 임베딩 = 찾는 방법
01 개념

준비는 미리, 찾기는 매번

미리문서가 바뀔 때
문서 모으기→ 자르기→ 색인 만들기
매번질문이 올 때
질문→ 찾기→ 고르기→ 답 + 출처
동그라미 친 세 군데가 오늘의 주인공
01 개념

틀린 답은 대부분
못 찾아서 생긴다

재료가 상하면
셰프가 누구든 요리는 망한다

잘못된 문서를 넣으면 좋은 모델일수록
자신 있게 틀린 답을 낸다

그래서 모델 바꾸기 전에 검색부터 본다

출처: DEV Community, RAG in 2026: Why Retrieval, Not the Model, Is the Bottleneck
02 역사

70년 된 아이디어,
이름은 2020년에

1957단어를 센다자주 나오는 단어가 주제
1972드문 단어가 중요IDF 등장
1990sBM25지금도 현역
2020RAG 탄생검색과 생성을 한 몸으로
2023한계 발견중간은 잘 안 읽음, 인용 부실
2026에이전트의 도구찾을 때까지 다시 찾기
출처: Manning 외, Introduction to Information Retrieval · A Systematic Review of Key RAG Systems (arXiv 2507.18910)
02 역사

2020년: 작은 모델 + 검색이
큰 모델을 이겼다

다 외울 필요가 없다는 게 증명됨
출처: Lewis 외 RAG, Karpukhin 외 DPR, Guu 외 REALM (모두 2020) · arXiv 2507.18910
02 역사

2026년: 검색은
에이전트의 도구

100만 토큰 시대에도 RAG는 안 죽고 모양만 바뀜
하이브리드 검색이 기본 기능
2026.09.09 Pinecone 정식 출시
출처: Anthropic, Effective context engineering for AI agents (2025.09) · AI Innovations and Insights 161 (2026.10)
03 청킹

청킹 = 책을 몇 쪽씩
찢어 둘까

작게 찢으면

딱 맞는 조각을 찾지만
누구 얘기인지 잊어버림

크게 찢으면

맥락은 살지만
이것저것 섞여 흐려짐

시작은 400~512토큰, 10~20% 겹치게
03 청킹

자르는 방법은 크게 네 가지

글자 수로 기계적으로 고정 크기
가장 단순. 문장 중간에서 잘릴 수 있음
문단 → 문장 순서로 재귀 분할
큰 경계부터 맞춰 자름. 실무 기본값
제목·조항·페이지 단위로 구조 기반
규정집, 보고서 PDF, 코드에 잘 맞음
주제가 바뀌는 곳에서 의미 기반
문장 임베딩이 갑자기 달라지는 지점. 비용 큼
출발은 문단·문장 기준 400~512토큰, 문서 구조가 뚜렷하면 구조 기반
출처: Chroma Research, Evaluating Chunking Strategies (2024.07) · NVIDIA Technical Blog (2024)
03 청킹

직접 잘라 보기

숙박비 한도랑 예외 조항이 같은 조각에 들어가나?

0조각 수
0평균 글자
-숙박비 조각
03 청킹

너무 잘게 자르면
찾고도 틀린다

최종 정답률, 학술 논문 50편

의미로 잘랐더니 조각이 평균 43토큰
거의 한 문장!

같은 54%·69%를 글마다 다른 벤치마크라고 인용함
숫자는 방향만, 우리 문서로 다시 재기
출처: PremAI, RAG Chunking Strategies 2026 Benchmark Guide (FloTorch 2026.02 인용) · Chroma Research (2024.07)
03 청킹

작게 찾고, 크게 넣기

부모-자식 청킹
찾기는 정밀하게, 읽기는 넉넉하게
Late Chunking
문서 전체를 먼저 읽힌 뒤에 자르기
조각마다 앞뒤 맥락이 섞인 좌표가 됨
출처: Günther 외, Late Chunking (Jina AI, arXiv 2409.04701, 2024)
03 청킹

조각마다 어디 얘기인지 한 줄

매출은 전 분기보다 3% 늘었다.
어느 회사? 언제?
→
ACME 2분기 실적 보고서의 매출 부분. 매출은 전 분기보다 3% 늘었다.
LLM이 인덱싱할 때 미리 붙여 둠
검색 실패율
5.7%→1.9%

문맥 한 줄 + 키워드 검색 + 리랭킹까지 하면 3분의 1

출처: Anthropic, Introducing Contextual Retrieval (2024.09) · 상위 20개 안에 정답 조각이 없는 비율
04 검색

단어로 찾기 vs 뜻으로 찾기

키워드 검색BM25, 단어를 센다

잘 찾음 E-4021 오류, 사번, 조문 번호

놓침 출장비로 물었는데 문서엔 여비

단어가 똑같아야 점수가 오름

의미 검색임베딩, 뜻을 잰다

잘 찾음 출장비 ≈ 여비, 다른 표현, 다국어

놓침 E-4021과 E-4012를 헷갈림

지난 회차의 임베딩 거리 그대로

서로 반대로 실패하니까 → 둘 다 쓴다 (하이브리드)
04 검색

키워드 검색은
드문 단어에 점수를 준다

문서 1,000개짜리 규정집에서
단어별 희귀도 점수(IDF)

같은 단어가 10번 나와도 10배는 아님 포화
긴 문서는 우연히 걸릴 확률이 높으니 점수를 깎음
출처: Robertson & Spärck Jones, Okapi BM25 IDF 공식으로 계산 · 문서 수는 시연용 가상 값
04 검색

한국어는 조사를 떼야
단어가 보인다

띄어쓰기로 금융보험은장기적인상품입니다 "금융보험"과 안 맞음
형태소로 금융보험은 장기상품
Kiwi, Nori, Mecab 같은 형태소 분석기를 키워드 검색 앞에
출처: WikiDocs, 한글 형태소 분석기와 BM25Retriever의 결합
04 검색

의미 검색은 질문도 좌표로 바꿔
가까운 이웃을 찾는다

문서 조각마다 좌표를 미리 계산해 둔다
질문이 오면 질문 좌표 근처만 본다
수백만 개를 다 비교하지 않는다 (ANN)

비슷한 책끼리 꽂힌 서가에서 그 근처만 둘러보는 것

출처: Karpukhin 외, Dense Passage Retrieval (2020) · 그림은 2차원으로 단순화한 개념도
04 검색

둘 다 돌리고 등수로 합치기 · RRF

점수 = 1 / (60 + 등수) 를 목록마다 더하기 BM25 12.7점과 유사도 0.83은 단위가 달라 그냥 못 더함
문서키워드 등수의미 등수계산RRF 점수최종
A121/61 + 1/620.03251등
B311/63 + 1/610.03232등
C241/62 + 1/640.03183등
D없음31/630.01594등
E4없음1/640.01565등
양쪽 다 상위면 위로, 60은 한쪽 1등의 독주를 막는 완충재
출처: Cormack, Clarke, Buettcher, Reciprocal Rank Fusion (SIGIR 2009) · 등수는 시연용 가상 값
04 검색

넓게 건지고, 좁게 고르기

리랭커는 질문과 문서를 한 쌍씩 같이 읽고 다시 줄 세움
정확하지만 느려서 2단계에만

후보에 없는 문서는 리랭커도 못 살린다

출처: Anthropic, Introducing Contextual Retrieval (2024.09) · wz-it.com, Hybrid search and reranking for RAG
04 검색

문서 말고 질문을 고쳐서 찾기도 한다

재작성대화 맥락 풀기
"그거 한도는?"→"국내 출장 숙박비 한도는?"
분해여러 개를 묻는 질문
"국내와 해외 출장 차이?"→국내 규정해외 규정
가상 답변HyDE
짧은 질문→그럴듯한 답을 먼저 써서 그걸로 검색
필터먼저 거르기
날짜부서권한권한은 반드시 검색 단계에서
출처: Gao 외, HyDE (arXiv 2212.10496, 2022) · Jeong 외, Adaptive-RAG (arXiv 2403.14403, 2024)
04 검색

"전체적으로 어때?"는
조각 몇 개로 답이 안 된다

일반 RAG는 질문과 비슷한 조각 몇 개만 가져온다
"규정집 전체에서 반복되는 원칙은?"
재료가 문서 곳곳에 흩어져 있다

그래서 2024년 Microsoft:
구조를 미리 만들어 두자 → GraphRAG

출처: Edge 외, From Local to Global: A GraphRAG Approach (Microsoft Research, arXiv 2404.16130, 2024)
04 검색

그래프는 LLM이 미리 다 읽고 만든다

1 자르기 평소 RAG처럼 문서를 조각으로
→
2 개체·관계 뽑기 LLM이 조각마다 누가·무엇이 어떻게 이어지는지 추출
→
3 묶음 찾기 많이 이어진 개체끼리 묶음(커뮤니티). 큰 묶음 안에 작은 묶음
→
4 묶음 요약 LLM이 묶음마다 요약 보고서를 미리 작성
1~4가 전부 인덱싱→ 문서가 많을수록 LLM 호출도 그만큼 늘어난다
출처: Edge 외, From Local to Global (arXiv 2404.16130, 2024) · 묶음 찾기는 Traag 외, Leiden 알고리즘 (2019)
04 검색

묻는 범위에 따라 찾는 길이 다르다

로컬 검색 특정 대상을 물을 때
"김대리가 맡은 규정은?" 질문 속 개체에서 출발해 이웃 관계와 관련 조각을 모아서 답
글로벌 검색 전체를 물을 때
"규정집 전체의 공통 원칙은?" 묶음 요약마다 부분 답을 쓰고, 쓸모 있는 것만 골라 하나로 합침

논문 실험: LLM 심판 비교에서 일반 RAG보다 "더 포괄적" 판정 72~83% (심판 편향 지적이 있어 방향만 참고)

출처: Edge 외, From Local to Global (arXiv 2404.16130, 2024) · 심판 순서 편향은 Han 외, RAG vs. GraphRAG (arXiv 2502.11371, 2025)
04 검색

비싼 건 미루고, 질문 따라 골라 쓴다

LazyGraphRAG 2024.11
미리 요약하지 않는다. 명사구만 뽑아 연결을 잡아 두고, LLM은 질문이 오면 필요한 만큼만
0.1%인덱싱 비용
GraphRAG 대비
1/700쿼리 비용
글로벌 질문, 비슷한 품질
질문 유형예시고를 것
사실 하나"숙박비 한도는?"일반 RAG
관계 여러 번 건너기"김대리 팀 프로젝트 마감은?"그래프 로컬
전체 주제·요약"공통 원칙은?"그래프 글로벌
섞여서 들어옴실제 서비스질문 보고 라우팅

자동 생성 그래프엔 정답 개체가 3분의 2쯤만 → 일반 RAG와 같이 쓰기

출처: Microsoft Research 블로그, LazyGraphRAG (2024.11) · Han 외, RAG vs. GraphRAG: A Systematic Evaluation (arXiv 2502.11371, 2025)
05 컨텍스트

많이 넣는다고
잘 읽는 건 아니다

Lost in the Middle
정답 문서가 중간에 있으면 문서를 안 준 것보다 못할 때도
Context Rot
18개 모델 모두 입력이 길수록 흔들림

적게 넣고, 중요한 건 앞이나 뒤에

출처: Liu 외, Lost in the Middle (TACL 2024) · Chroma, Context Rot (2025.07)
05 컨텍스트

통째로 넣으면 조금 더 정확,
대신 26배 비쌈

문서 통째로 73.1% 정답률 ×26 쿼리당 비용
검색해서 일부만 65.4% 정답률 ×1 쿼리당 비용
안 바뀌는 문서 몇 개면 통째로 + 캐싱
많고 자주 바뀌고 권한이 다르면 RAG
출처: Hamilton 외, The Token Tax of Epistemic Accuracy (2026.06, HackerNoon 인용)
05 컨텍스트

"RAG는 죽었다, grep이면 된다"?

미리 색인 (인덱스)

미리 잘라 좌표를 만들어 둠

찾기는 빠름 · 문서가 바뀌면 낡음

큰 문서 더미, 자주 묻는 질문

그때그때 탐색 (grep)

에이전트가 파일을 직접 뒤져 봄

항상 최신 · 토큰을 많이 씀

코드, 이름이 곧 색인인 데이터

둘 다 찾아서 읽고 답하기, 즉 둘 다 RAG
출처: AI Engineer Europe 2026, "RAG is dead, right?" · Anthropic, Effective context engineering for AI agents (2025.09)
05 컨텍스트

가져온 문서가 별로면
스스로 판단해서 다시

Self-RAG 2023
모델이 검색이 필요한지, 근거가 맞는지 스스로 체크하도록 학습
CRAG 2024
작은 평가기가 결과를 3단계로 판정. 기존 RAG에 끼워 넣는 방식
출처: Asai 외, Self-RAG (arXiv 2310.11511, 2023) · Yan 외, Corrective RAG (arXiv 2401.15884, 2024)
06 출처 검증

출처가 달렸다고
맞는 말은 아니다

해외 출장은 반드시 일반석입니다 [3]
→
3번 문서
항공권은 일반석을 원칙으로 한다

원칙 ≠ 반드시

근거에 있는 말인가? 주장마다 인용이 다 달렸나? 그 인용이 정말 그 말을 하나?
출처: Gao 외, ALCE (EMNLP 2023) · Ragas 공식 문서
06 출처 검증

최고 모델도 절반은
근거가 모자랐다

ELI5 질문에서 최고 모델 답의 약 절반이
인용만으로는 완전히 뒷받침되지 않음

근거가 부족해도 모델은 잘 안 멈춘다
RAG를 붙이면 더 자신 있게 틀린다

"문서로는 확인이 안 돼요"를
정답으로 인정해 주기

출처: Gao 외, ALCE (EMNLP 2023) · Joren 외, Sufficient Context (ICLR 2025)
06 출처 검증

인용은 부탁하지 말고
시스템으로 강제한다

시스템 프롬프트 규칙 1. 사실 문장마다 끝에 [문서번호] 2. 문서에 없는 내용은 쓰지 않기 3. 문서끼리 다르면 날짜와 함께 둘 다 4. 못 찾으면 "확인할 수 없습니다"
모델 내장 인용 기능 도입 후
10%→0%
출처 환각·형식 오류 (금융 기술 기업 Endex 사례)
출처: Anthropic, Introducing Citations on the Anthropic API (2025.01) · 수치는 고객사 자체 보고
06 출처 검증

악성 문서 5개면 답이 바뀐다

90%

수백만 건 중 질문당 5개만 심어도
원하는 답이 나올 확률

문서 안에 숨긴 "이전 지시 무시해" 같은 명령도 공격
누가 지식 베이스에 쓸 수 있나 = 답의 신뢰도
출처: Zou 외, PoisonedRAG (arXiv 2402.07867, 2024)
06 출처 검증

AI 답을 받으면 30초 점검

눌러서 같이 체크해 보기
07 평가

점수를 검색과 생성으로 나눠야
고칠 곳이 보인다

검색 · Context Recall
필요한 근거를 다 가져왔나?
낮으면 청킹, 임베딩, 하이브리드, 질문 고치기
검색 · Context Precision
쓸데없는 건 덜 가져왔나?
낮으면 리랭커, 넣는 개수 줄이기
생성 · Faithfulness
답이 근거 안에 있는 말인가?
낮으면 인용 강제, 배치, 모델 교체
생성 · Answer Relevancy
질문에 실제로 답했나?
낮으면 질문 이해, 재작성
출처: Ragas 공식 문서 (RAGAS 4대 지표)
07 평가

시험 보기 전에 정답지부터

1
실제 사용자 질문 50~200개 모으기
2
질문마다 정답과 근거 위치(문서·조항) 적기
3
답이 없는 질문도 섞기
모른다고 하는지 보려고
4
설정을 바꿀 때마다 같은 시험 다시 보기
한 번에 한 가지만 바꿔야 무엇이 효과였는지 안다
출처: Ragas 공식 문서 · AI 리터러시 학습 노트 06 평가 섹션
08 정리

오늘부터 쓸 기본값 다섯 개

1
구판·중복 정리, 날짜·권한 붙이기
2
400~512토큰으로 자르고 제목 붙이기
3
키워드 + 의미 검색을 RRF로
4
리랭커로 5~20개만 넣기
5
문장마다 출처, 정답셋으로 평가
자세한 체크리스트는 학습 노트 06

RAG 품질은
찾기와 확인에서 정해진다

이론은 여기까지다음: 내가 직접 만든 eaglenest →
09 eaglenest
그럼 내가 직접 만든 건?

eaglenest

사내 문서와 프로젝트 기록을 근거로, 출처와 함께 답하는 지식 허브

오늘 배운 청킹 · 검색 · 출처 검증이 실제로 어디에 들어갔는지 볼게

09 eaglenest

문서 · 좌표 · 관계를 세 군데에 나눠 담았다

문서 업로드
PDF · DOCX · PPTX
XLSX · TXT · MD
원본 파일은 NAS
→
PostgreSQL 문서 정보 · 권한
Qdrant 조각 좌표 (벡터)
Neo4j 사람·프로젝트 관계
→
누리
AI 에이전트
답변 + 출처
웹 · Slack @nuri
질문한 사람이 볼 수 있는 정보만 찾아서 답한다
출처: eaglenest 시스템 구성 · 릴리즈 노트 (2026.09.30, 2026.10.08)
09 eaglenest

올리면 자르고 좌표로 바꿔 색인한다

eaglenest / 문서

파란 동그라미: 끌어다 놓으면 업로드

빨간 동그라미: 인덱싱 완료

인덱싱 = 텍스트 추출 → 청킹 → 임베딩 → 저장
eaglenest 문서 화면 · 화면 속 문서명·대화 제목·이메일은 공개용 가상 데이터로 바꿔서 캡처
09 eaglenest

통합 검색은 하이브리드, 점수는 등수로 합친 값

eaglenest / 검색
하이브리드 배지
키워드와 의미 검색 둘 다에 걸림
키워드 배지
키워드 검색에만 걸림

점수 0.0xx = 1/(60+등수)의 합
한쪽 1등만이면 1/61 ≈ 0.016

eaglenest 통합 검색 화면 · 화면 속 문서명·대화 제목·이메일은 공개용 가상 데이터로 바꿔서 캡처
09 eaglenest

누리는 문장마다 출처 번호를 단다

eaglenest / 누리

문장 끝 작은 숫자 = 근거 번호

오른쪽 출처 패널: 근거 원문과 검색 점수

신뢰도 표시

원문을 바로 열어 볼 수 있어야
30초 점검이 가능하다
eaglenest 누리 대화 화면 · 화면 속 문서명·대화 제목·이메일은 공개용 가상 데이터로 바꿔서 캡처
09 eaglenest

근거가 없으면 없다고 말하게 했다

eaglenest / 누리

"직접 설명한 문서는 찾지 못했습니다"

관련은 있지만 답은 아닌 문서는 따로 표시

근거가 부족할 때 지어내는 대신
추가 자료를 요청
eaglenest 누리 대화 화면 · Joren 외, Sufficient Context (ICLR 2025) · 화면 속 문서명·대화 제목·이메일은 공개용 가상 데이터로 바꿔서 캡처
09 eaglenest

사람 · 프로젝트 · 업무는 관계 그래프로

eaglenest / 업무 온톨로지

팀 · 사람 · 프로젝트 · 업무가 선으로 연결

막힌 곳(기한 지난 업무, 담당자 없음)이 바로 보임

"○○ 대리가 하는 일 뭐야?"
누리가 이 관계를 직접 조회해 답함
eaglenest 업무 온톨로지 화면 · 릴리즈 노트 (2026.09.30) · 화면 속 문서명·대화 제목·이메일은 공개용 가상 데이터로 바꿔서 캡처
09 eaglenest

오늘 배운 것, eaglenest에서는

오늘 배운 것eaglenest에서는
청킹 · 임베딩 · 메타데이터문서 업로드 후 인덱싱, 종류·부서·태그
하이브리드 + RRF통합 검색의 하이브리드·키워드 배지와 점수
문장마다 인용 · 원문 대조근거 번호 + 출처 패널
근거 부족하면 멈추기"찾지 못했습니다" + 추가 자료 요청
권한은 검색 단계에서 · 그래프 · 라우팅볼 수 있는 정보만 · 업무 온톨로지 직접 조회
정답지와 평가부정확해요 · 수정 제안 피드백

질문 있어?

질문이 없으면 같이 얘기해 보자
1. 컨텍스트가 1,000만 토큰이 돼도 RAG가 필요할까?
2. 출처 링크가 붙어 있으면 사람은 오히려 덜 확인하게 될까?
칼리즈 · 고마워!
→ 또는 클릭으로 넘기기 · N 노트 · F 전체화면 · 쪽 번호 클릭해서 이동