30차시. 질의 재작성 및 재검색
이번 차시에서 배우는 것
출처: 원본 PDF 30차시_재작성노드실습.pdf 1쪽 · 쪽 그림 1쪽
질의 재작성 및 재검색 — 못 찾으면 다르게 물어본다
✓ 검색 실패의 원인이 '표현 차이'임을 진단한다
✓ 질문을 다르게 표현하는 rewrite 노드를 만든다
✓ 재검색 루프를 구현하고 상한을 건다
✓ question과 query를 나눠둔 설계의 진가를 확인한다 ✓ 14차시부터 남아 있던 실패를 실제로 해결한다
✓ 재검색의 비용과 효과를 측정한다
교안 해설: 이 시간에 하는 일
출처: 교안 30_질의재작성기초.md
12차시부터 남은 실패는 사용자는 '반품', 문서는 '환불'처럼 말이 달라 점수가 기준에 못 미치는 경우입니다. 청크와 k를 바꿔도 문서의 단어는 그대로입니다. 문서를 못 바꾸면 검색어만 바꿉니다.
question은 답변용 원문이라 유지하고 query만 바꿉니다. 이미 시도한 검색어를 프롬프트에 넣지 않으면 temperature 0에서 같은 재작성이 반복됩니다. tried_queries는 reducer로 쌓입니다. 재생성 횟수 retries와 재검색 횟수 rewrites는 비용이 다르므로 카운터를 나눕니다.
기록된 실행에서 '대표이사가 누구인가요?'는 rewrites 2, grade giveup, 약 3.41초였습니다. 문서에 없어 두 번 다시 쓰고도 지어내지 않고 끝난 사례입니다. '환불은 며칠 이내에 신청해야 하나요?'는 rewrites 0, grade pass, 약 6.69초인 기록이 있습니다. 샘플은 이 기록만 사용합니다.
강의 PPT 흐름
출처: 강의 PPT 30차시_질의재작성재검색.pptx (20장)
| 장 | 꼬리표 | 슬라이드 제목 |
|---|---|---|
| 1 | - | 실습으로 배우는 LangGraph : 내 손으로 RAG 시스템 만들기 |
| 2 | LEARNING GOALS | 이번 차시에서 배우는 것 |
| 3 | THE LEFTOVERS | 14차시부터 남아 있던 두 질문 |
| 4 | TRIED EVERYTHING | 지금까지의 처방이 왜 안 통했나 |
| 5 | KEY TERMS | 핵심 용어 |
| 6 | FOUR STRATEGIES | 질의 재작성의 네 가지 전략 |
| 7 | - | QUESTION vs QUERY |
| 8 | REWRITE PROMPT | 재작성 프롬프트의 구성 |
| 9 | NO REPEATS | 같은 재작성이 반복되는 문제 |
| 10 | TWO COUNTERS | retries와 rewrites를 나눈 이유 |
| 11 | CONNECT THE LOOP | 29차시에 예약해둔 길을 연결합니다 |
| 12 | PATH COSTS | 경로별 LLM 호출 횟수 |
| 13 | SOLVED | 드디어 해결했습니다 |
| 14 | THE JOURNEY | 18개 차시를 끌어온 문제 |
| 15 | - | COST vs GAIN |
| 16 | - | HyDE |
| 17 | TROUBLESHOOTING | 자주 겪는 문제 |
| 18 | CHECKLIST | 이번 차시 체크리스트 |
| 19 | NEXT | 다음 차시 미리보기 — 31차시 예외 처리 설계 |
| 20 | - | 마무리 |