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

31차시. 예외 처리 설계

1. 시스템이 커질수록 실패 지점도 늘어난다

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

30차시까지 오면서 노드가 9개, 분기가 4개가 됐습니다. 각각이 실패할 수 있습니다.

1-1) 실패 지점 목록

단계실패 원인발생 빈도
분류LLM 오류 · 형식 이탈낮음
검색인덱스 없음 · 손상 · 디스크오류낮음
임베딩API 오류 · 한도 초과 · 타임아웃중간
생성API 오류 · 컨텍스트 초과 · 타임아웃높음
검증JSON 파싱 실패 · API 오류중간
재작성API 오류 · 빈 결과낮음
전체무한루프 · 메모리 부족낮음

⚠️ 실무에서 가장 흔한 세 가지
① RateLimitError (429)
API 호출 한도 초과. 트래픽이 몰리면 발생합니다
② Timeout
LLM 응답이 30초 넘게 안 오는 경우
③ 컨텍스트 초과
k를 크게 잡았거나 문서 조각이 긴 경우
이 셋은 반드시 대비해야 합니다.

1-2) 대비하지 않으면

출처: 원본 PDF 4쪽

💥 예외 처리 없는 시스템의 최후
검증 노드에서 JSON 파싱이 실패합니다.
↓
예외가 그래프 밖으로 던져집니다.
↓
app.invoke가 예외를 던집니다.
↓
웹 서버가 500 에러를 반환합니다.
↓
사용자는 아무 답도 못 받습니다.
그런데 사실 답변은 이미 만들어져 있었습니다.
검증만 실패했을 뿐인데요.

← 이전 절31차시 · 이번 차시에서 배우는 것다음 절 →31차시 · 2. 부분 실패를 허용하는 설계