DEV Community

Cover image for Claude Opus 4.8からOpus 5への移行:全ての破壊的変更
Akira
Akira

Posted on • Originally published at apidog.com

Claude Opus 4.8からOpus 5への移行:全ての破壊的変更

claude-opus-4-8claude-opus-5に交換する作業は、モデルIDを1行変えるだけに見えます。実際、ほとんどのリクエストはそのまま動作します。ただし、Opus 5では思考がデフォルトで有効になり、以前は有効だった設定の組み合わせがHTTP 400を返すなど、移行前に確認すべき挙動差があります。

Apidogを今すぐ試す

Anthropicは2026年7月24日にClaude Opus 5を、Opus 4.8と同じ価格(入力トークン100万あたり5ドル、出力トークン100万あたり25ドル)でリリースしました。そのため、移行は通常、予算ではなく正確性・互換性の判断になります。本記事では、既存統合で問題になりやすい差分を、実装手順とリクエスト例とともに整理します。API仕様の一次情報はAnthropicのOpus 4.8からOpus 5への移行ガイドです。各パターンは、Apidogでリクエストを保存・複製してライブエンドポイントに対して比較できます。

要約

変更点 影響 対応策
デフォルトで思考がオン 出力がサイレントに切り捨てられる可能性 max_tokensを増やす
thinking: disabled + xhigh / max HTTP 400 どちらか一方を変更する
努力レベルの再調整 4.8と同じコスト・品質比ではない 評価をやり直す
1Mコンテキスト ベータヘッダーが不要 古いヘッダーを削除する
キャッシュ最小値が512トークン キャッシュ対象を増やせる 512〜1,024トークンの断片を見直す
会話内のシステムメッセージ Opus 5では許可 回避コードを簡略化できる
優先ティア Opus 5では未サポート 対象トラフィックは4.8を維持する
高速モード Opus 5で利用可能 対話パスで必要に応じて使う
fallbacks: "default" サイバー拒否時のフォールバック 必要に応じてベータヘッダーを追加
サンプリング・トークン数 大きな変更なし 基本的には対応不要

1. 思考はデフォルトでオンになり、max_tokensは合計予算になる

最も見落としやすい変更です。

Opus 4.8では、thinkingを指定しなければ思考なしで実行されました。Opus 5では同じリクエストでも適応型思考が実行されます。

max_tokensは、思考トークンと可視出力トークンの合計上限です。そのため、4.8でmax_tokens: 1024に収まっていたリクエストでも、Opus 5では思考に予算を使い、回答が途中で切れる可能性があります。

Opus 4.8での既存リクエスト

{
  "model": "claude-opus-4-8",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": "Summarize this incident report in three bullets."
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

モデルIDだけを変更する場合でも、まずは出力予算を増やしてください。

Opus 5への移行例

{
  "model": "claude-opus-5",
  "max_tokens": 8192,
  "messages": [
    {
      "role": "user",
      "content": "Summarize this incident report in three bullets."
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

移行テストでは、次の2点を必ず確認します。

  1. stop_reasonend_turnであること

    max_tokensなら、上限到達による途中終了です。

  2. usageを確認すること

    実プロンプトで思考がどれだけトークンを消費したかを測定し、その結果に基づいてmax_tokensを調整します。

以前と同じく思考を使わない挙動が必要なら、明示的に無効化できます。

{
  "thinking": {
    "type": "disabled"
  }
}
Enter fullscreen mode Exit fullscreen mode

ただし、努力レベルとの組み合わせには制約があります。次のセクションを確認してください。

2. thinking: disabledxhighまたはmaxの組み合わせはHTTP 400

Opus 5では、次の組み合わせがHTTP 400になります。

  • thinking: {"type": "disabled"}
  • output_config.effort: "xhigh" または "max"

失敗するリクエスト

{
  "model": "claude-opus-5",
  "max_tokens": 8192,
  "thinking": {
    "type": "disabled"
  },
  "output_config": {
    "effort": "xhigh"
  },
  "messages": [
    {
      "role": "user",
      "content": "Refactor this module and explain the tradeoffs."
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

上位の努力レベルは、より多くの思考を利用する前提です。したがって、思考を無効化しながら最大級の努力レベルを指定することはできません。

修正A: 高い能力を優先する

コーディングやエージェント処理では、thinkingを削除して高い努力レベルを維持します。

{
  "model": "claude-opus-5",
  "max_tokens": 32000,
  "output_config": {
    "effort": "xhigh"
  },
  "messages": [
    {
      "role": "user",
      "content": "Refactor this module and explain the tradeoffs."
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

修正B: 思考を無効化したままにする

低レイテンシを優先し、思考が不要な分類処理などでは、努力レベルをhigh以下にします。

{
  "model": "claude-opus-5",
  "max_tokens": 4096,
  "thinking": {
    "type": "disabled"
  },
  "output_config": {
    "effort": "high"
  },
  "messages": [
    {
      "role": "user",
      "content": "Classify this ticket into one of five categories."
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

ただし、Anthropicのドキュメントでは、思考を無効化した場合に次のアーティファクトが発生する可能性が示されています。

  • ツール呼び出しが実行されず、プレーンテキストとして出力される
  • <thinking>のような内部XMLタグが可視出力に現れる

エージェントループでは、この出力が後続ターンのコンテキストも汚染し得ます。通常は思考を有効なままにし、effortを下げてコストを制御する方が安全です。

3. 努力レベルはコピーせず、評価し直す

Opus 5のデフォルト努力レベルはhighです。また、lowmediumを含む各レベルは以前のOpusモデルから再調整されています。

つまり、Opus 4.8で使っていた設定をそのまま移植しても、同じ品質・レイテンシ・使用トークン量になるとは限りません。

  • 4.8でhighまたはxhighを使っていた処理は、Opus 5のmediumで必要品質を満たせる可能性があります。
  • 4.8でコストを理由にlowを使っていた処理は、Opus 5ではより高いレベルにする価値があるかもしれません。
  • コーディングや長時間のエージェントタスクでは、引き続きxhighが開始点になります。

高い努力レベルでは、思考のために十分なmax_tokensも必要です。64kは開始時の妥当な予算です。

推奨する評価手順

  1. 本番に近いプロンプト・入力データを固定する
  2. lowmediumhighxhighごとにリクエストを複製する
  3. 出力品質、レイテンシ、usageを記録する
  4. ワークロード単位で最小の合格努力レベルを決める
  5. stop_reasonend_turnであることも確認する

努力レベルの詳細は努力パラメータの詳細解説、料金面はOpus 5の料金内訳を参照してください。

4. 長いコンテキスト用のベータヘッダーを削除する

Opus 5は、デフォルトかつ最大で1Mトークンのコンテキストウィンドウを提供します。

Opus 4.8向けに追加していた長いコンテキスト用のanthropic-betaヘッダーは、Opus 5では不要です。共有HTTPクライアントやSDKラッパーに古いベータ値が残っている場合は削除してください。

Messages APIの最大出力は128kトークンです。より大きい出力が必要な場合、Batch APIではoutput-300k-2026-03-24ベータヘッダーにより、300k出力トークンがサポートされます。これはコンテキスト長とは別のオプトインです。

5. プロンプトキャッシュの最小値が512トークンになった

Opus 4.8では、キャッシュ対象になるプロンプト断片の最小サイズは1,024トークンでした。Opus 5では512トークンに下がります。

既存コードがそのままでも恩恵を受ける可能性がありますが、次の断片は見直す価値があります。

  • 512〜1,024トークンのシステムプロンプト
  • ツール定義
  • few-shot例
  • 繰り返し送っているポリシーやルール

cache_controlのブレークポイントを追加した後は、同一リクエストを2回送信し、2回目のレスポンスで次を確認します。

{
  "usage": {
    "cache_read_input_tokens": 1234
  }
}
Enter fullscreen mode Exit fullscreen mode

cache_read_input_tokensがゼロ以外ならキャッシュ読み取りが発生しています。Claude APIの料金を削減するためのガイドも参考にしてください。

6. 会話中のシステムメッセージが許可された

Opus 4.8では、messages配列内の{"role": "system"}はHTTP 400で拒否されました。Opus 5では会話中のシステムメッセージを受け入れます。

これにより、会話途中でのルール変更を、人工的なユーザーメッセージに埋め込む回避策を削除できます。

{
  "model": "claude-opus-5",
  "max_tokens": 8192,
  "messages": [
    {
      "role": "user",
      "content": "Draft the release note."
    },
    {
      "role": "assistant",
      "content": "Here is a first draft..."
    },
    {
      "role": "system",
      "content": "From here on, keep responses under 150 words."
    },
    {
      "role": "user",
      "content": "Tighten it."
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

ただし、同じ会話履歴をフォールバック先のOpus 4.8へ送る場合、4.8は依然としてこのsystemメッセージを400で拒否します。モデルごとに履歴を正規化するか、フォールバック経路を分けてください。

7. 優先ティアはOpus 5でサポートされない

Opus 4.8は優先ティアをサポートしますが、Opus 5はサポートしません。

優先ティアでコミット済みスループットを購入し、レイテンシ保証が必要な本番パスを運用している場合、Opus 5へ移行すると標準容量に戻ります。

実装上の選択肢は次のいずれかです。

  1. レイテンシが重要なトラフィックをclaude-opus-4-8に残す
  2. Opus 5の標準容量へ移行し、p95・p99レイテンシを測定する
  3. ワークロード単位で段階移行する

全トラフィックを一斉に切り替えるのではなく、SLOが厳しい経路を分離して判断してください。

8. 高速モードとサイバー拒否フォールバック

高速モード

高速モードはOpus 5で動作します。入力トークン100万あたり10ドル、出力トークン100万あたり50ドルで、約2.5倍の出力速度を提供します。

利用時の制約は次のとおりです。

  • 研究プレビュー
  • ファーストパーティAPIのみ
  • Amazon Bedrock、Google Cloud、Microsoft Foundryでは利用不可
  • Batch APIとは併用不可

バックグラウンドジョブより、ユーザーが応答待ちをする対話パスに適しています。

サイバー拒否時のサーバーサイドフォールバック

server-side-fallback-2026-07-01ベータヘッダーとともにfallbacks: "default"を送ると、Opus 5がサイバーカテゴリの理由で拒否したリクエストをOpus 4.8へ自動フォールバックできます。

{
  "model": "claude-opus-5",
  "fallbacks": "default",
  "messages": [
    {
      "role": "user",
      "content": "..."
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

この機能は、サイバーセキュリティ関連のワークロードで特に重要になります。

また、mid-conversation-tool-changes-2026-07-01ベータヘッダーを使うと、プロンプトキャッシュを無効化せずに会話途中でツール定義を追加・削除できます。ツールセットが変化する長いエージェントセッションでは、コスト最適化の選択肢になります。

9. 変更されなかった点

移行時に確認不要な領域もあります。

  • サンプリングパラメータ

    temperaturetop_ptop_kの非デフォルト値は、Opus 4.8と同様に400で拒否されます。動作はシステムプロンプトで制御してください。

  • トークン数

    Opus 5はOpus 4.8と同じトークナイザーファミリーを使用するため、既存のトークン予算とコストモデルはほぼ引き継げます。

  • 基本料金

    入力100万トークンあたり5ドル、出力100万トークンあたり25ドルで、Opus 4.8、4.7、4.6、4.5と同一です。Opus 4.8の料金ページを参照してください。

  • API形式

    ストリーミング、ツール利用、ビジョン、構造化出力、Batch APIのリクエスト・レスポンス形式は従来どおりです。

一方で、プロンプトは見直してください。Opus 5は指示なしでも自身の作業を確認するため、既存の「回答を再確認してください」という指示は過剰な検証とトークン消費につながる場合があります。

また、デフォルト応答は4.8より長くなる傾向があります。短い出力が必要なら、努力レベルではなく明示的な簡潔さの指示を入れてください。

回答は150語以内にしてください。
結論を先に示し、理由は箇条書きで3点までにしてください。
Enter fullscreen mode Exit fullscreen mode

プロンプト設計についてはClaude Opus 5のプロンプト作成を参照してください。

移行をデプロイする前に確認する

上記の差分は、アプリケーション実装の外側からHTTPレベルで検証できます。Apidogで、次のコレクションを作成してください。

  1. APIキーを環境変数として保存し、Messages APIリクエストを1つ作成する
  2. リクエストを複製し、claude-opus-4-8をベースラインとして残す
  3. デフォルトのclaude-opus-5、各努力レベル、思考無効パターンを作成する
  4. thinking: disabledxhighの無効な組み合わせを実行し、400レスポンス本文を保存する
  5. テストでstop_reason === "end_turn"をアサートする
  6. 同じキャッシュ対象リクエストを2回実行し、2回目のusage.cache_read_input_tokensを確認する
  7. ストリーミングリクエストを実行し、SSEパーサーが思考ブロックを処理できることを確認する

将来のモデル移行でも使えるコレクションとして保存するために、Apidogをダウンロードしてください。

すべてを移行する前の注意点

Opus 5はClaudeスタックの頂点ではありません。Fable 5はAnthropicの最も高性能な広くリリースされたモデルのままであり、Opus 5はサイバーセキュリティの悪用と自律的な生物学研究においてMythos 5に依然として劣っています。Anthropicは発表記事でそのように説明しています。

Frontier-Bench、ARC-AGI 3、OSWorld 2.0、CursorBench 3.2などの発表済みベンチマークはベンダー実施の数値です。2026年7月25日時点で独立再現はされていません。ベンチマーク結果だけで移行を決めず、実際の本番ワークロードに近い評価セットで検証してください。

移行チェックリスト

以下を順番に実行してください。

  1. モデル文字列をclaude-opus-5へ変更する
  2. これまでthinkingを省略していたリクエストでmax_tokensを増やす
  3. コードベースで"disabled"を検索し、xhighまたはmaxと組み合わせていないことを確認する
  4. anthropic-betaから古い長いコンテキスト用ベータ値を削除する
  5. 努力レベルをOpus 5向けにゼロから評価する
  6. 512〜1,024トークンのプロンプト断片にcache_controlを追加できるか確認する
  7. 優先ティア上のトラフィックを特定し、Opus 4.8に残すか決める
  8. 引き継いだ検証指示を削除し、必要なら簡潔さを明示する
  9. サイバー拒否が想定されるワークロードではfallbacks: "default"を検討する
  10. テストスイートでstop_reasonをアサートし、出力切り捨てを検出する

完全なリクエスト例はClaude Opus 5 APIガイド、仕様と可用性の概要はClaude Opus 5とは何かを参照してください。旧モデルを継続利用する場合は、Opus 4.8の説明APIウォークスルーも引き続き参照できます。モデルID、コンテキストウィンドウ、カットオフの正式情報はAnthropicのモデル概要を確認してください。

よくある質問

Opus 4.8からOpus 5への移行はドロップインで可能ですか?

ほぼ可能ですが、完全な置き換えではありません。モデルIDを変更するだけで多くのリクエストは動作します。

ただし、次の点は確認が必要です。

  • 思考がデフォルトで有効になり、max_tokens予算を共有する
  • thinking: {"type": "disabled"}xhighまたはmaxを組み合わせると400になる
  • Opus 5では優先ティアを利用できない

claude-opus-5へ切り替えた後に400エラーが出る理由は?

最も多い原因は、思考を無効にしつつxhighまたはmaxの努力レベルを指定していることです。

対処方法は次のいずれかです。

  • thinkingを削除して高い努力レベルを維持する
  • thinking: disabledを維持し、努力レベルをhigh以下に下げる

また、temperaturetop_ptop_kに非デフォルト値を設定している場合も、Opus 4.8と同様に400になります。

移行後にトークン数を再計算する必要はありますか?

基本的には不要です。Opus 5とOpus 4.8は同じトークナイザーファミリーを使用するため、トークン数はほぼ変わらず、既存の予算を引き継げます。

ただし、Opus 5では思考がデフォルトで有効になるため、実際の使用トークンと料金は増える可能性があります。移行後はusageを記録し、ワークロードごとにmax_tokenseffortを調整してください。

Top comments (0)