Claude Sonnet 4.5 11월 30일 종료, 14개 중 8개 요청 실패
목차
Claude Sonnet 4.5 (claude-sonnet-4-5-20250929)는 2026년 11월 30일부터 Claude API에서 작동하지 않는다. Sonnet 4.5에서 흔히 쓰는 요청 형태(요청 파라미터 조합) 14개 중 8개는 권장 대체 모델인 Claude Sonnet 5.5에서 HTTP 400을 반환한다. Anthropic은 9월 30일에 Sonnet 4.5를 deprecated 상태로 전환했다. Deprecated 모델은 아직 응답하지만, 종료일 이후에는 모든 요청이 실패한다. Amazon Bedrock은 2027년 4월 8일까지 제공하며, Google Cloud는 아직 종료일을 발표하지 않았다. Anthropic API를 통해 Sonnet 4.5, Claude Sonnet 4.6, Sonnet 5.5에 동일한 요청 14개를 보내고 응답 구조, token 수, 비용을 비교했다.
TL;DR
- Claude Sonnet 4.5는 Claude API에서 2026년 11월 30일, Amazon Bedrock에서 2027년 4월 8일 종료된다.
- Sonnet 5.5는 API 버전
2023-06-01에서 요청 14개 중 8개를,2026-10-21에서는 9개를 거부했다. - Sonnet 4.6은 14개 중 assistant prefill 하나만 거부했으며, 비용은 Sonnet 4.5와 같다.
- 짧은 호출 1,000건의 비용은 Sonnet 5.5가 $1.54, Sonnet 4.5가 $1.47로 비슷했다. Sonnet 5.5의 정가가 33% 낮은데도 그렇다.
Claude Sonnet 4.5는 언제 작동을 멈추나?
Sonnet 4.5는 Anthropic이 직접 운영하는 모든 플랫폼에서 2026년 11월 30일 작동을 멈춘다. 파트너가 운영하는 두 플랫폼에서는 더 오래 제공되므로, 종료일은 호출하는 플랫폼에 따라 달라진다.
| 플랫폼 | 2026년 10월 26일 기준 상태 | 마지막 제공일 |
|---|---|---|
| Claude API, Claude Platform on AWS, Claude Models on Google Cloud (Anthropic managed), Microsoft Foundry | 9월 30일부터 deprecated | 2026년 11월 30일 종료 |
Amazon Bedrock (anthropic.claude-sonnet-4-5-20250929-v1:0) | 10월 8일부터 Legacy | 2027년 4월 8일 지원 종료. 가격이 인상될 수 있는 “public extended access”는 2027년 1월 8일부터 시작 |
Google Cloud, Google managed (claude-sonnet-4-5@20250929) | 일반 제공 | Deprecated 공지 없음. 모델 페이지에는 종료일이 2026년 9월 29일 “이후”로 표시됨 |
출처: Anthropic의 모델 deprecated 정책 페이지, Bedrock의 모델 수명 주기(Legacy) 페이지, Google Cloud의 Sonnet 4.5 모델 페이지와 파트너 모델 deprecated 정책. Google Cloud 문서 두 개는 모두 10월 22일에 업데이트됐다.
Bedrock의 Legacy 상태에는 별도 규칙이 적용된다. 신규 고객은 해당 모델을 사용할 수 없다. 기존 계정도 15일 동안 호출하지 않으면 접근 권한을 잃을 수 있으며, 새로운 Provisioned Throughput(예약 용량)도 구매할 수 없다. 모델은 2027년 1월 8일부터 public extended access로 전환되며, 이 기간에는 Anthropic이 더 높은 가격을 책정할 수 있다.
Synthorai는 Amazon Bedrock과 Google Cloud를 통해 Sonnet 4.5를 제공하므로, Synthorai에서 claude-sonnet-4-5로 보내는 요청은 11월 30일 이후에도 계속 작동한다. Bedrock 자체 종료일은 2027년 4월 8일이다. 10월 26일 기준으로 claude-sonnet-4-5와 claude-sonnet-4-5-20250929 모두 Synthorai를 통해 응답했다. 추가 제공 기간은 마이그레이션에 활용해야 한다. Bedrock 가격은 1월 8일부터 바뀔 수 있고, 결국 모델 제공도 종료된다.
Sonnet 5.5에서 실패하는 Sonnet 4.5 요청은?
Sonnet 4.5가 받는 요청 형태 14개 중 8개는 Sonnet 5.5에서 실패하고, 1개는 Sonnet 4.6에서 실패한다. 각 요청을 모델별로 한 번씩 Anthropic API에 전송했다. anthropic-version: 2023-06-01을 사용했으며, 이는 10월 21일 major 버전 이전의 Anthropic SDK가 보내는 버전이다. 200은 요청이 수락됐다는 뜻이고, 400은 거부됐다는 뜻이다.
| 요청 | Sonnet 4.5 | Sonnet 4.6 | Sonnet 5.5 |
|---|---|---|---|
| Sampling 또는 thinking 설정 없음 | 200 | 200 | 200 |
temperature: 0 | 200 | 200 | 400 |
temperature: 1.0 (기본값) | 200 | 200 | 200 |
top_p: 0.9 | 200 | 200 | 400 |
top_k: 40 | 200 | 200 | 400 |
thinking: {"type": "enabled", "budget_tokens": 2048} | 200 | 200 | 400 |
thinking: {"type": "disabled"} | 200 | 200 | 400 |
tool_choice: {"type": "auto"} | 200 | 200 | 200 |
tool_choice: {"type": "any"} | 200 | 200 | 400 |
tool_choice: {"type": "tool", "name": ...} | 200 | 200 | 400 |
| Assistant prefill(요청이 일부 작성된 assistant turn으로 끝남) | 200 | 400 | 400 |
stop_sequences | 200 | 200 | 200 |
1시간 cache_control이 적용된 system prompt | 200 | 200 | 200 |
max_tokens: 64000 | 200 | 200 | 200 |
오류 메시지에는 대체 요청 방식이 명시돼 있다.
| 요청 | Sonnet 5.5 오류 메시지 |
|---|---|
temperature, top_p, top_k (기본값이 아닌 경우) | “`temperature` is deprecated for this model.” |
budget_tokens가 포함된 thinking | ""thinking.type.enabled” is not supported for this model. Use “thinking.type.adaptive” and “output_config.effort” to control thinking behavior.” |
thinking: disabled | ”To turn thinking off on this model, send “thinking”: {“type”: “between_tools”} instead of {“type”: “disabled”}.” |
강제 tool_choice | ”tool_choice: type “tool” and “any” are not supported for this model.” |
| Assistant prefill | ”This model does not support assistant message prefill. The conversation must end with a user message.” |
새 SDK major 버전이 전송하는 API 버전 2026-10-21은 세 모델 모두에서 sampling 파라미터를 제거한다. 따라서 이 버전에서는 Sonnet 4.5에서도 temperature가 실패한다. 나머지 항목은 두 API 버전 모두 위 표와 같았다.
실패하는 요청은 각각 어떻게 고치나?
Sonnet 5.5에서는 실패 유형마다 대체 방식이 있다.
| Sonnet 4.5 요청 | Sonnet 5.5 대체 방식 |
|---|---|
temperature, top_p, top_k | 제거하고 대신 prompt에서 출력을 유도 |
budget_tokens가 포함된 thinking | "thinking": {"type": "adaptive"}로 모델이 thinking 양을 결정하게 하고, "output_config": {"effort": "low"}, "medium", "high" 중 하나를 지정. 기본값은 "high"이며, effort는 허용할 thinking 양을 결정 |
thinking: disabled | "thinking": {"type": "between_tools"}. 답변 전에는 thinking하지 않고, tool 호출 사이의 짧은 메모는 thinking block으로 반환 |
tool_choice: any 또는 tool | tool_choice: auto를 사용하고 prompt에 tool 이름을 명시. 테스트에서는 모든 모델이 요청 10개 중 10개에서 tool call을 반환 |
| Assistant prefill | User message로 끝내고, JSON 출력에는 structured output 사용 |
Thinking budget이 있는 Sonnet 4.5 호출은 Sonnet 5.5에서 다음과 같이 바뀐다.
import anthropic
client = anthropic.Anthropic()
# Sonnet 4.5:
# client.messages.create(model="claude-sonnet-4-5-20250929", max_tokens=4096,
# thinking={"type": "enabled", "budget_tokens": 2048}, messages=messages)
response = client.messages.create(
model="claude-sonnet-5-5",
max_tokens=4096,
thinking={"type": "adaptive"},
output_config={"effort": "medium"}, # low, medium or high (the default)
messages=[{"role": "user", "content": "Extract the invoice total as JSON."}],
)
오류 없이 달라지는 동작은?
Sonnet 5.5 응답의 첫 번째 content block이 항상 text인 것은 아니다. 따라서 response.content[0].text를 읽는 코드는 200 응답에서도 깨질 수 있다. Sonnet 5.5는 기본적으로 thinking한다. Adaptive thinking의 기본 effort는 high다. Thinking을 사용한 응답은 thinking block으로 시작하며, 별도로 요청하지 않으면 이 block의 text는 비어 있다. Sonnet 4.5 코드와 같은 방식으로 thinking 설정 없이 extraction prompt 20개를 보냈을 때 Sonnet 5.5 응답 11개가 thinking block으로 시작했다. Sonnet 4.5와 Sonnet 4.6는 총 40개 응답 모두 text로 시작했다. 한 단어 답변이 필요한 classification prompt 20개에서는 세 모델 모두 text가 먼저 반환됐다.
위치가 아니라 block type으로 text를 읽어야 한다.
text = "".join(block.text for block in response.content if block.type == "text")
Thinking도 output으로 계산된다. Sonnet 4.5에서는 thinking token이 없던 extraction 호출에서 Sonnet 5.5는 호출당 평균 69개의 thinking token을 사용했다. 이 값은 usage.output_tokens_details.thinking_tokens에 기록되며 output 가격으로 과금된다.
Sonnet 5.5가 Sonnet 4.5보다 저렴한가?
Sonnet 5.5의 token당 가격은 Sonnet 4.5보다 33% 낮다. Input과 output token 100만 개당 각각 $2 / $10이며, Sonnet 4.5는 $3 / $15다. 하지만 같은 text에도 더 많은 token을 계산하고 기본적으로 thinking하기 때문에 동일한 호출의 비용은 비슷했다. 모델별로 짧은 실제 운영 호출 40개(classification 20개, extraction 20개)를 테스트한 결과, 호출 1,000건당 Sonnet 5.5는 $1.54, Sonnet 4.5는 $1.47였다.
| 호출 | Sonnet 4.5 호출당 비용 | Sonnet 5.5 호출당 비용 | Input token, 4.5에서 5.5 |
|---|---|---|---|
| Classification(한 단어 label), n=20 | $0.00080 | $0.00067 | 240에서 309 |
| Extraction(e-mail에서 JSON field 추출), n=20 | $0.00214 | $0.00241 | 310에서 388 |
| Tool 하나를 정의한 단일 tool call, n=10 | $0.00253 | $0.00128 | 577에서 391 |
Text를 token으로 분할하는 tokenizer가 바뀌면서 token 수도 달라졌다. Sonnet 5.5는 Anthropic의 최신 모델과 같은 tokenizer를 사용하고, Sonnet 4.5와 Sonnet 4.6는 이전 tokenizer를 함께 사용한다. Anthropic의 무료 count_tokens endpoint로 실제 text 8,000자 샘플을 측정했다. 이때 “OK”만 포함한 message의 token 수를 뺐다. Sonnet 4.5에서는 8 tokens, Sonnet 5.5에서는 10 tokens이며, 대부분 message별 overhead다.
| Text(8,000자) | Sonnet 4.5 및 4.6 | Sonnet 5.5 | 변화 |
|---|---|---|---|
| 영어 기술 블로그 글 | 3,179 | 3,846 | +21% |
| 글의 독일어 번역본 | 3,536 | 4,546 | +29% |
| 글의 중국어 번역본 | 5,770 | 6,378 | +11% |
| 글의 일본어 번역본 | 5,559 | 6,112 | +10% |
| Python source code | 2,433 | 3,216 | +32% |
| JSON record | 2,079 | 2,745 | +32% |
중국어와 일본어 글에는 영어 용어, 숫자, Markdown이 포함돼 있다. 중국어 또는 일본어만 사용한 짧은 text에서는 두 tokenizer의 계산 결과가 같았다. Sonnet 5.5 호출을 Sonnet 4.5 가격으로 계산하면 1,000건당 $2.31이다. Token 사용량은 57% 증가했으며, 33%의 가격 인하가 증가분 대부분을 상쇄했지만 전부는 아니었다. Tool call은 예외였다. 더 큰 tokenizer를 사용하는데도 input이 577 tokens에서 391 tokens로 줄었다. API가 prompt에 추가하는 tool 사용 지침이 Sonnet 5.5에서 더 짧아진 것으로 보인다. Tool 하나와 짧은 prompt를 사용했을 때 비용은 절반으로 줄었다.
대신 Sonnet 4.6으로 옮겨야 하나?
Sonnet 4.6은 작업량이 가장 적은 마이그레이션 경로다. Sonnet 4.5와 가격이 같고, 같은 tokenizer를 사용해 위의 모든 text에서 token 수가 같았다. 요청 14개 중 실패한 것은 assistant prefill 하나뿐이었다. 종료일은 2027년 2월 17일 이후이므로 Sonnet 5.5 마이그레이션을 약 11주 미룰 수 있다. 11월 30일까지 thinking budget, 강제 tool call, 응답 parsing을 수정하기 어렵다면 우선 Sonnet 4.6으로 옮기고, 이후 Sonnet 5.5 마이그레이션을 진행하면 된다.
| Sonnet 4.5 | Sonnet 4.6 | Sonnet 5.5 | |
|---|---|---|---|
| 정가, input / output token 100만 개당 | $3 / $15 | $3 / $15 | $2 / $10 |
| 테스트한 요청 14개 중 거부된 수 | 0 | 1 | 8 |
| 같은 text의 token 수 | 기준 | 동일 | 영어 +21%, code와 JSON +32%, 중국어와 일본어 글 약 +10% |
| 테스트에서 짧은 호출 1,000건당 비용 | $1.47 | $1.47 | $1.54 |
| Claude API 종료 | 2026년 11월 30일 | 2027년 2월 17일 이후 | 2027년 9월 28일 이후 |
11월 30일 전에 무엇을 확인해야 하나?
| 코드 동작 | 확인할 항목 | 변경 방법 |
|---|---|---|
temperature, top_p, top_k 설정 | 기본값이 아닌 값 | Sonnet 5.5에서는 제거. Sonnet 4.6은 2023-06-01에서 계속 지원 |
| Thinking budget 설정 | thinking.budget_tokens | Effort level을 지정한 adaptive thinking으로 변경 |
| Thinking 비활성화 | thinking: disabled | thinking: between_tools로 변경 |
| Tool 강제 지정 | tool_choice의 any 또는 tool | auto를 사용하고 prompt에 tool 이름 명시 |
| Assistant turn prefill | Assistant message로 끝나는 요청 | User message로 끝내고, JSON에는 structured output 사용 |
content[0].text 읽기 | 응답 parsing | type == "text"인 block만 필터링 |
| Token 수를 기준으로 예산 산정 | Prompt와 context limit | count_tokens로 다시 계산. 테스트에서는 영어가 21%, code가 32% 증가 |
| Amazon Bedrock에서 실행 | Anthropic이 아닌 Bedrock 종료일 | 2027년 4월 8일. 1월 8일부터 가격이 바뀔 수 있음 |
FAQ
Claude Sonnet 4.5는 언제 종료되나? Claude Sonnet 4.5는 Claude API, Claude Platform on AWS, Claude Models on Google Cloud (Anthropic managed), Microsoft Foundry에서 2026년 11월 30일 종료된다. Amazon Bedrock에서는 2027년 4월 8일 종료되며, Google이 관리하는 Google Cloud는 2026년 10월 26일 기준으로 종료일을 발표하지 않았다.
Claude Sonnet 4.5의 대체 모델은?
Anthropic은 Claude Sonnet 5.5 (claude-sonnet-5-5)를 권장한다. Claude Sonnet 4.6도 단기 대체 모델로 사용할 수 있다. Sonnet 4.5와 가격이 같고, 테스트에서는 assistant prefill만 거부했으며, 최소 2027년 2월 17일까지 제공된다.
11월 30일 이후 Sonnet 4.5 요청은 어떻게 되나?
종료된 모델에 대한 요청은 실패한다. 따라서 11월 30일부터 Claude API의 claude-sonnet-4-5-20250929 호출은 오류를 반환한다. 어떤 플랫폼도 호출을 다른 모델로 자동 전환하지 않는다. 모델 이름과 요청 형태를 직접 변경해야 한다.
관련 글
- Claude Sonnet 5.5 비용: Effort level과 Sonnet 5 대비 작업당 비용
- LLM thinking 제어: 여러 공급자에서 adaptive thinking과 effort가 작동하는 방식
- GPT-4 및 GPT-3.5 Turbo 종료: OpenAI에서도 필요한 같은 유형의 마이그레이션
- LLM structured output: Assistant prefill 없이 JSON 출력