본문 바로가기
C.W.K.
Stream
Lesson 02 of 07 · published

예비 사슬은 품질 저하를 숨기지 않아야 해

~14 min · fallback, degraded-mode, reliability

Level 0Observer
0 XP0/64 lessons0/13 achievements
0/150 XP to next level150 XP to go0% complete

세 예비 경로는 피해 범위가 달라

같은 제공자 안에서 Sonnet을 Haiku로 낮출 수도 있고, 비슷한 능력의 호출을 Anthropic에서 OpenAI나 Gemini로 넘길 수도 있어. 즉답이 필요 없다면 Batch API나 큐로 미룰 수도 있지. 각 선택은 비용과 품질, 완료 시간에 서로 다른 변화를 만들어.

낮아진 품질은 사용자에게 알려

예비 경로가 더 작은 모델을 썼다면 “Sonnet을 사용할 수 없어 Haiku가 답했어”라고 드러내. 말없이 낮은 품질을 내보내면 사용자는 답의 성격이 바뀐 이유를 알 수 없어. cwkPippa도 현재 브레인을 화면 표지로 보여 아빠가 어떤 경로가 응답했는지 알게 해.

모든 분기를 한 번씩 고장 내 봐

시험하지 않은 예비 경로에는 반드시 숨어 있는 문제가 있어. 준비 환경에서 주 경로를 의도적으로 끄고 각 분기가 처음부터 끝까지 동작하는지 확인해. 실제 장애가 오기 전에 인증·형식·화면 표시의 틈을 찾는 훈련이야.

원칙: 신뢰성은 여러 층으로 만들고, 예비 경로는 장애 훈련으로 존재를 증명해.

Code

Three-step fallback chain·python
from anthropic import Anthropic, RateLimitError, InternalServerError, APIConnectionError

client = Anthropic(max_retries=2)

async def chat_with_fallback(messages):
    # 1) 계획된 tier 시도.
    try:
        return ('sonnet', await call(client, 'claude-sonnet-4-6', messages))
    except (RateLimitError, InternalServerError, APIConnectionError):
        pass
    # 2) 같은 프로바이더, 더 작은 모델.
    try:
        return ('haiku', await call(client, 'claude-haiku-4-5-20251001', messages))
    except (RateLimitError, InternalServerError, APIConnectionError):
        pass
    # 3) Cross-프로바이더.
    return ('openai', await call_openai(messages))
User한테 fallback surface·typescript
function ResponseBadge({ tier }: { tier: 'sonnet' | 'haiku' | 'openai' }) {
  if (tier === 'sonnet') return null;  // primary path, no badge
  const label =
    tier === 'haiku' ? 'fast mode (smaller model)' : 'fallback provider';
  return (
    <span className="text-xs text-amber-600" title={`Generated via ${tier}`}>
      {label}
    </span>
  );
}

External links

Exercise

운영 문서에 예비 경로 장애 훈련을 넣어. 준비 환경에서 주 Anthropic 경로를 끄고 대표 요청이 SLA 안에 다른 길로 끝나는지, 당직자가 무엇을 보는지 기록해.
Hint
예비 경로에서 사용자가 보게 될 화면을 설명할 수 없다면 저하 UX가 아직 정의되지 않은 거야.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.