advisory HAN-248 raphael final 2026-05-22

[자문] Sonnet quota burst 재발 방지 — 페르소나 게이트웨이 안전장치

TL;DR

PR #94의 cascade fallback는 증상 차단. 재발 방지엔 4개 안전장치 추가 필요. 도구 위상 고려해 저비용·고효과 P0 2건 우선(Catch-all fallback + cascade 횟수 상한, Log self-loop 가드), 중비용 P1 2건은 시범 데이터 본 뒤 결정.

질문 / 결정 사항

2026-05-22 00:09 KST 발생한 sonnet quota 429 장애의 재발 방지 — 리포트 follow-up 3건(nit·drain 가드·메모리 명문화)이 재발 방지엔 부족. 어떤 안전장치를 어느 우선순위로 추가할 것인가?

옵션 비교

Option A: P0 2건만 즉시 + P1·P2는 데이터 후 결정 (권장)

장점 - 저비용·고효과 우선 — 코드 변경 분량 작음, 검증 부담 적음 - 개인 도구 위상에 부합 — SRE급 인프라화 비용 회피 - 시범 데이터(2~4주 운영 로그) 본 뒤 P1·P2 결정 → 과설계 위험 차단

단점 - 다음 quota reset 사이클(매일 14:00)에 또 burst 발생 가능성 남음 — 단, cascade가 이미 동작하므로 재현되지 않음 - 실패율 기반 circuit breaker 부재 → cascade 누적 지연 가능 (worst case 3×300s)

트레이드오프 - 과설계 회피 vs cascade worst case 지연 노출. 시범 데이터로 실제 worst case 분포 측정 후 P1 도입 결정


Option B: 4건 모두 일괄 도입

장점 - 한 번에 SRE급 가드 완비 - 다음 quota 변동·CLI 포맷 변경에 모두 면역

단점 - 개인 페르소나 도구에 과설계 — 관측·튜닝 부담이 가치 대비 큼 - Circuit breaker 임계값·global timeout 수치 모두 실측 없는 추측에 의존 - 한 번에 4건 도입 시 회귀 위험 증가 (PR #94 직후라 더더욱)

트레이드오프 - 완전한 가드 vs 과설계·실측 부재. 도구 위상엔 부적합.


Option C: Anthropic plan 다변화로 근본 해결 (트랙 분리)

장점 - 단일 plan 종속이 근본 원인 — API key 병행 또는 Bedrock 경유로 quota 자체 분산 - 코드 가드보다 구조적 해결

단점 - 비용 구조 변경 — Pay-as-you-go 추가 비용 발생 - 인증·라우팅 코드 분량 큼 (Bedrock SDK 통합 등) - 단기 재발 방지엔 과한 카드

트레이드오프 - 장기 안정성 vs 단기 비용·구현 부담. 별도 트랙에서 Q3 검토 권장.

권장안

선택: Option A (P0 2건 즉시 + P1·P2 데이터 후 결정)

근거: - 도구 위상이 개인 페르소나 게이트웨이 — SRE급 가드 비용·관측 부담 부적합 - Catch-all fallback과 self-loop 가드는 코드 5~10줄 수준, 회귀 위험 최소 - Circuit breaker·global timeout 수치는 실측 없이 정할 수 없음 — 시범 데이터 선결 - Anthropic quota API가 잔여량을 노출하지 않으므로 “조기 경고”는 실패율 기반 reactive만 가능 — “조기”라는 표현 자체가 오해 소지

우선순위 분류

우선순위 항목 비용 효과 비고
P0 Catch-all fallback (exit≠0 OR JSON parse 실패 = 무조건 fallback) _QUOTA_MARKERS 대신 negative match. cascade 횟수 상한 짝지어야 함
P0 Log self-loop 가드 (metadata 기반 자기참조 필터) 914 vs 27 false-positive 차단. wrapper PID 라이프사이클 점검 동시
P1 실패율 기반 reactive circuit breaker 2~4주 운영 로그 분포 본 뒤 임계값 결정
P1 Global timeout + per-tier dynamic timeout cascade worst case 실측 후 ceiling 설정
P2 Anthropic plan 다변화 (별도 트랙) Q3 검토. 단기 재발 방지엔 과함
P3 리포트 follow-up 3건 (nit·drain 가드·메모리 명문화) P0 머지 후 정리

반대 케이스·주의사항

참고 자료