RAG2026-5일30차시 · 질의 재작성 및 재검색14 / 19← 이전목차다음 →MetaContents

30차시. 질의 재작성 및 재검색

체크리스트와 과제

원본 PDF 끝부분의 체크리스트, 과제, 다음 차시 미리보기를 한 페이지에 모았습니다.

이번 차시 체크리스트

출처: 원본 PDF 22쪽 · 쪽 그림 22쪽

개념 이해
□ 어휘 불일치가 무엇인지 설명할 수 있다
□ 재작성 4가지 전략을 안다
□ question과 query를 나눈 이유를 설명할 수 있다
□ retries와 rewrites를 나눈 이유를 안다
□ tried_queries가 필요한 이유를 안다
□ 최악의 경우 LLM 호출 횟수를 계산할 수 있다
실습
□ REWRITE_PROMPT를 작성했다
□ rewrite_node를 만들고 상한을 걸었다
□ State에 rewrites와 tried_queries를 추가했다
□ research 경로를 rewrite로 연결했다
□ 재검색 루프가 도는 것을 stream으로 확인했다
□ 14차시 실패 질문이 해결되는 것을 확인했다
□ 27차시 대비 정답률과 비용을 측정했다

과제

출처: 원본 PDF 22쪽 · 쪽 그림 22쪽

🎯 이번 차시 과제
1. 재검색 루프 완성 (필수)
rewrite 노드와 두 갈래 루프를 모두 연결하세요.
2. 실패 질문 해결 확인 (필수)
12차시에서 수집한 실패 사례 중
low_score로 분류된 것들을 돌려보고 표를 채우세요.
​| 질문 | 원본 점수 | 재작성 질의 | 재검색 점수 | 해결 |
3. 재작성 품질 검토 (필수)
재작성된 질의 10개를 눈으로 확인하세요.
의미가 바뀐 것이 있으면 프롬프트를 수정하세요.
4. 상한 실험 (권장)
MAX_REWRITE를 0·1·2·3으로 바꿔가며
정답률과 평균 비용의 변화를 측정하고
최적값을 근거와 함께 결정하세요.

다음 차시 미리보기

출처: 원본 PDF 23쪽 · 쪽 그림 23쪽

31차시: 예외 처리 설계
시스템이 복잡해질수록 실패 지점도 늘어납니다.
· API 오류 · 타임아웃 · 인덱스 손상
· 부분 실패를 허용하는 설계
· Fallback 계층화 (얼마나 정직하게 실패할 것인가)
· 사용자에게 불확실성을 알리는 방법
· 운영 로그와 모니터링
어떤 상황에서도 죽지 않는 시스템을 만듭니다.

💬 마무리
오늘 해결한 문제는 12차시에서 처음 발견한 것입니다. 18개 차시를 끌고 왔습니다.
그동안 여러 방법을 시도했습니다. chunk_size를 바꿔보고, k를 늘려보고, 프롬프트를 강화하고, 재생성까지 붙였습니다. 전부 실패했습니다.
왜냐하면 원인이 다른 곳에 있었기 때문입니다. 문서에 "환불"이라 적혀 있는데 "반품"으로 물으면, 어떤 파라미터를 조정해도 찾을 수 없습니다.
진단이 정확해야 처방이 통합니다. 24차시에서 fail_reason을 남겨두지 않았다면 오늘도 엉뚱한 곳을 고치고 있었을 겁니다.
다음 차시에서 만나요! ✏️

← 이전 절30차시 · 10. 자주 겪는 문제다음 절 →30차시 · 실습 1 — 질의 재작성 및 재검색 실습 따라 하기