LLM WikiAccess-protected knowledge portal

WIKI

Claude Fable 5: Mythos급 모델의 API 변화와 Opus 4.8 마이그레이션 기준

왜 지금 봐야 하나 2026년 6월 9일, Anthropic이 Claude Fable 5를 공개했다. "Claude Opus 위에 새로운 최상위 모델"이라는 말은 벤치마크 홍보처럼 들리지만, API를 직접 다루는 엔지니어에게는 구체적인 결과를 낳는다. Fable 5는 Opus 4.8과 파라미터 호환이 일부 깨진다. 코드를 바꾸지 않고 모델 ID만 교체하면 400 에러가 날 수 있고, 조용히 행동이 달라질 수 있다. 변화의 핵심

경로human/study/content/ai-frontier/43-claude-fable-5-mythos-class-model-api-migration.md
카테고리Study
태그#ai-review #api #class #migration #model #mythos #study

왜 지금 봐야 하나

2026년 6월 9일, Anthropic이 Claude Fable 5를 공개했다. "Claude Opus 위에 새로운 최상위 모델"이라는 말은 벤치마크 홍보처럼 들리지만, API를 직접 다루는 엔지니어에게는 구체적인 결과를 낳는다. Fable 5는 Opus 4.8과 파라미터 호환이 일부 깨진다. 코드를 바꾸지 않고 모델 ID만 교체하면 400 에러가 날 수 있고, 조용히 행동이 달라질 수 있다.

변화의 핵심은 세 가지다.

  1. Adaptive thinking이 항상 켜진다thinking 필드를 지정하지 않아도 추론이 동작한다.
  2. Safety classifier가 추가됐다 — 일부 요청이 HTTP 200으로 거부된다(stop_reason: "refusal").
  3. 30일 데이터 보존이 필수다 — Zero Data Retention 설정과 충돌한다.

Opus 4.8에서 위 세 가지에 해당하는 코드를 쓰고 있다면, Fable 5 전환 전에 확인이 필요하다.


모델 위치와 스펙

Anthropic은 기존의 Haiku → Sonnet → Opus 계층 위에 Fable/Mythos 계층을 신설했다. Fable 5는 이 새 계층에서 광범위하게 출시된 모델이고, Mythos 5는 동일한 성능을 가지되 Safety classifier가 없는 버전으로 Project Glasswing을 통해 승인된 고객에게만 제공된다.

Mythos 5 (Limited) & Fable 5 (GA)
Opus 4.8
Sonnet 5 / Sonnet 4.6
Haiku 4.5
Claude 모델 계층도 — 2026년 7월 기준
항목Claude Opus 4.8Claude Fable 5
API 모델 IDclaude-opus-4-8claude-fable-5
컨텍스트 창200K1M
최대 출력128K128K
Adaptive thinking 기본비활성활성
thinking: {type: "disabled"}지원400 에러
Safety classifier없음있음
원시 CoT 반환가능불가
데이터 보존ZDR 가능30일 필수
가격 (입/출력 per 1M)$5 / $25$10 / $50
Prompt cache 최소 토큰1,024512

파괴적 변경 1: Adaptive thinking 자동 활성

무엇이 달라졌나

Opus 4.8에서 thinking 필드를 생략하면 추론 없이 바로 응답을 생성한다. Fable 5에서 같은 요청을 보내면 Adaptive thinking이 자동으로 활성화된다. 이는 두 가지 결과를 낳는다.

# Opus 4.8 — thinking 없이 실행
response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=4096,
    messages=[{"role": "user", "content": "..."}]
)
# → 추론 없이 즉시 답변

# Fable 5 — 동일 코드, 다른 동작
response = client.messages.create(
    model="claude-fable-5",
    max_tokens=4096,        # thinking 토큰이 이 한도를 소모
    messages=[{"role": "user", "content": "..."}]
)
# → Adaptive thinking 활성, 출력 잘릴 수 있음

thinking: {type: "disabled"} 는 지원되지 않는다

Opus 4.8에서 사용하던 thinking 비활성 코드는 Fable 5에서 400 에러를 반환한다.

# ❌ Fable 5에서 400 에러
client.messages.create(
    model="claude-fable-5",
    thinking={"type": "disabled"},   # 지원하지 않음
    messages=[...]
)

마이그레이션

thinking 필드를 제거하고 max_tokens를 늘린다. 추론 깊이는 output_config.effort로 조절한다.

# ✅ Fable 5 권장 패턴
response = client.messages.create(
    model="claude-fable-5",
    max_tokens=20000,                    # thinking 토큰 여유 확보
    output_config={"effort": "high"},    # 기본값, 생략 가능
    messages=[{"role": "user", "content": "..."}]
)

effort 파라미터: 비용과 깊이의 트레이드오프

Fable 5에서 추론 깊이를 제어하는 주된 수단은 output_config.effort다. budget_tokens처럼 직접 토큰 수를 지정하는 방식이 아니라, 행동 신호(behavioral signal)에 가깝다.

Claude Fable 5 effort 수준 비용·지연 낮음 능력·추론 깊이 높음 low 간단한 분류, 고볼륨 작업, 대화형 빠른 응답 thinking 생략 가능 medium 에이전트 작업, 툴 워크플로, 비용 절감이 필요한 배포 환경 balanced high (기본값) 복잡한 추론, 코드 생성, 에이전트 태스크 파라미터 생략과 동일 xhigh 장기 에이전트 루프, 복잡한 코딩, 능력 최우선 작업 고 토큰 소비 max 프론티어급 문제, 제약 없는 최대 추론 (일반 작업엔 cost 대비 효과 작음) 최대 토큰 소비
effort 수준별 특성

Fable 5 권장 시작점: high(기본). 이전 모델의 xhigh보다 높은 성능이 나오므로, 처음부터 max로 올릴 필요가 없다. 작업이 충분히 완료되는데 지연이 길다면 medium으로 낮추고 측정한다.

# effort 명시 예
import anthropic

client = anthropic.Anthropic()
response = client.messages.create(
    model="claude-fable-5",
    max_tokens=32000,
    output_config={"effort": "xhigh"},   # 장기 에이전트 루프
    messages=[{"role": "user", "content": "..."}]
)

파괴적 변경 2: Safety classifier와 Refusal 처리

왜 이게 파괴적인가

기존 코드에서 stop_reason == "end_turn" 이나 stop_reason == "max_tokens" 만 처리하던 경우, Fable 5에서 거부된 요청은 조용히 빈 응답을 낼 수 있다.

Fable 5는 특정 카테고리의 요청(예: 사이버보안 공격 코드, 생물학적 위험 정보)을 Safety classifier가 감지하면 HTTP 200으로 거부를 반환한다. 에러가 아니므로 SDK 예외가 발생하지 않는다.

response = client.messages.create(
    model="claude-fable-5",
    messages=[{"role": "user", "content": "..."}]
)

# ✅ 올바른 처리
if response.stop_reason == "refusal":
    category = response.stop_details.category
    # 카테고리 예: "cyber", "bio", "reasoning_extraction"
    handle_refusal(category)
elif response.stop_reason == "end_turn":
    process_response(response.content)

Fallback 처리

거부된 요청을 다른 모델로 재시도할 때, Anthropic은 세 가지 방법을 제공한다.

① 서버 측 Fallback (beta): fallbacks 파라미터로 API가 자동 재시도.

response = client.messages.create(
    model="claude-fable-5",
    fallbacks=[{"model": "claude-opus-4-8"}],
    messages=[...]
)
# Fable 5가 거부하면 Opus 4.8로 자동 재시도

② 클라이언트 측 Fallback: SDK 미들웨어 활용.

③ 수동 처리: stop_reason == "refusal" 감지 후 별도 요청.

과금 규칙


파괴적 변경 3: 30일 데이터 보존 의무

Fable 5와 Mythos 5는 30일 데이터 보존(data retention)이 필수다. Zero Data Retention(ZDR) 계약을 가진 조직에서 Fable 5를 호출하면 400 invalid_request_error가 반환된다.

영향 범위: 금융, 의료, 법률 등 고객 계약에 ZDR 조항이 있는 기업. 해당 조직은 Anthropic 계정 팀에 데이터 보존 조건을 확인해야 한다.


Raw CoT가 반환되지 않는다

Fable 5에서 thinking 블록은 원시 사고 과정을 포함하지 않는다. thinking.display로 제어한다.

thinking.display반환 내용
"omitted" (기본)thinking 블록, thinking 필드가 빈 문자열
"summarized"thinking 블록, 사람이 읽을 수 있는 요약 텍스트
# thinking 요약 수신 (디버깅, UI 표시용)
response = client.messages.create(
    model="claude-fable-5",
    max_tokens=16000,
    thinking={"display": "summarized"},
    messages=[...]
)

for block in response.content:
    if block.type == "thinking":
        print("추론 요약:", block.thinking)  # 요약 텍스트
    elif block.type == "text":
        print("응답:", block.text)

멀티턴 대화 주의: thinking 블록을 다음 요청의 messages에 포함할 때, 내용을 수정하지 않고 그대로 전달해야 한다. Fable 5의 thinking 블록을 다른 모델(Opus 4.8 등)로 전달하는 경우에는 thinking 블록을 제거해야 한다.


비용 재계산

Fable 5는 Opus 4.8 대비 토큰 단가가 2배다.

항목Opus 4.8Fable 5
입력 (per 1M)$5$10
출력 (per 1M)$25$50
Prompt Cache 최소1,024 토큰512 토큰
Batch API 할인50%50%

Adaptive thinking이 기본 활성이므로, 같은 요청이라도 thinking 토큰이 추가로 발생한다. 실제 비용 증가는 요청 복잡도와 effort 수준에 따라 다르므로, 주요 프롬프트로 실측해야 한다.

Prompt Cache 기준 완화: 512 토큰부터 캐시 가능해졌으므로, 짧은 시스템 프롬프트도 캐시를 적용해 입력 비용을 줄일 수 있다.


지원되는 기능

Fable 5 출시 시 지원되는 기능 목록이다.

기능비고
output_config.effortlow / medium / high / xhigh / max
Task budgetsbeta: task-budgets-2026-03-13 헤더 필요
Memory tool
Code execution tool
Programmatic tool calling
Context editing (tool result clearing)beta: context-management-2025-06-27 헤더 필요
Compaction
Vision

Task budgets는 에이전트 루프 전체에 토큰 예산을 설정해 Fable 5가 스스로 조절하도록 돕는 기능이다. 장기 실행 에이전트에서 xhighmax를 쓸 때 함께 사용하면 효과적이다.


Opus 4.8에서 Fable 5로 마이그레이션 체크리스트

1단계: 코드 변경 확인

2단계: 용량·비용 재검토

3단계: 조직 조건 확인


한 줄 결론

Claude Fable 5는 "Opus보다 위" 라는 위치를 코드 레벨에서 세 개의 변화로 구체화한다 — Adaptive thinking 자동 활성, Safety classifier 거부 처리, 30일 데이터 보존 의무. 이 세 가지를 확인하지 않고 모델 ID만 바꾸면 400 에러나 조용한 동작 변화가 기다리고 있다.

References