Claude Sonnet 4.5는 11월 30일에 폐지됩니다: 지금 확인해야 할 사항
요약
Anthropic은 Claude Sonnet 4.5의 사용 중단(deprecation)을 발표했으며, 공식적으로는 2026년 11월 30일 이후 요청 처리가 중단됩니다. 개발자들은 무료 사용량 내보내기 기능을 활용하여 어떤 API 키가 폐지되는 모델 ID를 호출하는지 확인해야 합니다. 권장 대체 모델은 동일한 가격과 컨텍스트 창을 가진 `claude-sonnet-5-5`입니다.
핵심 포인트
- Claude Sonnet 4.5는 2026년 11월 30일 이후 사용이 중단됩니다.
- 대체 모델로 `claude-sonnet-5-5`를 사용하는 것이 권장됩니다.
- 사용량 내보내기 기능을 통해 폐지되는 모델 ID 호출 여부를 확인해야 합니다.
- AWS Bedrock 등 클라우드 플랫폼별 퇴출 일정을 반드시 개별적으로 확인해야 합니다.
-
Anthropic은 2026년 9월 30일 Claude Sonnet 4.5의 사용 중단을 발표했으며, 폐지까지 61일의 기간을 주었습니다.
-
claude-sonnet-4-5-20250929는 2026년 11월 30일 이후 요청 처리를 중단하며, 그 날짜 이후에는 유예 기간이 없습니다. -
권장되는 대체 모델은
claude-sonnet-5-5이며, 이는 동일한 가격에 1M 토큰 컨텍스트 창을 공유합니다. -
무료 사용량 내보내기(Usage export)를 통해 현재 어떤 API 키가 폐지되는 모델 ID를 호출하고 있는지 정확히 확인할 수 있습니다.
2026년 9월 30일, Anthropic은 모델 사용 중단 페이지에 Claude Sonnet 4.5의 사용 중단 공지(deprecation notice)를 게시했습니다. 정확한 ID인 claude-sonnet-4-5-20250929로 호출하는 모든 사용자는 2026년 11월 30일까지 마이그레이션할 시간이 있습니다. 이 날짜 이후에는 해당 ID로의 요청은 완전히 실패합니다. 저는 이 공지가 게시된 당일에 내용을 읽었는데, 특정 날짜가 붙은 모델 ID는 스크립트에 한 번 하드코딩해두고 몇 달 동안 잊어버리기 쉬운 종류이기 때문입니다.
Claude Sonnet 4.5의 변경 사항은 무엇인가요?
공지 내용은 간결하고 구체적입니다. 정확한 ID인 claude-sonnet-4-5-20250929을 가진 Claude Sonnet 4.5는 9월 30일 Active 상태에서 Deprecated(사용 중단 예정) 상태로 변경되었습니다. 폐지 날짜는 2026년 11월 30일이며, 문서에서는 claude-sonnet-5-5를 권장 대체 모델로 명시하고 있습니다. Anthropic 자체의 라이프사이클 용어(lifecycle terms)가 여기서 중요합니다: Active는 완전히 지원됨을 의미하고, Deprecated는 여전히 기능하지만 더 이상 권장되지 않으며 폐지 날짜가 지정되었음을 의미하며, Retired는 요청이 실패함을 의미합니다. Sonnet 4.5는 현재 이 중간 단계에 머물러 있으며, 이는 마이그레이션 비용은 들지 않지만 기다림의 시간이 필요한 단계입니다.
이것은 Anthropic의 첫 폐기 통지(deprecation notice)가 아니며, 마지막도 아닐 것입니다. Sonnet 4.5는 2025년 10월 이후로 모델에 대한 여섯 번째 폐기를 거치는 것이며, 이전에는 Claude Opus 4.1이 지난 6월에, 그리고 Claude Sonnet 4와 Claude Opus 4가 지난 4월에 이어졌습니다. 이들 각각은 비슷한 패턴을 따랐습니다: 폐기 날짜(deprecation date), 약 두 달 후의 퇴출 날짜(retirement date), 그리고 명명된 대체 모델입니다. 61일이라는 기간은 제가 지금까지 본 역사적 사례 중에서는 다소 긴 편에 속합니다. Anthropic의 문서에는 공개적으로 출시되는 모든 모델에 대해 최소 60일의 통지 의무가 명시되어 있으므로, 이번 경우는 최소 일수(minimum)에 하루를 더한 정도입니다.
이 페이지를 이전에 읽어본 적이 없는 분들을 위해 알아두면 좋은 점은, 이것이 Anthropic에서 운영하는 플랫폼만을 다룬다는 것입니다. 즉, Claude API 자체, AWS의 Claude Platform, 그리고 Microsoft Foundry가 해당됩니다. Amazon Bedrock과 Google Cloud는 같은 모델에 대해 자신들만의 퇴출 일정을 설정합니다. 만약 Bedrock을 통해 Sonnet 4.5를 호출한다면, Anthropic 자체 페이지에 명시된 11월 30일 날짜가 자동으로 적용되는 것은 아닙니다. 시간표가 일치한다고 가정하기 전에 반드시 Bedrock의 모델 테이블을 확인해야 합니다.
이 점 때문에 사람들이 혼란스러워합니다. 저도 폐기 통지를 처음 읽었을 때, 하나의 날짜가 모든 것을 포괄할 것이라고 착각했던 적이 있습니다. 하지만 그렇지 않습니다.
또한 이 페이지에는 이전 Sonnet 모델들의 처리 과정도 나열되어 있으며, 패턴은 일관적입니다. Claude Sonnet 3.7은 2025년 10월 28일에 통지되었고, 거의 네 달 후인 2026년 2월 19일에 퇴출되었습니다. Claude Sonnet 4는 2026년 4월 14일에 통지되었고, 두 달 후인 2026년 6월 15일에 퇴출되었습니다. 통지 시점과 퇴출 시점 사이의 간격은 변동하지만, Anthropic이 약속한 60일이라는 최소 기준보다 짧아진 적은 없습니다.
별칭(Alias)을 사용할 경우 날짜가 지정된 모델 ID가 왜 중요한가요?
여기서의 위험은 Sonnet 4.5 모델 자체에 관한 것이 아닙니다. 문제는 설정 파일, 환경 변수 또는 코딩된 한 줄 어딘가에 남아 있는 claude-sonnet-4-5-20250929라는 문자열입니다. 이 문자열은 작성된 날 이후 아무도 확인하지 않은 곳에 있을 수 있습니다. Anthropic의 모델명은 두 가지 형태를 가집니다. 특정 시점의 스냅샷 ID(dated snapshot id)로, 영원히 하나의 정확한 모델을 가리키며, 현재 사용 가능한 버전을 자동으로 따라가는 롤링 별칭(rolling alias)입니다. claude-sonnet-5-5는 롤링 이름이고, claude-sonnet-4-5-20250929는 시간에 고정된 것이기 때문에, 별칭이 조용히 작동하는 동안 이 문자열은 폐기될 수 있습니다.
Claude Code 변경 로그를 읽는 대부분의 사람들은 이런 문제에 직면하지 않을 것이라고 생각합니다. 실제로 영향을 받는 사람들은 보통 한 번 작성되어 작동했고, 그 이후로는 전혀 건드리지 않은 스크립트를 실행하는 사람들입니다. 스스로 만들었지만, 고장 날 때까지 존재한다는 사실조차 잊어버린 종류의 것입니다. 이것은 1인 스튜디오에게 가상의 시나리오가 아닙니다. 아무도 당신이 6개월 전에 작성한 코드를 검토하지 않는 상황에서는 작은 스크립트들이 빠르게 쌓입니다.
저는 다른 고정된 설정에서도 같은 패턴을 목격했습니다. 예를 들어, ANTHROPIC_DEFAULT_OPUS_MODEL과 같은 환경 변수가 한 번 특정 시점의 스냅샷으로 설정되었고 다시는 검토되지 않았다면, 이는 정확히 동일하게 작동합니다. 모델이 사라지기 전까지는 아무 문제 없이 작동하다가, 갑자기 실패하며 다가오고 있다는 경고조차 주지 않아 상황을 파악하기 어렵게 만듭니다.
지금 당장 수정하는 데 드는 비용은 거의 없습니다.
하지만 12월 1일이 되면 기다리는 것이 비싸집니다.
솔로 개발자가 오늘 확인해야 할 사항
Anthropic이 이미 준비해 놓은 감사(audit)부터 시작하세요. Claude Console의 사용량 페이지에는 API 키와 모델별로 분류된 CSV를 다운로드하는 '내보내기' 버튼이 있습니다. 이를 통해 모든 스크립트를 수동으로 읽어볼 필요 없이, 어떤 키들이 여전히 claude-sonnet-4-5-20250929를 호출하고 있는지 정확하게 파악할 수 있습니다. 이 내보내기가 실제로 당신에게 해당 공지사항이 적용되는지 가장 빠르게 알아낼 방법이며, 사용하지 않을 수도 있는 문자열을 찾기 위해 코드를 뒤지는 일을 막아줄 것입니다.
만약 적용된다면 실제 변경 사항은 작습니다. 날짜가 포함된 ID를 나타나는 모든 곳에서 claude-sonnet-5-5로 대체하기만 하면 됩니다. 하지만 이것을 눈대중으로 할 수 있는 찾기 및 바꾸기(find-and-replace) 작업으로 취급해서는 안 됩니다. 저는 Sonnet 5.5가 9월 28일에 출시되었을 때 다섯 가지 구체적인 변경 사항에 대해 작성한 적이 있으며, 그중 최소 하나는 오류를 발생시키는 대신 모양만 바뀝니다. 이는 간단한 테스트를 통과하더라도 실제 운영 환경에서는 여전히 다르게 작동할 수 있다는 것을 의미합니다. 신뢰하기 전에, 단지 우연히 작동하는 하나의 프롬프트가 아닌, 실제 입력값으로 마이그레이션 중인 모든 것을 실행해 보세요.
Anthropic 자체의 마이그레이션 가이드는 특히 폐지 날짜 이후가 아니라 실제 워크로드에 대해 테스트하는 변경 사항 섹션을 읽는 데 걸리는 10분은 그만한 가치가 있습니다. 61일이라는 기간은 11월 29일에 해당 페이지를 열게 될 사람이 되는 것까지는 긴 시간이 아닐 수 있습니다.
스왑 자체 외에도 제가 특별히 확인해 볼 몇 가지 사항이 있습니다. 모델 ID를 계층(tier) 대신 직접 명시하는 모든 재시도 또는 폴백(fallback) 로직은 동일하게 업데이트해야 합니다. 그렇지 않으면 사라진 모델로 조용히 폴백될 수 있습니다. 또한 Sonnet 4.5의 정확한 구문 습관에 맞춰 조정된 캐시된 프롬프트나 몇 가지 예제(few-shot example)도 다시 한번 살펴볼 가치가 있습니다. 왜냐하면 작업 자체는 동일하더라도 모델 스왑은 출력 스타일을 변화시킬 수 있기 때문입니다. 그리고 만약 날짜가 포함된 ID를 README 파일이나 다른 사람에게 전달하는 도구의 설정 스크립트에 작성해 두었다면, 이것이 가장 놓치기 쉬운 복사본일 가능성이 높습니다. 아무도 설정 스크립트를 두 번 실행하지 않기 때문입니다.
이 모든 것은 어렵지 않습니다. 아직 문제가 발생하지 않았을 때는 건너뛰기가 너무 쉽습니다.
Anthropic은 폐지하는 모델에 대해 무엇을 약속합니까?
이 과정 중 놓치기 쉬운 부분이 하나 있습니다. 그것은 공지 자체에는 포함되어 있지 않기 때문입니다. Anthropic은 모델 폐기에 대한 약속 및 보존을 발표했는데, 이 문서에 따르면 사용이 중단된 모델 가중치(weights)는 삭제되는 대신 장기간 보관되며, 궁극적으로 과거 모델들을 다시 접근 가능하게 만드는 것을 목표로 한다고 명시되어 있습니다. 같은 문서는 실제 단점들 또한 분명히 언급합니다. 연구자들은 지속적인 비교 분석에 필요한 접근성을 잃게 되며, 특정 모델의 정확한 동작을 중요하게 생각하는 사람은 원하든 원하지 않든 마이그레이션(migrate)해야 하고, 모델 폐기는 자체적인 안전성 및 모델 복지 관련 질문들을 수반하며 Anthropic은 이에 대응하려고 노력하고 있다고 말합니다.
저는 다른 제공업체의 정확한 폐기 정책과 비교할 기준점이 없어서 이것이 관대한 것인지 아니면 단순히 현재의 표준 관행인지는 말씀드릴 수 없습니다. 제가 할 수 있는 것은, 명시된 대체 모델과 고정된 날짜를 제시하는 '공지 후 폐기' 구조가 모호한 미래 경고보다는 1인 개발자(solo builder)의 삶을 더 쉽게 만들어준다는 점입니다. 저는 claude-sonnet-4-5-20250929가 정확히 언제 답변을 중단하는지 알고 있습니다. 추측할 필요도 없고, 아무런 경고 없이 조용히 종료되는 것을 감시할 필요도 없습니다. 이것을 읽는 사람이 거의 보지 않는 변경 로그와 함께 패키지 레지스트리에서 사라지는 의존성(dependency)과 비교하면, 60일의 공지를 가진 고정 날짜가 더 나은 거래처럼 보입니다.
문서에 언급된 단점들 역시 실제이며, 제가 요약한 것보다는 전체 내용을 읽어볼 가치가 있습니다. 프로젝트 도중에 특정 모델에 대한 접근성을 잃는 것은 단순히 불편함을 넘어, 버전 간 비교 연구를 수행하는 모든 사람에게 진정한 비용(cost)입니다. 1인 개발자는 보통 그런 위치에 있지 않지만, '폐기되었다(deprecated)'라는 단어가 같은 공지를 읽는 모든 사람에게 중립적인 단어는 아니라는 점을 상기시켜 줍니다. 우리 대부분에게는 달력 알림일 뿐이지만, 시간이 지남에 따라 모델 동작을 벤치마킹하는 누군가에게는 연구 데이터셋에서 조용히 하나의 데이터 포인트가 사라지는 것과 같습니다.
또한 이것이 일회성 이벤트가 아니라 주기적인 공지라는 점을 상기시켜 드립니다. 1년도 채 안 되는 기간 동안 여섯 번의 공지는 현재 폐기되는 것이 아무것도 없더라도 이 페이지를 주기적으로 확인해 볼 가치가 있다는 의미입니다. 마치 오래된 버전이 여전히 패치될 거라고 가정하기 전에 의존성(dependency)의 릴리스 노트를 확인하는 것과 같습니다.
이러한 보존 약속은 폐기된 모델이 날짜가 지난 후에도 API 호출에 응답한다는 것을 의미하지는 않습니다. 이는 가중치(weights)가 버려지지 않는다는, 즉 다른 종류의 약속을 의미합니다. '폐기됨(retired)'을 '일시적으로 사용 불가'로 읽지 마십시오. 11월 30일이 되면 claude-sonnet-4-5-20250929는 영구적으로, 끝입니다. 내부적으로 가중치에 어떤 일이 생기든 상관없이 말이죠.
핵심 요약 (Bottom Line)
이 공지 내용 중 오늘 당장 긴급한 것은 아무것도 없으며, 그것이 바로 함정입니다. 61일이라는 기간은 사라질 때까지 편안하게 느껴집니다. 저의 실제 계획은 다음과 같습니다. 이번 주에 사용량 내보내기(Usage export)를 가져와서 claude-sonnet-4-5-20250929가 제 자신의 API 호출 중 어디든 나타나는지 확인하고, 만약 그렇다면 출력을 신뢰하기 전에 claude-sonnet-5-5로 교체하여 실제 입력을 통과시켜 볼 것입니다. 내보내기 결과가 깨끗하다면(clean), 여전히 폐기 페이지를 북마크해 둘 것입니다. 왜냐하면 Sonnet 4.5가 올해 이 목록에 나타나는 마지막 이름이 아닐 것이기 때문입니다.
만약 여러분이 자신의 코드가 로링 별칭(rolling alias) 대신 날짜가 지정된 모델 ID를 하드코딩했는지 확인해 본 적이 없다면, 바로 이번 주가 그럴 때입니다. 내보내기는 2분밖에 걸리지 않습니다. 하지만 11월 30일에 알아내는 것은 훨씬 더 많은 시간이 걸립니다.
날짜가 가까워지면 다시 한번 확인할 것입니다. 왜냐하면 이렇게 긴 목록은 저절로 줄어들지 않기 때문입니다. 내보내기를 한 번 확인하는 비용은, 제가 다른 일에 쓰고 싶은 아침에 스크립트가 작동하지 않는 것보다 훨씬 적습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기