31차시. 예외 처리 설계
체크리스트와 과제
원본 PDF 끝부분의 체크리스트, 과제, 다음 차시 미리보기를 한 페이지에 모았습니다.
이번 차시 체크리스트
출처: 원본 PDF 20~21쪽 · 쪽 그림 20쪽 21쪽
개념 이해
□ 시스템의 주요 실패 지점을 안다
□ 부분 실패 허용 설계를 설명할 수 있다
□ Fallback을 계층화하는 이유를 안다
□ 검증 실패 시 답변을 살리는 이유를 안다
□ 조용한 실패의 위험을 안다
실습
□ safe_node 데코레이터를 만들어 적용했다
□ Fallback을 상황별로 나눴다
□ 미검증 답변에 verified=False를 표시한다
□ LLM 타임아웃과 전체 deadline을 설정했다
□ 구조화 로그를 남기고 집계해봤다
□ 장애 시뮬레이션 3종을 통과했다
□ app.py에 경고 표시를 추가했다
과제
출처: 원본 PDF 22쪽 · 쪽 그림 22쪽
🎯 이번 차시 과제
1. 예외 처리 적용 (필수)
모든 노드에 safe_node를 적용하고
각 노드의 실패 기본값을 표로 정리하세요.
| 노드 | 실패 시 기본값 | 흘러갈 경로 |
2. 장애 시뮬레이션 (필수)
아래 5가지 상황을 만들어 시스템이 버티는지 확인하세요.
· 인덱스 파일 삭제
· API 키를 잘못된 값으로
· 인터넷 연결 차단
· 검증 노드에서 강제 예외
· 빈 질문 입력
5가지 모두 앱이 종료되지 않아야 합니다.
3. 로그 집계 (필수)
질문 20개를 돌린 뒤 로그를 집계해 표를 만드세요.
| 지표 | 값 | 정상 범위 | 판단 |
4. Fallback 문구 작성 (권장)
내 서비스에 맞게 5가지 안내 문구를 다듬으세요.
실제 사용자가 읽는다고 생각하고 쓰세요.
다음 차시 미리보기
출처: 원본 PDF 22~23쪽 · 쪽 그림 22쪽 23쪽
32차시: 고도화된 Modular RAG 🏁
23~31차시에서 만든 모든 것을 통합합니다.
· 9개 노드, 4개 분기의 완전한 그래프
· 전체 회귀 테스트
· 8 → 22 → 27 → 32차시 성능 비교
· 구조 다이어그램 완성
🏁 마일스톤 4 — 3부의 결승선
💬 마무리
오늘 배운 것은 화려하지 않습니다. 정답률도 안 오르고 기능도 안 늘었습니다.
하지만 실무에서 시스템이 신뢰를 잃는 순간은 답이 조금 부정확할 때가 아니라 아무 답도 안 나올 때입니다.
그리고 더 나쁜 것은 틀린 답을 확실한 척 주는 것입니다.
오늘 만든 것을 한 문장으로 정리하면 이렇습니다.
할 수 있는 만큼은 하고, 못 한 것은 정직하게 알린다.
이것이 신뢰할 수 있는 시스템의 조건입니다.
다음 차시에서 3부를 완주합니다! 🛟