RAG2026-5일31차시 · 예외 처리 설계7 / 19← 이전목차다음 →MetaContents

31차시. 예외 처리 설계

4. 왜 안내 문구를 나누는가

출처: 원본 PDF 31차시_방어적코딩실습.pdf 9~10쪽 · 쪽 그림 9쪽 10쪽

사용자 입장에서 생각해보면 명확합니다.

상황획일적 안내계층화된 안내
문서에 없는 주제"찾지 못했습니다""문서에 없을 가능성이 높습니다. 담당 부서 문의"
API 한도 초과"찾지 못했습니다""요청이 많습니다. 잠시 후 재시도"
시스템 오류"찾지 못했습니다""일시적 오류입니다. 관리자 문의"

🎯 사용자의 다음 행동이 달라집니다
"찾지 못했습니다"만 보면
→ 질문을 계속 바꿔가며 시도합니다
→ 사실 API 한도 문제였다면 헛수고입니다
"요청이 많습니다"를 보면
→ 잠시 기다렸다 다시 시도합니다
→ 적절한 행동을 하게 됩니다
정확한 안내는 사용자의 시간을 아껴줍니다.

4-1) 미검증 답변 처리

출력
■ 27차시 방식
검증 실패 + 상한 도달 → END (답변 그대로, 표시 없음)

■ 31차시 방식
검증 실패 + 상한 도달 → fallback(unverified)
                       → 답변 유지 + verified=False
                       → 화면에서 경고 표시

■ 화면 출력 예시
⚠ 아래 답변은 자동 검증을 통과하지 못했습니다.
   내용을 원문과 대조해 확인해주세요.

환불은 상품 수령 후 7일 이내에 신청하실 수 있습니다[1].

📎 참고: 이용약관.pdf 4페이지

💡 불확실성을 숨기지 않는 것이 신뢰의 조건
"확실하지 않은 답을 확실한 척 주는 것"이
"확실하지 않다고 말하는 것"보다 훨씬 나쁩니다.
사용자가 판단할 수 있게 정보를 주세요.

← 이전 절31차시 · 3. Fallback 계층화다음 절 →31차시 · 5. 실습 ① — 노드별 예외 처리 표준화