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

31차시. 예외 처리 설계

9. 자주 겪는 문제

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

증상원인과 해결
예외를 잡았는데 그래프가 이상하게 흐름기본값이 라우터를 엉뚱한 곳으로 보냅니다. 기본값을 재검토하세요
모든 예외를 잡아 원인을 알 수 없음반드시 로그에 예외 타입과 스택을 남기세요
타임아웃을 걸었는데 안 걸림LLM 개별 timeout과 전체 deadline을 모두 설정하세요
RateLimitError가 자주 발생max_retries를 늘리고 지수 백오프를 적용하세요
fallback 메시지가 다 똑같음_pick_reason의 조건 순서를 확인하세요
verified 필드가 화면에 안 나옴ask 반환값에 포함하고 app.py에서 표시하세요

9-1) 예외를 무조건 잡으면 안 되는 경우

⚠️ 조용한 실패(silent failure)의 위험
모든 예외를 잡아 기본값으로 넘기면
시스템은 죽지 않지만 계속 틀린 답을 줍니다.
예: 인덱스 파일이 손상됐는데
매번 "자료를 찾지 못했습니다"만 반환
→ 아무도 문제를 모릅니다
반드시 함께 해야 할 것
· 예외를 로그에 남긴다
· node_error 비율을 모니터링한다
· 임계치를 넘으면 알림을 보낸다
잡되, 반드시 기록하세요.

← 이전 절31차시 · 8. 실습 ④ — 장애 시뮬레이션다음 절 →31차시 · 10. app.py 업데이트