Claude Fable 5·Mythos 5, 19일 셧다운이 남긴 것
2026년 6월 9일, Anthropic은 Opus 라인을 넘어서는 첫 Mythos 등급 모델 Claude Fable 5와 Claude Mythos 5를 공개했다. 그런데 출시 사흘 만인 6월 12일, 미국 상무부가 수출통제 지침을 근거로 두 모델에 대한 접근을 전 세계 사용자 대상으로 즉시 중단하라고 명령했다. 6월 30일 통제가 해제되고 7월 1일부터 전 세계 서비스가 재개되기까지, 정확히 19일이 걸렸다. 이 글에서는 무슨 일이 있었는지, 그리고 API를 붙여 쓰는 개발자 입장에서 이런 상황을 어떻게 대비할 수 있는지 정리한다.
무슨 일이 있었나
Fable 5와 Mythos 5는 같은 기반 모델을 공유하지만 안전장치 수준이 다르다. Fable 5는 일반 사용자에게 공개된 버전으로 강력한 안전장치가 적용됐고, Mythos 5는 안전장치가 적은 버전으로 Project Glasswing이라는 소수의 신뢰 파트너에게만 방어적 사이버보안 목적으로 제공됐다.
문제는 Amazon 연구진이 Fable 5의 안전장치를 우회해 소프트웨어 취약점을 찾아내는 방법을 발견하면서 시작됐다. 이 사실이 정부에 보고되자, 상무부는 "미국 내외를 막론하고 모든 외국 국적자"의 접근을 차단하라는 수출통제 지침을 내렸다. 여기에는 Anthropic의 외국 국적 직원도 포함됐다. Anthropic은 실시간으로 국적을 구분해 접근을 제어할 기술적·법적 방법이 없다고 판단해, 결국 전 세계 모든 사용자에 대해 두 모델을 일괄 중단했다. Opus, Sonnet, Haiku 등 나머지 Claude 모델은 영향을 받지 않았다.
이후 Anthropic은 정부와 협력해 신규 안전 분류기를 학습시켰고, 해당 우회 기법을 99% 이상 차단하도록 개선했다. 이 분류기에 걸린 요청은 자동으로 Opus 4.8로 우회 처리된다. 6월 26일 Mythos 5가 critical infrastructure를 운영·방어하는 약 100개 미국 기관에 먼저 복구됐고, 6월 30일 상무부가 통제를 전면 해제하면서 7월 1일부터 Claude Platform, Claude.ai, Claude Code, Claude Cowork 전반에 Fable 5가 재개됐다.
개발자에게 남긴 시사점
이번 사태에서 실무적으로 눈여겨볼 부분은 두 가지다.
첫째, 특정 모델 하드코딩의 위험성. 서비스 코드에 특정 모델명을 고정해두면, 이번처럼 정부 지침이나 정책 변경으로 특정 모델만 갑자기 사용 불가능해지는 상황에 그대로 노출된다. 실제로 이번 셧다운 기간 동안 Fable 5·Mythos 5를 운영에 쓰던 팀들은 별도 사전 공지 없이 서비스가 끊기는 경험을 했다.
둘째, 폴백(fallback) 모델 설계의 필요성. Anthropic이 안전 분류기에 걸린 요청을 Opus 4.8로 자동 우회시킨 것처럼, 특정 모델 장애·차단 시 대체 모델로 넘어가는 구조를 애플리케이션 레벨에서도 미리 마련해두는 것이 안전하다. 아래는 Spring Boot에서 기본 모델 호출이 실패했을 때 대체 모델로 자동 전환하는 간단한 예시다.
@Service
public class ClaudeChatService {
private final WebClient webClient;
// 우선순위대로 시도할 모델 목록 (환경변수로 외부화 권장)
private final List<String> modelFallbackChain = List.of(
"claude-fable-5",
"claude-opus-4-8",
"claude-sonnet-5"
);
public ClaudeChatService(WebClient.Builder builder) {
this.webClient = builder
.baseUrl("https://api.anthropic.com/v1")
.build();
}
public String chat(String userMessage) {
for (String model : modelFallbackChain) {
try {
return callModel(model, userMessage);
} catch (WebClientResponseException e) {
// 403, 503 등 모델 접근 불가 응답이면 다음 모델로 폴백
if (isModelUnavailable(e)) {
continue;
}
throw e;
}
}
throw new IllegalStateException("사용 가능한 Claude 모델이 없습니다.");
}
private String callModel(String model, String userMessage) {
Map<String, Object> requestBody = Map.of(
"model", model,
"max_tokens", 1000,
"messages", List.of(Map.of("role", "user", "content", userMessage))
);
Map<String, Object> response = webClient.post()
.uri("/messages")
.header("x-api-key", System.getenv("ANTHROPIC_API_KEY"))
.header("anthropic-version", "2023-06-01")
.bodyValue(requestBody)
.retrieve()
.bodyToMono(Map.class)
.block();
var content = (List<Map<String, Object>>) response.get("content");
return (String) content.get(0).get("text");
}
private boolean isModelUnavailable(WebClientResponseException e) {
int status = e.getStatusCode().value();
return status == 403 || status == 404 || status == 503;
}
}
핵심은 모델명을 코드에 상수로 박아두지 않고 설정으로 분리해, 정책 변화나 리전별 제한이 생겨도 배포 없이 순서를 조정할 수 있게 하는 것이다. Kraft에서도 외부 LLM 연동 구간은 특정 모델에 종속되지 않도록 인터페이스를 분리해두는 편인데, 이번 사례처럼 모델 단위로 접근이 통째로 막히는 상황에서는 이런 추상화 계층의 가치가 특히 크게 느껴진다.
이번 일이 이례적이었던 이유
이번 조치는 상업적으로 이미 배포된 AI 모델에 대해 수출통제 권한이 사용된 가장 공격적인 사례로 꼽힌다. 업계 전문가들은 "미국 정부가 앞으로 모든 프론티어 모델 출시를 사전 승인해야 하는 선례가 되는가"라는 질문을 던지고 있고, 실제로 비슷한 시기 OpenAI의 GPT-5.6도 정부와의 사전 조율을 거쳐 제한적으로 공개됐다. 프론티어 모델을 운영에 쓰는 입장에서는 이제 성능·가격뿐 아니라 "이 모델이 규제 변화로 갑자기 막힐 가능성"까지 리스크 요인으로 고려해야 하는 시대가 된 셈이다.
마무리
Fable 5·Mythos 5는 현재 전 세계에 재개된 상태이며, Pro·Max·Team 및 일부 Enterprise 플랜에서는 7월 12일까지 주간 사용량의 최대 50%까지 Fable 5를 별도 과금 없이 사용할 수 있다. 다만 이번 사태가 보여주듯, 프론티어 모델은 성능만큼이나 "가용성 리스크"도 서비스 설계에 반영해야 하는 변수가 됐다. 다음 글에서는 Claude API 연동 시 재시도·폴백 전략을 조금 더 깊이 다뤄볼 예정이다.
참고자료
- Anthropic, "Redeploying Claude Fable 5" (anthropic.com/news)
- CNBC, "Anthropic says Trump admin has lifted export controls on Claude Fable 5 and Mythos 5"
'AI > Claude' 카테고리의 다른 글
| Claude Code Hooks 설정: 위험한 Bash 명령을 실행 전에 차단하는 방법 (0) | 2026.07.31 |
|---|---|
| 클로드 Fable 5, 결국 Pro 사용자만 뒤통수 맞았다: $100 크레딧의 진짜 의미 (0) | 2026.07.21 |
| Claude API 폴백·재시도 전략, Spring Boot로 구현하기 (0) | 2026.07.13 |