Opus 4.8, budget_tokens 폐기 — 그 외 변경 사항 총정리

Opus 4.8: 빠른 모드, 세션 중간 시스템 프롬프트, 1K 캐시 하한. 기존 budget_tokens 구문은 400 오류 반환.

Opus 4.8, budget_tokens 폐기 — 그 외 변경 사항 총정리
Share

Opus 4.8이 4.7에서 달라진 점

Anthropic은 2026년 5월 28일 Claude Opus 4.8을 출시했습니다 . Opus 4.7 출시로부터 41일 만으로, OpenAI Codex와 Google Gemini Flash의 경쟁 압력이 출시 주기를 앞당긴 요인 중 하나입니다 . 가장 눈에 띄는 변경은 budget_tokens 제거입니다 — 이제 이 파라미터를 전달하면 400 오류가 반환됩니다. 그 밖에 고속 처리 모드, 세션 중 시스템 메시지, 낮아진 프롬프트 캐시 최소 토큰 수, 공식 문서화된 거부 stop_details 등 네 가지가 새로 추가됩니다. Opus 4.7에서 정상 동작하던 코드는 별도 수정 없이 4.8로 이전할 수 있습니다 .

한눈에 요약: claude-opus-4-7claude-opus-4-8로 교체하고 budget_tokens 사용을 제거하세요 — 해당 파라미터는 이제 400을 반환합니다. 이번 릴리스의 신규 기능: speed: "fast" (최대 2.5× 처리량, 백만 토큰당 $10/$50), 세션 중 role: "system" 메시지 지원, 프롬프트 캐시 최소 토큰 1,024개(기존 ~2,000개에서 인하), 거부 stop_details 공식 문서화.

변경 항목 Opus 4.7 Opus 4.8
처리량 모드 표준 전용 speed: "fast" — 최대 2.5× 출력 속도, 백만 토큰당 $10/$50
세션 중 시스템 메시지 미지원 messages 배열 내 role: "system" 사용 가능, 베타 헤더 불필요
프롬프트 캐시 최솟값 ~2,000 토큰 1,024 토큰 — 코드 변경 불필요
거부 시 stop_details 존재하나 미문서화 공식 문서화됨; 거부 유형 분류 제공
표준 요금 백만 토큰당 $5/$25 백만 토큰당 $5/$25 — 동일

유료 플랜 및 등록 체크리스트

Opus 4.8 kills budget_tokens — here's what else moved

Claude Code와 고속 모드는 Anthropic 무료 티어에서 사용할 수 없습니다. Opus 4.8 코드를 작성하기 전에 아래 체크리스트를 확인해 프로덕션에서 등록 오류가 발생하지 않도록 하세요.

  • Claude Code 접근: Anthropic 유료 구독(Pro, Max, Teams, Enterprise) 또는 API 콘솔 크레딧이 필요합니다 — 무료 티어는 포함되지 않습니다 (video: Tech With Tim).
  • 고속 모드 등록: 리서치 프리뷰 기능으로, 별도 게이트가 적용됩니다. 요청에 speed: "fast"를 추가하기 전에 Anthropic 콘솔에서 먼저 등록하세요. 사전 등록 없이 파라미터를 전송하면 오류가 반환됩니다.
  • 플랫폼별 컨텍스트 창: Claude API, Amazon Bedrock, Vertex AI는 각각 100만 토큰 컨텍스트 창을 제공합니다 . Microsoft Foundry는 20만 토큰으로 제한되므로, 긴 컨텍스트 파이프라인 설계 전에 대상 플랫폼을 반드시 확인하세요.
  • 출력 한도: 동기 최대 출력은 128k 토큰입니다 . Message Batches API는 베타 헤더 output-300k-2026-03-24를 사용하면 호출당 최대 30만 토큰까지 늘어납니다.
  • 학습 데이터 기준일: 2026년 1월 .
  • SDK 버전: 배포 전 anthropic>=0.51이 설치되어 있는지 확인하세요.

Opus 4.8 기능별 호출 방법

다섯 가지 호출 패턴으로 Opus 4.8의 신규·변경 사항을 모두 다룹니다. 모든 예제는 Python SDK(anthropic>=0.51)를 사용합니다. 4단계와 5단계는 마이그레이션에 가장 민감하므로, 배포 전에 다음 섹션을 먼저 읽어보세요.

거부 시 stop_details 읽기자유 텍스트 콘텐츠를 파싱하는 대신 response.stop_details.type으로 카테고리별 분기 처리를 합니다. 아래 코드는 예시이며, 모든 문서화된 타입 값은 Opus 4.8 변경 로그를 참고하세요.

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[{"role": "user", "content": user_input}]
)

if response.stop_reason == "refusal":
    refusal_type = response.stop_details.type
    if refusal_type == "harmful_content":
        return {"error": "content_policy", "action": "revise_prompt"}
    elif refusal_type == "privacy":
        return {"error": "privacy_policy", "action": "remove_pii"}
    else:
        return {"error": "refusal", "type": refusal_type}

적응형 사고 — budget_tokens 생략thinking={"type": "adaptive"}를 전달하고 effort를 별도로 설정합니다. 허용 값: "low", "high"(기본값), "max". 모델이 매 턴마다 확장 추론 필요 여부를 스스로 결정합니다(video: Skill Leap AI). budget_tokens를 전달하면 400 오류가 반환됩니다.

response = client.messages.create(
    model="claude-opus-4-8",
    thinking={"type": "adaptive"},
    output_config={"effort": "high"},  # or "low", "max"
    max_tokens=4096,
    messages=[{"role": "user", "content": "Audit this function for security issues."}]
)

세션 중간 시스템 메시지{"role": "system", "content": "..."}messages 배열에서 사용자 턴 바로 다음에 삽입합니다. 베타 헤더가 필요하지 않습니다. 이전 턴은 캐시된 상태로 유지되므로 주입된 델타에 대해서만 비용이 발생합니다 .

messages = [
    {"role": "user", "content": "Analyze this codebase."},
    {"role": "assistant", "content": "Starting with the entry points..."},
    # Inject updated instruction mid-session — no beta header needed
    {"role": "system", "content": "Focus only on security-critical paths from here."},
    {"role": "user", "content": "Continue with the auth module."},
]

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=2048,
    messages=messages
)

빠른 모드 — speed="fast" 추가speed="fast"를 최상위 파라미터로 전달합니다(모델 문자열 내부가 아님). 토큰당 비용이 입력 $10/출력 $50(백만 토큰 기준)으로 2배 증가합니다 . 배포 전 콘솔 등록 여부를 확인하세요. 미등록 요청은 오류를 반환합니다.

response = client.messages.create(
    model="claude-opus-4-8",
    speed="fast",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Generate a 500-word summary."}]
)

기본 호출 — 모델 ID 업데이트modelclaude-opus-4-8로 변경합니다. 4.7의 나머지 요청 구조는 그대로 유지됩니다.

import anthropic

client = anthropic.Anthropic()
response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Explain the migration in one sentence."}]
)
print(response.content[0].text)

다음 검증된 마이그레이션 스크립트는 Opus 4.6 방식 요청에서 Opus 4.8로의 전체 변경 사항을 요약합니다. 실행 후 확인되었습니다(exit 0):

import json

old = {
    "model": "claude-opus-4-6",
    "thinking": {"type": "enabled", "budget_tokens": 32000},
}

new = {
    "model": "claude-opus-4-8",
    "thinking": {"type": "adaptive"},
    "output_config": {"effort": "high"},
    "speed": "fast",
}

print(json.dumps({
    "budget_tokens": "removed: use adaptive thinking + effort instead",
    "before": old,
    "after": new,
    "also_moved": {
        "effort_default": "high",
        "sampling": "omit temperature/top_p/top_k non-defaults",
        "prompt_cache_min_tokens": 1024,
        "max_output_tokens": 128000,
    },
}, indent=2))

위 스크립트 출력:

{
  "budget_tokens": "removed: use adaptive thinking + effort instead",
  "before": {
    "model": "claude-opus-4-6",
    "thinking": {
      "type": "enabled",
      "budget_tokens": 32000
    }
  },
  "after": {
    "model": "claude-opus-4-8",
    "thinking": {
      "type": "adaptive"
    },
    "output_config": {
      "effort": "high"
    },
    "speed": "fast"
  },
  "also_moved": {
    "effort_default": "high",
    "sampling": "omit temperature/top_p/top_k non-defaults",
    "prompt_cache_min_tokens": 1024,
    "max_output_tokens": 128000
  }
}

400 오류와 기타 장애 지점

Opus 4.8 kills budget_tokens — here's what else moved

Opus 4.8은 Opus 4.7과 동일한 샘플링 제약을 그대로 이어받습니다. 특히 Opus 3이나 Sonnet에서 업그레이드할 때, 다음 네 가지 장애 지점이 마이그레이션 버그의 대부분을 차지합니다:

  • thinking: {"type": "enabled", "budget_tokens": N} → 400. Opus 4.7부터 deprecated 처리되었으며, 4.8에서도 여전히 지원되지 않습니다. thinking={"type": "adaptive"}output_config={"effort": "..."}로 대체하세요. extended-thinking 시대의 코드에서 전환할 때 가장 흔히 범하는 실수입니다 .
  • 기본값이 아닌 temperature, top_p, top_k → 400. 이 매개변수는 완전히 생략하세요. 출력 스타일은 프롬프팅 기법으로 조정하세요 — 이 제약은 4.7에서 변경되지 않았습니다.
  • 등록 없이 speed: "fast" 사용 → API 오류. 이는 400이 아니라 별도의 등록 확인 오류입니다. fast mode 코드 경로를 배포하기 전에 콘솔 접근 권한을 확인하세요.
  • Microsoft Foundry: 컨텍스트 1M이 아닌 200k 토큰. Claude API, Bedrock, Vertex AI의 1M 컨텍스트 윈도우를 기준으로 파이프라인을 설계했다면, Foundry에서는 동작이 달라집니다 . 검색이나 장문서 아키텍처를 확정하기 전에 대상 플랫폼을 반드시 확인하세요.

동작 측면에서: TechCrunch의 초기 엔터프라이즈 테스트 보도에 따르면, Opus 4.8은 Opus 4.7에 비해 코드 결함을 무시하고 넘어갈 가능성이 약 4배 낮으며, 분석 파이프라인에서 입출력 불확실성을 선제적으로 표시합니다 — 이는 출시 전 평가에서 Bridgewater Associates가 확인한 패턴입니다 . 평가 지표가 정확도가 아닌 출력 분량을 기준으로 한다면, 프로덕션 전환 전에 재조정이 필요합니다.

Opus 4.8 심화 활용

Opus 4.8에서 탐색해볼 만한 세 가지 기능이 있으나, 그 중 둘은 2026년 6월 기준 리서치 프리뷰 상태이며 정식 출시일은 미정입니다:

  • Dynamic Workflows (Claude Code, 리서치 프리뷰): 대규모 작업을 계획으로 분해한 뒤, 하나의 세션 내에서 수백 개의 병렬 서브에이전트로 분산 실행합니다. 수십만 줄 규모의 코드베이스 마이그레이션을 킥오프부터 머지까지, 기존 테스트 스위트를 품질 기준으로 삼아 처리하도록 설계되었습니다 . 단일 에이전트 흐름보다 토큰 소비가 훨씬 많으므로, 활성화 전에 예산을 적절히 배정하세요.
  • Message Batches API — 호출당 출력 토큰 300k: 베타 헤더 output-300k-2026-03-24를 추가하면 호출당 출력 상한이 128k에서 300k 토큰으로 높아집니다 . 대용량 문서 생성이나 대규모 배치 요약에 실용적입니다.
  • 비용 절감을 위한 세션 중간 프롬프트 주입: 멀티턴 에이전틱 루프에서 매 턴마다 변경된 지시 부분만 주입하고, 이전에 캐시된 턴은 그대로 유지합니다. 세션이 길어질수록 절감 효과가 누적되어, 매 호출마다 전체 시스템 프롬프트를 재전송할 필요가 없습니다.

자주 묻는 질문

Opus 4.8 kills budget_tokens — here's what else moved

Claude Opus 4.8의 모델 ID는 무엇인가요?

claude-opus-4-8을 사용하세요. 이 모델은 Claude API, Amazon Bedrock, Vertex AI에서 100만 토큰 컨텍스트 윈도우로 제공되며 , Microsoft Foundry에서는 200k 토큰 제한으로 제공됩니다. 표준 가격은 입력 토큰 100만 개당 $5, 출력 토큰 100만 개당 $25입니다.

Opus 4.8에서 budget_tokens 설정이 400 오류를 일으키는 이유는 무엇인가요?

thinking: {"type": "enabled", "budget_tokens": N} 문법은 Opus 4.7부터 deprecated 처리되었으며, 4.8에서는 지원되지 않습니다. 올바른 형식은 thinking={"type": "adaptive"}에 별도의 output_config={"effort": "..."} 매개변수를 조합하는 것입니다 — 값은 "low", "high", "max"이며 기본값은 "high"입니다. budget_tokens는 완전히 생략하세요.

Fast mode는 표준 Opus 4.8과 비교해 비용이 어떻게 되나요?

표준 Opus 4.8은 입력 $5 / 출력 $25 (100만 토큰당)입니다. Fast mode는 입력 $10 / 출력 $50 (100만 토큰당)으로 정확히 2배이지만, 출력 토큰 속도는 최대 2.5배 더 빠릅니다 . Fast mode는 리서치 프리뷰이며, 요청이 성공하려면 Anthropic 콘솔에서 별도로 등록해야 합니다.

Opus 4.8에서 temperaturetop_p를 설정할 수 있나요?

아니요. 기본값이 아닌 temperature, top_p, top_k 값을 설정하면 400 오류가 반환됩니다 — Opus 4.7과 동일한 제약입니다. 이 매개변수는 완전히 생략하고, 출력 스타일은 프롬프팅으로 조정하세요.

낮아진 프롬프트 캐시 임계값 혜택을 받으려면 코드를 변경해야 하나요?

코드 변경은 필요 없습니다. Opus 4.8은 캐시 가능한 최소 프롬프트를 자동으로 약 2,000 토큰에서 1,024 토큰으로 낮춥니다 . 이전에는 캐시되지 않았던 1,024~2,000 토큰 사이의 프롬프트가 이제 캐시 대상이 되어, 별도 마이그레이션 없이 반복 호출 입력 비용을 절감할 수 있습니다.

영상 / 출처

마이그레이션과 모니터링 포인트

대부분의 코드베이스에서 Opus 4.8 업그레이드는 모델 ID 변경 한 줄로 끝납니다. 실질적인 마이그레이션 작업은 extended thinking을 사용하고 있었다면 budget_tokens를 제거하고, 샘플링 파라미터가 설정되어 있지 않은지 확인하는 것입니다. 새로운 네 가지 기능 — 빠른 모드, 세션 중간 시스템 프롬프트, 낮아진 캐시 최솟값, stop_details 라우팅 — 은 각각 몇 줄 추가에 그치며, 구조적인 재설계가 필요하지 않습니다.

빠른 모드와 Dynamic Workflows는 GA 일정이 확정되지 않은 연구 프리뷰 상태로 남아 있습니다. 코딩 벤치마크에서 Opus 4.8을 능가할 것으로 기대되는 Mythos급 모델은 출시일 기준 "수 주 내"에 공개될 것이라고 언급됐으며, 현재 안전성 검토가 진행 중입니다 . 현재로서는 claude-opus-4-8이 지원되는 모든 플랫폼의 프로덕션 최상위 모델입니다.

마지막 업데이트: 2026-06-01. Anthropic의 Opus 4.8 릴리스 노트 및 2026년 5월 28일 공개된 모델 문서를 기반으로 합니다.