클로드 소네트 5.5 vs 5: 달라진 점과 전환 전 호환성 파괴 변경 사항 해결법

Sonnet 5.5 대 Sonnet 5: 동일한 2달러/10달러 가격, 훨씬 더 높은 점수, 그리고 400번대 에러를 반환하는 다섯 가지 호환성 파괴 변경 사항. 정확한 오류들과 JSON 수정 전/후.

Medy Evrard

29 September 2026

클로드 소네트 5.5 vs 5: 달라진 점과 전환 전 호환성 파괴 변경 사항 해결법

Apidog 엔터프라이즈

온프레미스 배포

SSO & RBAC

SOC 2 준수

Apidog Enterprise 살펴보기

클로드 소네트 5.5(Claude Sonnet 5.5, claude-sonnet-5-5, 2026년 9월 28일 출시)는 소네트 5와 동일한 가격인 백만 입력 토큰당 2달러, 백만 출력 토큰당 10달러이며, 동일한 토크나이저를 사용합니다. 훨씬 강력하며 Anthropic은 30% 이상 빠르다고 말합니다. 출시 표에서 Terminal-Bench 4.0은 10.3%에서 70.6%로, CursorBench 4.0은 34.1%에서 55.5%로, OSWorld 2.1은 57.0%에서 80.1%로 상승했습니다. 문제는 API입니다. Sonnet 5에서 작동했던 다섯 가지 요청 형식이 이제 400 오류를 반환하며, 한 가지 변경 사항은 오류 없이 응답 형태를 변경합니다. 결론: 업그레이드하되, 먼저 이 여섯 가지를 수정하십시오.

아래: 각 호환성 파괴 변경 사항과 정확한 오류, 이전/이후 JSON, 그리고 체크리스트가 있습니다. 사양에 대해서는 Claude Sonnet 5.5란 무엇인가를 참조하세요. 이전 버전과의 비교는 Claude Sonnet 5 대 Sonnet 4.6을 참조하세요. Apidog은 테스트하는 동안 이전 요청과 새 요청을 나란히 유지합니다.

한눈에 보는 Sonnet 5 대 Sonnet 5.5

Claude Sonnet 5 Claude Sonnet 5.5
백만 토큰당 가격 (입력 / 출력 / 캐시 읽기) $2 / $10 / $0.20 $2 / $10 / $0.20
컨텍스트 및 출력 1M 컨텍스트 1M 컨텍스트, 128K 출력
허용되는 thinking.type adaptive, disabled adaptive, between_tools
기본 display omitted omitted
노력(Effort) low에서 max까지 동일한 수준, 재조정됨; API 기본값 high
최소 캐시 가능 프롬프트 1,024 토큰 512 토큰
메시지별 노력, 대화 중간 시스템 메시지 아니요 예
강제된 tool_choice 지원됨 400 오류
Opus 스타일의 사이버 안전장치 아니요 예; 고위험 사이버는 Sonnet 5로 대체됨
사고 블록(Thinking blocks) 대화 확인 없음 모델, 대화 및 계정에 바인딩됨
Terminal-Bench 4.0 10.3% 70.6%
CursorBench 4.0 34.1% 55.5%
FrontierCode 1.1 (메인) 42.4% 46.2% (최대), 52.1% (xhigh)
GDPval-AA v2.1 (Elo) 1449 1844
OSWorld 2.1 (부분) 57.0% 80.1%
HLE (도구 포함) 54.9% 64.5%
폐기 여전히 사이버 대체 기능으로 제공됨 2027년 9월 28일 이전에는 아님

Anthropic은 Terminal-Bench, HLE 및 OSWorld를 실행했으며, Cursor는 CursorBench, Cognition FrontierCode 및 Artificial Analysis GDPval-AA를 실행했습니다. Artificial Analysis 자체의 Terminal-Bench 실행 결과는 63.6% 대 14.1%로, 격차는 유지됩니다. FrontierCode는 최대치에서 검토 서브 에이전트를 더 자주 분산시켰고, 벤치마크가 범위 외 편집에 불이익을 주기 때문에 두 가지 5.5 수치를 가집니다. Claude Sonnet 5.5 벤치마크를 참조하십시오.

다섯 가지 주요 변경 사항

각각 Sonnet 5에서 잘 작동하는 코드에 대해 400 invalid_request_error를 반환합니다.

1. thinking: disabled는 사라졌습니다; between_tools를 보내세요

Sonnet 5.5는 thinking: {"type": "disabled"}를 거부합니다:

"thinking.type.disabled" is not supported for this model. Use "thinking.type.between_tools" for the lowest thinking setting, or "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.

가장 낮은 설정인 between_tools를 보내십시오. 이는 사전 사고(up-front thinking)를 건너뛰지만, 도구 호출 사이의 진행 노트는 여전히 thinking 블록으로 도착하며, 이를 변경하지 않고 다시 전달해야 합니다. 이는 low, medium 또는 high 노력(effort) 수준에서만 작동하며, 다른 필드(`display`, `budget_tokens` 또는 `block_binding`은 400 오류를 반환)를 허용하지 않고 대화의 노력을 고정합니다.

// 이전 (claude-sonnet-5)
{"model": "claude-sonnet-5", "max_tokens": 16000,
 "thinking": {"type": "disabled"},
 "output_config": {"effort": "xhigh"}}

// 이후 (claude-sonnet-5-5)
{"model": "claude-sonnet-5-5", "max_tokens": 16000,
 "thinking": {"type": "between_tools"},
 "output_config": {"effort": "high"}}

xhigh 또는 max가 필요한 경우, 적응형 사고(adaptive thinking)가 실행되도록 thinking을 생략하십시오.

2. 강제된 tool_choice는 400 오류를 반환합니다

any 또는 tool 타입의 tool_choice는 토큰 카운팅 엔드포인트에서도 실패합니다:

tool_choice: type "tool" and "any" are not supported for this model.

auto를 보내고, 도구를 strict: true로 표시(모든 객체는 additionalProperties: false가 필요함), 프롬프트에 언제 사용할지 명시하십시오. 이제 모델이 텍스트로 응답할 수 있으므로, 도구 호출이 없는 턴(turn)을 처리해야 합니다.

// 이전 (claude-sonnet-5)
"tool_choice": {"type": "tool", "name": "get_weather"}

// 이후 (claude-sonnet-5-5)
"tools": [{"name": "get_weather",
  "input_schema": {"type": "object",
    "properties": {"location": {"type": "string"}},
    "required": ["location"], "additionalProperties": false},
  "strict": true}],
"tool_choice": {"type": "auto"},
"messages": [{"role": "user",
  "content": "What's the weather in Paris? Use the get_weather tool."}]

요청당 최대 20개의 엄격한(strict) 도구를 사용할 수 있습니다. Amazon Bedrock에서는 Sonnet 5.5에 대해 엄격한 도구를 사용할 수 없습니다: `strict` 없이 `auto`를 보내고 코드에서 입력을 검증하십시오.

3. 사고 블록(Thinking block)은 모델, 대화 및 계정에 바인딩됩니다

각 Sonnet 5.5 사고 블록은 그 이전의 모든 것, 즉 system, tools 및 이전 메시지에 서명됩니다. 2026년 8월 31일(UTC 00:00) 이후에 생성된 계정의 경우, 편집 후 블록을 다시 재생하면 Claude API, Bedrock 및 Google Cloud에서 400 오류가 반환됩니다:

messages.1.content.0: Invalid `signature` in `thinking` block. The block is bound to a different conversation. Remove the block, or set `thinking.block_binding.prefix_mismatch_behavior` to "drop_block".

오래된 계정은 기본적으로 이를 강제하지 않으므로, 오래된 키에서 정상적으로 실행된다고 해서 아무것도 증명되지 않습니다. 대화를 추가 전용(append-only)으로 유지하고, 대화 중간 시스템 메시지로 지침이나 도구를 변경하십시오. 반드시 편집해야 한다면, anthropic-beta: thinking-binding-controls-2026-08-01를 보내고 일치하지 않는 블록을 삭제하십시오:

"thinking": {"type": "adaptive",
  "block_binding": {"prefix_mismatch_behavior": "drop_block"}}

이는 적응형 사고(adaptive thinking)에서만 작동합니다; between_tools를 사용할 경우, 편집된 턴부터 사고 블록을 제거하십시오. Sonnet 5.5는 Sonnet 5, Opus 4.8, Haiku 4.5 및 이전 버전의 블록을 읽습니다; 요청 실패 없이 Opus 5, Opus 5.5, Fable 및 Mythos 블록, 그리고 다른 계정의 Sonnet 5.5 블록은 삭제합니다. 다른 모델은 Sonnet 5.5 블록을 읽지 않습니다. Claude Fable 5.1 preserved thinking을 참조하십시오.

4. computer_20251124는 Claude API 및 Google Cloud에서 실패합니다

거기에서는 컴퓨터 사용에 새로운 도구 세트가 필요합니다. 오류는 다음과 같이 시작됩니다:

'claude-sonnet-5-5' does not support tool types: computer_20251124.
// 이전 (claude-sonnet-5)
"tools": [{"type": "computer_20251124", ...}]

// 이후 (claude-sonnet-5-5, Claude API 및 Google Cloud)
"tools": [{"type": "computer_toolset_20260801"}]

이전 컴퓨터 사용 베타 헤더를 제거하고, 결과에서 멤버 tool_use 블록, 배치 작업 및 toolset_name에 대한 루프를 업데이트하십시오. Bedrock은 여전히 computer_20251124를 허용하지만, computer_20250124는 모든 곳에서 실패합니다.

5. 일부 어드바이저 페어링이 거부됩니다

어드바이저 도구(베타)를 사용할 경우, Sonnet 5.5 실행기는 Opus 5, Opus 5.5, Sonnet 5.5, Fable 5, Fable 5.1, Mythos 5 또는 Mythos 5.1만 어드바이저로 허용합니다. Sonnet 5, Opus 4.8 및 Opus 4.7 어드바이저는 이제 400 오류를 반환합니다. 조언은 또한 advisor_redacted_result 블록으로 암호화되어 도착하므로, 조언 텍스트를 파싱하는 코드는 아무것도 얻지 못합니다.

자동 변경: 도구 호출 사이의 텍스트가 사고 블록으로 이동합니다

이 변경 사항은 아무것도 실패시키지 않습니다. Sonnet 5에서는 도구 호출 사이의 노트가 text로 반환되었습니다. Sonnet 5.5에서는 한두 문장보다 긴 내용은 진행 상황 업데이트 thinking 블록으로 도착하며, 기본 display: "omitted" 설정에서는 비어 있습니다. 해당 노트를 스트리밍하는 에이전트 UI는 오류 없이 조용해집니다. 세 가지 해결책:

// 헤더: anthropic-beta: thinking-display-updates-2026-08-18
"thinking": {"type": "adaptive", "display": "updates"}

코드 변경 없이 동작이 변경되는 경우

이것들은 요청을 실패시키지는 않지만, 출력과 비용을 변경합니다. 프롬프팅 가이드에 해결책이 있습니다.

작업당 비용: 동일한 가격, 결과당 적은 비용

Anthropic의 출시 게시물은 Sonnet 5.5가 자체 테스트에서 “이전 버전보다 작업당 최대 30% 적은 비용”이 든다고 말합니다. 가격은 동일하므로, 절감액은 더 적은 토큰과 단계에서 나옵니다. 노력(effort)별 차트는 5.5의 낮은 노력이 Sonnet 5의 최고 성능을 능가함을 보여줍니다:

벤치마크 (Anthropic 차트) 소네트 5.5 소네트 5, 최고 실행
Terminal-Bench 4.0 중간 수준에서 28.8%, 0.83달러 최대 수준에서 10.3%, 11.62달러
FrontierCode 1.1 높은 수준에서 49.4%, 0.42달러 xhigh 수준에서 42.7%, 10.07달러
CursorBench 4.0 낮은 수준에서 35.8%, 0.50달러 최대 수준에서 34.1%, 7.17달러

CursorBench 비용은 Anthropic의 정가 추정치입니다. 반대 측면은 max입니다: Artificial Analysis 데이터에 대한 OfficeChai의 보고서에 따르면, max 상태의 Sonnet 5.5는 인덱스 작업당 약 193,000개의 출력 토큰을 사용하며, 작업당 비용은 Sonnet 5보다 약 50% 높습니다. 절감 효과는 high 이하에서 나타납니다; Claude Sonnet 5.5 가격을 참조하십시오.

마이그레이션 체크리스트

claude-sonnet-5를 claude-sonnet-5-5로 교체한 다음, Anthropic의 마이그레이션 가이드에 있는 여섯 가지 점검 사항을 실행하십시오:

  1. disabled를 high 노력 이하에서 between_tools로 교체하십시오.
  2. 강제된 tool_choice를 auto, strict: true 및 프롬프트 라인으로 교체하십시오 (Bedrock에서는 코드에서 검증).
  3. 히스토리를 추가 전용으로 유지하고; 변경 사항에는 대화 중간 시스템 메시지를 사용하십시오.
  4. Claude API 및 Google Cloud에서 컴퓨터 사용을 computer_toolset_20260801로 이동하십시오.
  5. 지원되는 어드바이저를 선택하고, 조언 텍스트 파싱을 중단하십시오.
  6. UI가 도구 호출 사이에 텍스트를 표시하는 경우 thinking.display를 설정하십시오.

그런 다음 노력(effort) 스윕을 다시 실행하십시오. Claude Code는 마이그레이션을 자동화할 수 있습니다:

/claude-api migrate this project to claude-sonnet-5-5

Opus의 해당 버전은 Claude Opus 5.5 대 Opus 5 마이그레이션입니다.

Apidog에서 마이그레이션을 회귀 테스트로 전환하기

Apidog에서, https://api.anthropic.com/v1/messages에 대한 세 가지 요청을 하나의 프로젝트에 동일한 환경에서 저장하십시오:

  1. 기준선: 현재 Sonnet 5 본문.
  2. 이전 본문, 새 모델: model만 claude-sonnet-5-5로 변경. 상태 400 및 between_tools 또는 tool_choice를 언급하는 오류 메시지를 단언하십시오.
  3. 마이그레이션됨: 수정된 본문. 상태 200, refusal 또는 max_tokens가 아닌 stop_reason, 그리고 도구 요청에 대한 tool_use 블록을 단언하십시오.

환경에 ANTHROPIC_API_KEY를 유지하고 x-api-key 헤더에서 {{ANTHROPIC_API_KEY}}로 참조하십시오. 자신만의 작업당 비용 수치를 위해 노력(effort) 수준별 usage.output_tokens를 비교하십시오. 테스트 시나리오로 저장되면, disabled로의 회귀는 프로덕션 대신 실행을 실패시킵니다. 요청 기본 사항: Claude Sonnet 5.5 API 사용 방법.

자주 묻는 질문

Claude Sonnet 5.5는 Sonnet 5보다 비싼가요? 아니요. 둘 다 백만 토큰당 2달러/10달러이며, 캐시 읽기는 0.20달러이고 토크나이저는 동일합니다.

Sonnet 5.5에서 "thinking.type.disabled is not supported" 오류가 발생하는 이유는 무엇인가요? disabled가 제거되었습니다. low, medium 또는 high 노력(effort) 수준에서 thinking: {"type": "between_tools"}를 보내십시오. 다른 thinking 필드는 사용하지 마십시오.

Sonnet 5 대화가 Sonnet 5.5로 이전되나요? 예. Sonnet 5.5는 Sonnet 5 사고 블록을 읽습니다. 되돌리면 해당 블록이 손실됩니다: 다른 모델은 Sonnet 5.5 블록을 읽지 않습니다.

모든 것을 Sonnet 5.5로 옮겨야 하나요? 대부분의 워크로드에서는 예. Sonnet 5로 대체될 수 있는 사이버 관련 작업과 엄격 모드를 잃게 되는 Bedrock 도구 호출에 유의하십시오. Claude Sonnet 5 가이드에서 이전 모델에 대해 다룹니다.

다음 단계

Sonnet 5 요청과 그 5.5 쌍을 나란히 저장하고, 400 오류를 확인하고, 수정하고, 수정 사항이 통과되면 트래픽을 이동하십시오. Apidog을 다운로드하여 해당 테스트를 구축하십시오.

Apidog에서 API 설계-첫 번째 연습

API를 더 쉽게 구축하고 사용하는 방법을 발견하세요