Anthropic SDK 0.105.1 · 0.105.2: PyPI Trusted Publishing 긴급 패치

0.105.0 출시 직후 빠르게 두 번의 패치가 이어졌다. 무엇이 깨졌고, 왜 그랬으며, 어떤 버전을 고정해야 하는지 알아본다.

Anthropic SDK 0.105.1 · 0.105.2: PyPI Trusted Publishing 긴급 패치

Anthropic은 2026년 5월 29일 v0.105.1과 v0.105.2 두 개의 패치 릴리스를 몇 시간 간격으로 배포했습니다. 둘 다 사용자에게 표면적인 동작 변경이 전혀 없는 CI 내부 수정입니다. 요약하면, GitHub Actions 발행 작업에서 id-token: write 권한이 누락되어 PyPI Trusted Publishing이 도중에 실패했고, v0.105.2가 수정된 결과물입니다. v0.105.0 또는 v0.105.2를 사용 중이라면 문제없습니다.

5월 29일 연속 패치가 나온 이유

v0.105.0은 2026년 5월 28일 출시되어 claude-opus-4-8 모델 상수와 Anthropic Python SDK에 세 가지 개발자용 API 추가 사항이 포함됐습니다 . 24시간 이내에 팀은 단일 내부 커밋으로 v0.105.1을 출시했습니다: PyPI 발행 워크플로를 Trusted Publishing(OIDC)으로 전환 . 이 변경은 라이브러리 사용자에게 아무런 영향을 주지 않으며, 패키지가 PyPI에 업로드되는 방식만 바뀌었습니다.

한눈에 보기: v0.105.1과 v0.105.2는 CI 전용 핫픽스로 사용자 코드에는 변경이 없습니다. v0.105.1의 OIDC 발행 작업에 id-token: write 권한이 누락됐고, v0.105.2(PR #1837)에서 추가되었습니다. v0.105.1은 PyPI에 완전히 등록되지 않았습니다. v0.105.2를 사용하세요.

문제는 이렇습니다: GitHub Actions에서 OIDC를 통한 Trusted Publishing을 사용하려면 permissions 블록에 id-token: write를 명시해야 합니다. v0.105.1은 OIDC 설정을 추가했지만 이 권한을 빠뜨렸습니다. 발행 단계가 즉시 실패했고, 같은 날 @dtmeadows-ant가 5개 파일을 수정해 누락된 권한을 추가하는 PR #1837을 열어 v0.105.2가 만들어졌습니다 . v0.105.2는 0.105.x 시리즈의 공식 발행 결과물입니다.

릴리스 날짜 변경 사항 사용자 영향
v0.105.0 2026-05-28 claude-opus-4-8 상수, 대화 중간 시스템 메시지, usage.output_tokens_details, 사용자 정의 파일 크기 제한 신규 기능 및 모델 상수 사용 가능
v0.105.1 2026-05-29 단일 커밋: PyPI Trusted Publishing(OIDC) 도입 — id-token: write 누락 없음 — PyPI에 완전히 등록되지 않음
v0.105.2 2026-05-29 PR #1837: 발행 작업에 id-token: write 권한 추가 (5개 파일) 없음 — 이 버전 사용 권장

PyPI Trusted Publishing과 OIDC 인증 전환

Anthropic SDK 0.105.1 and 0.105.2: PyPI Trusted Publishing Hotfix

PyPI Trusted Publishing은 장기 API 토큰을 GitHub Actions가 발행 시점에 발급하는 단기 OIDC 신원 토큰으로 대체합니다 . 저장소나 환경에 영구 시크릿이 남지 않으며, 토큰은 발행 작업이 실행되는 동안만 존재하다가 만료됩니다. Anthropic SDK에 의존하는 프로젝트 입장에서는, PyPI 토큰이 탈취되거나 교체될 때 발생할 수 있는 공급망 공격 노출 면적이 줄어듭니다.

Anthropic의 릴리스 자동화는 Stainless 코드 생성 봇(@stainless-app[bot])을 통해 실행됩니다. v0.105.1 커밋은 해당 봇의 PyPI 인증 방식을 토큰 기반에서 OIDC로 전환하는 작업이었습니다. 유효한 OIDC 기반 발행 작업에는 CI 스펙에 두 가지가 명시되어야 합니다: environment: pypi 선언(PyPI 측에 구성된 named environment와 작업을 연결)과 작업 블록의 permissions: id-token: write(GitHub Actions가 OIDC 토큰을 발급해 러너에 노출하도록 지시). 전자는 있었지만 후자가 없었습니다 .

"Trusted Publishing은 자동화 환경에서 PyPI에 배포하는 가장 안전한 방법입니다. OIDC 공급자의 신원 정보를 기반으로 토큰이 온디맨드로 발급되므로, 장기 자격증명을 어디에도 저장할 필요가 없습니다." — PyPI Trusted Publishers 문서

수정 자체는 간단합니다 — 워크플로 YAML에 권한 한 줄 추가 — 하지만 없으면 완전한 블로커가 됩니다: GitHub Actions는 write 접근을 명시적으로 요청하지 않은 작업에 OIDC 토큰을 노출하지 않으며, PyPI는 유효한 토큰이 없는 업로드를 거부합니다. v0.105.1에서 v0.105.2로의 신속한 전환은, 발행 시도 즉시 CI 단계가 실패할 때 피드백 루프가 얼마나 빠른지를 보여줍니다.

v0.105.1이 pip 이력에 없는 이유

v0.105.1은 pypi.org 릴리스 목록에 보이지 않습니다. 가장 유력한 설명은 업로드가 완료되기 전에 발행 작업이 실패했거나, 인덱싱 전에 결과물이 yanked 처리됐다는 것입니다. 실제로 대부분의 환경에서 pip install anthropic==0.105.1을 실행하면 "No matching distribution found"가 반환됩니다 .

PyPI는 yanked 릴리스(기본 리졸버에서 숨겨지지만 명시적으로 핀하면 설치 가능)와 삭제된 릴리스(어떤 상황에서도 설치 불가)를 구분합니다. 이 경우 실질적인 결과는 어느 쪽이든 동일합니다: anthropic==0.105.1을 핀하지 마세요. 5월 29일의 짧은 시간 동안 해당 버전이 락파일, Docker 레이어, 또는 requirements 파일에 기록됐다면, 배포 전에 anthropic==0.105.2로 교체하세요. v0.105.2가 이 패치 시리즈의 완전하고 올바르게 업로드된 결과물입니다 .

Opus 4.8에서 반드시 처리해야 할 동작 변경

Anthropic SDK 0.105.1 and 0.105.2: PyPI Trusted Publishing Hotfix

SDK 변경 자체는 영향이 없지만, claude-opus-4-8 모델 자체에 몇 가지 호환성 문제에 준하는 동작이 도입되었습니다. 가장 즉각적인 사항은 temperature, top_p, top_k를 기본값이 아닌 값으로 설정하면 HTTP 400이 반환된다는 점입니다 . Opus 4.7 대상으로 샘플링 파라미터를 설정하던 기존 래퍼가 해당 필드를 제거하지 않은 채 Opus 4.8을 대상으로 하면 첫 번째 요청부터 실패합니다.

Effort 기본값은 Messages API와 Claude Code를 포함한 모든 인터페이스에서 high로 설정됩니다. 낮은 암묵적 기본값에 의존하던 래퍼는 지연 시간과 비용이 증가합니다. 애플리케이션에 지연 시간 또는 비용 제약이 있다면 effort를 명시적으로 설정하세요. 이제 모델이 요청을 거부할 때 거부 카테고리가 stop_details에 포함되어, 불투명한 중단 이유를 처리하는 대신 거부 유형에 따른 애플리케이션 수준의 라우팅이 가능해졌습니다 .

"Opus 4.8의 적응형 사고는 요청이 실제로 필요할 때만 턴별로 활성화됩니다 — 동일한 effort 수준에서 Opus 4.7 대비 낭비되는 추론 토큰을 크게 줄여줍니다." — Anthropic Platform Release Notes

프롬프트 캐시 최소 기준이 1,024 토큰으로 낮아졌습니다 . 이제 짧은 시스템 프롬프트도 인위적인 패딩 없이 캐시 조건을 충족합니다 — 간결한 지시문을 사용하는 애플리케이션에 작지만 유용한 변화입니다.

동작 Opus 4.7 Opus 4.8 필요 조치
샘플링 파라미터 (temperature/top_p/top_k) 제한됨 (HTTP 400) 제한됨 (HTTP 400) Opus 4.8 대상 요청에서 제거
Effort 기본값 미지정 high 지연 시간에 민감한 경우 effort 명시적 설정
프롬프트 캐시 최소 기준 높은 임계값 1,024 토큰 별도 조치 불필요 — 기존 프롬프트에 자동 적용
거부 세부 정보 불투명한 중단 이유 stop_details에 카테고리 포함 거부 유형에 따른 라우팅 로직 선택적 추가

적응형 추론과 Fast Preview 티어

Opus 4.8의 적응형 사고는 항상 고정된 깊이로 추론하는 대신, 실제로 필요할 때만 턴별로 활성화됩니다 . 실제로 이는 에이전틱 루프 내에서 단순한 턴에 낭비되는 추론 오버헤드를 줄여줍니다 — 같은 세션에서 가벼운 작업과 무거운 작업이 혼재하는 워크플로에서 비용과 지연 시간을 의미 있게 개선합니다.

Fast preview는 Claude API에서만 사용 가능한 리서치 프리뷰 티어입니다. 표준 속도의 약 2.5배로 동작하며, 입력/출력 토큰 백만 개당 $10/$50에 제공됩니다 — 이전 모델의 Fast 모드보다 세 배 저렴합니다 . 표준 가격은 토큰 백만 개당 $5/$25로 변동 없습니다. Fast preview는 Claude.ai 및 기타 인터페이스에서는 사용할 수 없습니다.

Opus 4.7 대비 벤치마크 변화: 에이전틱 코딩 64.3% → 69.2%, 도구를 활용한 다분야 추론 54.7% → 57.9%, 지식 업무 점수 1,753 → 1,890, 에이전틱 금융 분석 51.5% → 53.9% . 이러한 개선은 SDK가 아닌 모델에 적용된 것으로, claude-opus-4-8을 호출하는 한 사용 중인 SDK 버전에 관계없이 동일하게 적용됩니다.

v0.105.2 사용 중인지 확인하는 방법

Anthropic SDK 0.105.1 and 0.105.2: PyPI Trusted Publishing Hotfix

pip show anthropic을 실행하세요. Version 필드가 반드시 0.105.2여야 합니다. 0.105.1이 표시되는 환경은 신뢰할 수 없는 아티팩트를 보유하고 있으므로 재설치하세요.

의존성 파일에 명시적으로 버전을 고정하세요:

# requirements.txt
anthropic==0.105.2

# pyproject.toml
anthropic = "==0.105.2"

배포 전 락 파일에 이 버전이 반영되어 있는지 확인하세요. 애플리케이션 코드 변경은 필요하지 않으며, 사용자 대면 동작은 v0.105.0과 동일합니다 . 5월 29일 짧은 배포 기간 동안 0.105.1 참조를 캡처했을 수 있는 Docker 이미지나 가상 환경은 락 파일을 다시 생성하고 재빌드하세요.

자주 묻는 질문

0.105.0에서 0.105.2로 업그레이드할 때 코드를 변경해야 하나요?

코드 변경은 필요하지 않습니다. v0.105.1과 v0.105.2는 CI 배포 워크플로만 수정했으며, 라이브러리 동작, 공개 API 인터페이스, 모델 상호작용은 변경되지 않았습니다. SDK의 사용자 대면 동작은 v0.105.0과 동일합니다. 필요한 조치는 환경이 손상된 0.105.1 아티팩트가 아닌 0.105.2로 해석되는지 확인하는 것뿐입니다.

v0.105.1이 PyPI에 없는 이유는 무엇인가요?

v0.105.1의 GitHub Actions 배포 작업에 OIDC 기반 Trusted Publishing에 필요한 id-token: write 권한이 누락되었습니다. 이로 인해 배포 단계가 업로드 직전 또는 직후에 실패했고, PyPI는 아티팩트를 완전히 인덱싱하지 못했습니다. 대부분의 환경에서 pip install anthropic==0.105.1을 실행하면 "No matching distribution found"가 반환됩니다. 대신 anthropic==0.105.2로 고정하세요.

PyPI Trusted Publishing이란 무엇이며 왜 중요한가요?

PyPI Trusted Publishing은 패키지 배포 워크플로에서 장기 유효 API 시크릿을 제거하는 OIDC 기반 메커니즘입니다. 저장소 시크릿에 PyPI 토큰을 저장하는 대신, CI 작업이 배포 시점에 GitHub Actions에서 단기 유효 아이덴티티 토큰을 요청합니다 — 이 토큰은 범위가 제한되고, 작업 종료 후 만료되며, 디스크나 로그에 기록되지 않습니다. 다운스트림 사용자 입장에서는 Anthropic SDK 릴리스 파이프라인의 PyPI 자격 증명 탈취나 유출로 인한 공급망 침해 위험이 줄어듭니다.

claude-opus-4-8에 temperature나 top_p를 전달하면 어떻게 되나요?

API가 즉시 HTTP 400을 반환합니다. 이는 Opus 4.7에도 적용되던 동일한 제한입니다. 모델은 temperature, top_p, top_k에 대해 기본값이 아닌 값을 허용하지 않습니다. claude-opus-4-8을 대상으로 하는 모든 요청 본문에서 해당 파라미터를 제거하세요. 코드에서 조건부로 전달하는 경우, 요청이 전송되기 전에 모델 이름에 대한 명시적인 가드를 추가하세요.

Python SDK 0.105.2에서 Fast preview를 사용할 수 있나요?

네 — SDK는 v0.105.0부터 Fast preview를 지원하며, v0.105.2도 동일한 지원을 제공합니다. 단, Fast preview는 현재 리서치 상태에서 Claude API 전용 기능입니다. Claude.ai 및 기타 인터페이스에서는 사용할 수 없습니다. 서드파티 통합이나 Claude.ai를 통해 모델을 호출하는 경우 SDK 버전에 관계없이 Fast preview에 접근할 수 없습니다.

다음으로 살펴볼 것들

두 핫픽스는 깔끔하게 해결되었으며, 0.105.x 시리즈에 남아 있는 불안정 요소는 없습니다. v0.105.2는 안정적으로 배포된 상태입니다. OIDC 마이그레이션 자체도 완료되었으므로, 향후 @stainless-app[bot]의 릴리스는 같은 문제 없이 Trusted Publishing을 사용하게 됩니다.

대부분의 개발자에게 더 중요한 사항은 Opus 4.8의 동작 제약입니다. 샘플링 파라미터 제한과 high 노력 기본값은 기존 통합에서 예기치 않은 오류나 비용 급증을 일으킬 가능성이 가장 높습니다. temperature, top_p, top_k를 설정하는 래퍼를 점검하고, 새 모델 상수로 전환하기 전에 effort: "high"를 유지할지 낮출지 명시적으로 결정하세요.

Fast 프리뷰 가격은 백만 토큰당 $10/$50으로, 이전 Fast 티어보다 3배 저렴합니다. Claude API에서 지연 시간이 중요한 에이전틱 파이프라인에 적용해볼 만한 가치가 있습니다. Fast 프리뷰가 리서치 상태를 벗어나 전 서비스에서 정식 출시되는 시점은 Anthropic 릴리스 노트를 통해 확인하세요.

최종 업데이트: 2026-05-29. GitHub의 v0.105.2 릴리스, Anthropic 플랫폼 릴리스 노트, 2026년 5월 29일 기준 PyPI 레지스트리 상태를 바탕으로 작성되었습니다.

최신 소식 받기

AI 도구, 에이전트, 그리고 이들을 잇는 프로토콜에 대한 현장 기록.

Creeta 둘러보기