실패 종류부터 갈라
4xx처럼 요청 자체가 잘못된 영구 실패는 다시 보내면 안 돼. 5xx와 529 같은 일시 실패는 지수 백오프 뒤에 재시도하고, 429는 retry-after를 따라야 해. SDK의 자동 예산을 넘긴 뒤 어떤 행동을 할지는 제품이 정해.
상류 장애에는 회로를 열어
Claude API 상태가 나쁠 때 즉시 재시도를 몰아치면 장애를 키워. 연속 N회 실패 뒤 회로 차단기를 열고, 식힘 시간 동안 호출을 막은 뒤 반개방 상태에서 회복을 시험해. 그동안 Haiku, Bedrock의 Sonnet, 큐에 넣은 재시도 같은 예비 경로로 넘길 수 있어.
cwkPippa는 저하 시간을 정상 조건으로 봐
cwkPippa의 운영 규칙은 하루 약 4시간의 저하도 일어날 수 있다고 가정해. 그래서 Codex → Claude → Gemini 예비 사슬은 나중에 붙일 장식이 아니라 첫 버전의 요구사항이야. 상류가 항상 정상이라는 전제를 버려야 실패가 사용자 경험 전체를 삼키지 않아.
원칙: 재시도는 짧은 흔들림을 넘겨. 지속 장애는 회로 차단기와 예비 경로가 다뤄.