30차시. 질의 재작성 및 재검색
10. 자주 겪는 문제
출처: 원본 PDF 30차시_재작성노드실습.pdf 20쪽 · 쪽 그림 20쪽
| 증상 | 원인과 해결 |
|---|---|
| 재작성해도 같은 질의가 나옴 | tried_queries를 프롬프트에 전달하고 Reducer로 누적하세요 |
| 재작성 후 엉뚱한 문서가 검색됨 | "원본의 의미를 바꾸지 말라" 규칙을 강화하세요 |
| GraphRecursionError | rewrites 상한 검사가 분기 함수 맨 위에 있는지 확인 |
| 무한히 rewrite → retrieve를 반복 | rewrite_node가 rewrites를 반드시 +1 반환하는지 확인 |
| 답변이 재작성된 질의 기준으로 나옴 | generate에서 question을 쓰는지 확인 (query 아님) |
| 재작성이 너무 자주 발생해 비용 폭증 | MIN_SCORE가 높습니다. 24차시 방법으로 재조정하세요 |
10-1) 고급 기법 — HyDE 맛보기
🔬 HyDE (Hypothetical Document Embeddings)
질문 대신 가상의 답변을 만들어 검색하는 기법입니다.
Q: "반품하고 싶은데 언제까지?"
↓ LLM에게 "이 질문의 답변을 상상해서 써봐"
가상 답변: "환불은 상품 수령 후 일정 기간 이내에
신청할 수 있으며, 배송비는..."
↓ 이 문장으로 검색
→ 문서와 문체·용어가 비슷해 유사도가 높아짐
장점 — 어휘 불일치에 매우 강합니다
단점 — LLM 호출이 한 번 더 들고, 틀린 상상이면 역효과
관심 있으면 rewrite 프롬프트를 이 방식으로 바꿔
효과를 비교해보세요.