SJ blog
ai
S

信頼度ランク

S 公式ソース確認済み
A 成功実績多数・失敗例少数
B 賛否両論
C 動作未確認・セキュリティリスク高
Z 個人所感

4月30日締め切り:Claude Sonnet 4.5 / Sonnet 4の1Mトークンコンテキストβが終了——Sonnet 4.6への移行でコスト削減も同時に達成できる

Anthropicが2026年4月30日にClaude Sonnet 4.5とClaude Sonnet 4の1Mトークンコンテキストβを終了。context-1m-2025-08-07ヘッダーが無効化され、200kトークン超のリクエストはエラーになる。Sonnet 4.6への移行手順とコスト改善のポイントを解説。

一言結論

4月30日以降、Claude Sonnet 4.5/4でcontex-1m-2025-08-07ベータヘッダーを使っても1Mコンテキストは利用不可になり、200kを超えるリクエストはエラーを返す。移行先のSonnet 4.6は1Mコンテキストを標準サポートし、旧βより安く・高性能。今日中にコードを修正できる。

何が、いつ変わるのか

Anthropicは 2026年4月30日 に、以下の2モデルで提供していた1Mトークンコンテキストのβ機能を終了する:

  • claude-sonnet-4-5
  • claude-sonnet-4(Sonnet 4)

現在 context-1m-2025-08-07 というベータヘッダーを付けてリクエストを送っている場合、4月30日以降はこのヘッダーは効果を持たなくなる。200,000トークンを超えるリクエストはエラーを返すようになる。

締め切りまで 残り5日

影響を受けるコードのパターン

# ❌ 4月30日以降に動作しなくなるコード
import anthropic

client = anthropic.Anthropic()

response = client.beta.messages.create(
    model="claude-sonnet-4-5",          # または "claude-sonnet-4"
    max_tokens=4096,
    betas=["context-1m-2025-08-07"],    # このヘッダーが無効化される
    messages=[{
        "role": "user",
        "content": very_long_context    # 200kトークン超
    }]
)

このコードは4月30日以降に 400 Bad Request または context_length_exceeded エラーを返す。

移行先: Claude Sonnet 4.6

# ✅ 修正後のコード(Sonnet 4.6 + ベータヘッダー不要)
import anthropic

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-sonnet-4-6",          # モデルを変更
    max_tokens=4096,
    # betas=["context-1m-2025-08-07"] は不要 → 削除
    messages=[{
        "role": "user",
        "content": very_long_context    # 1Mトークンまでそのまま利用可
    }]
)

変更点は2つだけ:

  1. modelclaude-sonnet-4-6 に変更
  2. betas リストから context-1m-2025-08-07 を削除(または betas パラメータ自体を削除)

移行するとコストが下がる理由

β期間中の1Mコンテキストは、通常料金に長文コンテキスト追加料金が上乗せされていた。Sonnet 4.6では1Mコンテキストが標準料金内に含まれており、旧βと同じ用途で使うと実質コストが下がるケースがある。

項目Sonnet 4.5 + βSonnet 4.6(標準)
1Mコンテキストβヘッダー必須 + 追加料金標準サポート・追加料金なし
モデル性能ベースライン4.5より全般的に向上
ベータヘッダー必須不要

Opus 4.6も選択肢

1Mコンテキストが必要で、より高い推論品質が求められる場合は claude-opus-4-6 も同様に1Mコンテキストを標準サポートしている。

# 高品質推論 + 1Mコンテキストが必要な場合
response = client.messages.create(
    model="claude-opus-4-6",
    max_tokens=4096,
    messages=[{
        "role": "user",
        "content": very_long_context
    }]
)

移行チェックリスト

今日中に実施すること:

# コードベース内でβヘッダーを使っているファイルを検索
grep -r "context-1m-2025-08-07" --include="*.py" --include="*.ts" --include="*.js" .

# 古いモデル名を使っているファイルを検索
grep -r "claude-sonnet-4-5\|claude-sonnet-4\"" --include="*.py" --include="*.ts" .

確認・修正すべきポイント:

  • betas=["context-1m-2025-08-07"] の記述をすべて削除
  • claude-sonnet-4-5 / claude-sonnet-4claude-sonnet-4-6 に変更
  • 環境変数・設定ファイルでモデル名を管理している場合はそちらも更新
  • ステージング環境でSonnet 4.6への移行動作をテスト
  • 本番環境に適用

モデルID早見表

# 2026年4月25日時点の推奨モデルID(Anthropic公式ドキュメントより)
MODELS = {
    "opus_latest": "claude-opus-4-7",      # 最新・最高性能
    "opus_stable": "claude-opus-4-6",      # 安定版・1Mコンテキスト標準対応
    "sonnet_latest": "claude-sonnet-4-6",  # バランス・1Mコンテキスト標準対応
    "haiku_latest": "claude-haiku-4-5",    # 軽量・高速
}

参考リンク