RAG2026-5일24차시 · Retriever Node 분리3 / 18← 이전목차다음 →MetaContents

24차시. Retriever Node 분리

이번 차시에서 배우는 것

출처: 원본 PDF 24차시_RetrieverNode분리.pdf 1쪽 · 쪽 그림 1쪽

Retriever Node 분리 — 검색을 독립 부품으로

✓ 검색 로직을 State만으로 동작하는 독립 모듈로 만든다 ✓ 검색 옵션을 State로 받아 실행 중에 조정한다
✓ 점수와 신뢰도를 State에 남겨 이후 판단에 쓴다
✓ 9차시에서 정한 MIN_SCORE를 실전에 적용한다
✓ 그래프 없이 노드만 테스트하는 코드를 만든다
✓ 입출력 명세를 문서로 남긴다

교안 해설: 이 시간에 하는 일

출처: 교안 24_RetrieverNode분리.md

검색을 먼저 독립시키는 이유는 실패의 대부분이 검색에서 시작되기 때문입니다. 19차시 노드는 유사도 한 방식만 쓰고, 왜 실패했는지를 남기지 않습니다. 오늘은 State만 읽고, 문서와 점수와 retrieval_ok와 fail_reason을 씁니다. 노드는 재검색할지 판단하지 않습니다. 재료만 남깁니다.

실패 이유는 빈 검색어, 결과 없음, 점수가 기준 미만처럼 나뉩니다. 점수가 낮은 실패는 32차시 재작성으로 이어집니다. 재검색 때는 같은 k로 다시 찾지 않고 k를 조금씩 늘리거나 기준 점수를 조금 낮춥니다. 하한이 없으면 무관한 조각까지 통과합니다.

graph.py의 경로는 아직 retrieve에서 generate 또는 종료입니다. graph27.py는 나중 검증 루프의 미리보기입니다. 샘플은 API 예시입니다.

강의 PPT 흐름

출처: 강의 PPT 24차시_RetrieverNode분리.pptx (19장)

장꼬리표슬라이드 제목
1-실습으로 배우는 LangGraph : 내 손으로 RAG 시스템 만들기
2LEARNING GOALS이번 차시에서 배우는 것
3WHY FIRST왜 검색을 가장 먼저 독립시킬까
4WHAT'S MISSING19차시 노드의 아쉬운 점
5KEY TERMS핵심 용어
6FOUR PRINCIPLES좋은 Retriever Node의 설계 원칙
7THE OUTPUT검색 노드가 남기는 것
8FAIL REASONS실패 사유를 구분하는 이유
9THE MISSING PIECE14차시의 남은 실패를 떠올려보세요
10SINGLE TEST단독 테스트 — 여섯 가지 케이스
11WIDEN GRADUALLY점진적 확대 전략
12TRADE-OFF넓게 찾을 때의 득실
13STATE KEYS오늘 State에 추가되는 키
14SAME RESULT22차시와 결과가 같아야 정상입니다
15DOCUMENT IT입출력 명세를 남기면
16TROUBLESHOOTING자주 겪는 문제
17CHECKLIST이번 차시 체크리스트
18NEXT다음 차시 미리보기 — 25차시 Generator Node 분리
19-마무리
← 이전 절24차시 · 용어 짚고 가기다음 절 →24차시 · 1. 왜 검색을 가장 먼저 독립시킬까?