RAG2026-5일29차시 · Conditional Edge 실습12 / 19← 이전목차다음 →MetaContents

29차시. Conditional Edge 실습

9. 오분류 점검

출처: 원본 PDF 29차시_ConditionalEdge실습.pdf 19쪽 · 쪽 그림 19쪽

라우팅에서 가장 위험한 것은 문서 질문을 놓치는 것입니다.

📝 오분류 검사

Python
from nodes.classifier import classifier_node

# 반드시 document로 분류되어야 하는 질문들
MUST_BE_DOCUMENT = [
    "환불은 며칠 이내인가요?",
    "안녕하세요, 휴가 규정 알려주세요",     # 인사 + 질문
    "감사합니다. 그런데 교환은 어떻게 하나요?",
    "고객센터 운영 시간이 궁금해요",
    "7일 이내 환불이 맞나요?",              # 숫자 포함
]

wrong = []
for q in MUST_BE_DOCUMENT:
    r = classifier_node({"question": q})
    if r["intent"] != "document":
        wrong.append((q, r["intent"]))

print(f"오분류 {len(wrong)}/{len(MUST_BE_DOCUMENT)}건")
for q, got in wrong:
    print(f"  ✗ '{q}' -> {got}")

실행 결과 예시 (코드를 읽고 만든 예상 화면입니다. 실제 실행 결과, 특히 모델의 답은 다를 수 있습니다)

출력
오분류 1/5건
  ✗ '안녕하세요, 휴가 규정 알려주세요' -> greeting

⚠️ 특히 주의할 패턴
① 인사 + 질문
"안녕하세요, 환불 규정 알려주세요"
→ 길이 제한(20자)으로 대부분 걸러집니다
→ 그래도 놓치면 규칙을 조정하세요
② 숫자가 포함된 문서 질문
"7일 이내 환불이 맞나요?"
→ CALC_PATTERN이 한글을 포함하지 않도록 확인
③ 범위 밖 키워드가 우연히 포함
"날씨가 안 좋을 때 배송은 어떻게 되나요?"
→ "날씨"가 있지만 문서 질문입니다!
→ 단순 키워드 매칭의 한계입니다
오분류가 발생하면 그 규칙을 빼고 LLM에 맡기세요.

← 이전 절29차시 · 8. 개선 효과 측정다음 절 →29차시 · 10. 자주 겪는 문제