24차시. Retriever Node 분리
정리
- RAG 문제의 대부분이 검색에서 시작되므로, 가장 자주 손보는 검색을 가장 먼저 독립시킵니다. (24차시 「1. 왜 검색을 가장 먼저 독립시킬까?」)
- 검색 옵션은 State 에서 읽고, 없을 때만 config 기본값을 씁니다. 그래야 실행 중에 k 를 바꿀 수 있습니다. (24차시 「2. 좋은 Retriever Node의 4가지 설계 원칙」 › 2-1) 원칙 ① — State에서만 입력받는다)
- 검색 노드는 판단하지 않고 scores, retrieval_ok, fail_reason 같은 판단 재료만 남깁니다. (24차시 「2. 좋은 Retriever Node의 4가지 설계 원칙」 › 2-2) 원칙 ② — 판단 재료를 남긴다)
- low_score 는 질문을 고쳐 다시 찾을 대상이고, no_result 는 인덱스나 설정을 볼 문제입니다. (24차시 「4. 실패 사유를 구분하는 이유」)
- 재검색 때는 k 를 늘리고 기준을 조금 낮추되, 하한을 두어 무관한 조각이 통과하지 않게 합니다. (24차시 「6. 실습 ③ — 점진적 확대 전략」)
- 모듈을 만들면 읽는 키, 쓰는 키, 보장 사항을 상단 주석으로 남깁니다. (24차시 「8. 입출력 명세 문서화」)