Claude Opus 5.5への移行
以前のOpusモデルまたはClaude Sonnet 5からClaude Opus 5.5へ移行します。エラーを返すリクエスト設定、すべてのレスポンスに含まれる思考ブロック、移行元モデルごとのチェックリストについて説明します。
このページでは、Claude Opus 5、Claude Opus 4.8、Claude Opus 4.7、Claude Opus 4.6以前のOpusモデル、またはClaude Sonnet 5からClaude Opus 5.5へ移行するためのコード変更を説明します。すべての読者は、Claude Opus 5.5へのすべてのリクエストが満たす必要がある要件とすべてのレスポンスで思考を処理するを確認する必要があります。その後、現在使用しているモデルのセクションに進んでください。各セクションの最初の文に、該当する他のセクションが記載されています。移行チェックリストには、移行元モデルごとにすべての変更が記載されています。
Claude Opus 5.5はClaude Opus 5よりも低コストです(入力/出力100万トークンあたり$4 / $20 USD。Claude Opus 5は$5 / $25です。Claudeの料金を参照してください)。機能のサポート状況については、Claude Opus 5.5の新機能を参照してください。動作の違いとモデル固有のプロンプトパターンについては、Claude Opus 5.5へのプロンプティングを参照してください。
Claude Opus 5.5へのすべてのリクエストが満たす必要がある要件
どのモデルから移行する場合でも、claude-opus-5-5へのリクエストは以下を満たす必要があります。設定が拒否されると記載されている項目では、APIは400エラーを返します。
- モデルID: 日付サフィックスのない固定モデルIDである
claude-opus-5-5を使用します。Amazon Bedrock、Claude Platform on AWS、Google Cloud、Microsoft Foundryでは、各プラットフォームのモデルIDを使用してください。提供状況を参照してください。 - 思考:
thinkingフィールドを送信しないか、同等のthinking: {"type": "adaptive"}を送信します。adaptive thinking(適応型思考)は常に有効です。thinking: {"type": "disabled"}および手動の思考予算(thinking: {"type": "enabled", "budget_tokens": N})は拒否されます。思考の変更前と変更後を参照してください。 - エフォート(effort): 思考の深さは、それを制御する唯一のリクエストパラメータであるエフォートパラメータで制御します。5つのレベル(
low、medium、high、xhigh、max)すべてがサポートされており、デフォルトはmediumです。Claude Opus 5.5の推奨エフォートレベルを参照してください。 - ツール選択:
tool_choiceには{"type": "auto"}(デフォルト)または{"type": "none"}を使用します。{"type": "any"}または{"type": "tool", "name": "..."}によるツール呼び出しの強制は拒否されます。ツール選択の変更前と変更後を参照してください。 - サンプリングパラメータ:
temperature、top_p、top_kは省略するか、デフォルト値のままにしてください。それ以外の値は拒否されます。モデルの動作を誘導するにはプロンプトを使用してください。 - プリフィル(prefill):
messagesをプリフィルされたアシスタントターンで終わらせないでください。拒否されます。代わりに構造化出力またはシステムプロンプトの指示を使用してください。 - コンピュータ使用(computer use): Claude APIとGoogle Cloudでは、コンピュータ使用を
computer_toolset_20260801ツールセットとして宣言します。これらのプラットフォームでは、以前のcomputer_20251124ツールは拒否されます。コンピュータ使用の破壊的変更を参照してください。 - コンテキストウィンドウ: コンテキストウィンドウ用のベータヘッダーは不要です。100万トークンのコンテキストウィンドウがデフォルトであり、古いモデル向けに送信されたヘッダーは効果がありません。
次のリクエストは、リストのすべての項目を満たしています。エフォートが設定されており、thinkingフィールドはありません。テキストを出力するSDKタブでは、thinkingブロックが先頭に来るため、ブロックタイプによってテキストを選択しています。
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-5-5",
max_tokens=4096,
messages=[
{
"role": "user",
"content": "Analyze the trade-offs between microservices and monolithic architectures",
}
],
output_config={"effort": "medium"},
)
for block in response.content:
if block.type == "text":
print(block.text)すべてのレスポンスで思考を処理する
Claude Opus 5.5ではすべてのリクエストで思考が実行されるため、すべてのレスポンスがthinkingブロックで始まる可能性があり、max_tokensは思考とテキストの両方を対象とします。コードがすでに思考を有効にして実行されている場合、項目1〜3はおそらく対応済みです。項目4と5を確認してください。以前のいずれかのモデルで思考なしで実行していた場合は、各項目が変更点となります。
-
max_tokensは思考とテキストの両方を対象とする: Claude Opus 4.8以前のOpusモデルでは、thinkingフィールドのないリクエストは思考なしで実行されます。Claude Opus 5とClaude Sonnet 5はthinking: {"type": "disabled"}を受け付けます。Claude Opus 5.5では、すべてのリクエストが適応型思考で実行されます。max_tokensは引き続き出力全体(思考とレスポンステキストの合計)に対する厳格な上限であるため、思考なしで実行していたワークロードでは見直してください。思考トークンは、思考テキストが返されない場合でも出力トークンとして課金されるため、そのようなワークロードではリクエストあたりの出力トークンが増える可能性があります。コスト制御を参照してください。思考に費やすトークンを減らすには、エフォートレベルを下げてください。xhighまたはmaxのエフォートで実行する場合は、モデルが思考して行動する余地を確保できるよう、max_tokensを大きく設定してください。64kトークンから始めて、そこから調整します。プロンプトが思考なしでの実行向けに調整されていた場合は、思考無効を前提に書かれたプロンプトを参照してください。 -
レスポンスは思考ブロックで始まる: レスポンスは、最初の
textブロックの前に1つ以上のthinkingブロックで始まる場合があります。content[0].textや、最初のcontent_block_startイベントをテキストとして扱うストリームハンドラーのように、位置によって応答を読み取るコードは、このようなレスポンスで動作しなくなります。代わりに、typeフィールドでコンテンツブロックを選択してください。typeが"text"のブロックからtextを読み取り、ストリームイベントを処理する際はブロックタイプで分岐します。 -
ツール使用ループでは思考ブロックを変更せずに返す: ツール使用ループを実行する場合、ツール結果を返す際に、各アシスタントレスポンスの
thinkingブロックを、thinkingフィールドが空のブロックも含めて、完全かつ変更せずにAPIに渡してください。コンテンツブロックをタイプでフィルタリングしたり再構築したりせず、受信したとおりにアシスタントメッセージをそのまま返してください。APIは、編集、並べ替え、または一部が削除された思考ブロックを400エラーで拒否します。思考ブロックの保持を参照してください。 -
思考テキストはデフォルトで省略される:
thinking.displayのデフォルトは"omitted"であるため、thinkingブロックはsignatureとともに空のthinkingフィールドで届きます。thinkingフィールドは表示用テキストとしてのみ扱ってください。代わりに読みやすい要約を受け取るには、thinking.displayを"summarized"に設定します:thinking = { "type": "adaptive", "display": "summarized", }製品がユーザーに推論をストリーミングしている場合、デフォルトでは出力が始まる前に長い待ち時間が発生するように見えます。思考中の進捗表示を復元するには、
display: "summarized"を設定してください。思考表示の制御を参照してください。 -
ツール呼び出し間のテキストは思考ブロックで届く: モデルがツール呼び出しの間に書く短いメモは
thinkingブロックとして返され、デフォルトの表示設定では空になります。ツール呼び出し間のテキストは思考ブロックで返されるを参照してください。
移行元モデル別の移行チェックリスト
グループを上から順に確認し、現在のモデルが記載されたグループで止めてください。そこまでのすべての項目が該当します。Claude Opus 5を使用している場合は、最初のグループがリスト全体です。Claude Sonnet 5を使用している場合は、最初のグループと最後のグループを適用してください。
すべての移行元モデル
- モデルIDを
claude-opus-5-5に更新します。 thinking: {"type": "disabled"}とthinking: {"type": "enabled", ...}を削除し、代わりにエフォートレベルを選択します。effortを明示的に設定します。デフォルトはmediumですが、Claude Opus 5のデフォルトはhighです。tool_choiceのタイプanyとtoolを、autoと厳密なツール使用または構造化出力の組み合わせに置き換えます。- Claude APIまたはGoogle Cloudでコンピュータ使用を利用している場合は、
computer_20251124の代わりにcomputer_toolset_20260801(ベータヘッダーなし)を宣言し、ツールセットに合わせてエージェントループを更新します。Amazon Bedrockではcomputer_20251124をそのまま使用してください。その他のプラットフォームについては、コンピュータ使用ツールの互換性セクションを確認してください。 - ルーターやフォールバックによって会話がClaude Opus 5.5から別のモデルに移る可能性がある場合、そのモデルはClaude Opus 5.5の思考ブロックなしで実行されることを想定してください(Claude API上のClaude Fable 5.1とClaude Mythos 5.1は例外で、思考ブロックを保持します)。Claude Opus 5.5自体は、Claude Opus 5以前のOpus、Sonnet、Haikuモデルの思考を読み取りますが、Claude FableやClaude Mythosモデルの思考は読み取りません。
- コンテンツブロックは
typeで読み取り、ツール使用ループではthinkingブロックを変更せずに返します。 - インターフェースでツール呼び出し間のテキストを表示している場合は、
display: "updates"(ベータ)または"summarized"を設定し、空でないthinkingブロックを表示します。 - コードが会話の途中で以前のターン、
systemプロンプト、またはtoolsを編集する場合は、保持された思考に従ってください。 stop_reason: "refusal"を処理し、フォールバックを設定します。- 選択したエフォートレベルでコストとレイテンシのベースラインを再測定します。
- コードで思考を無効にしていた場合は、思考とレスポンステキストの両方を対象とする
max_tokensを見直してください。xhighまたはmaxのエフォートでは64kから始めます。すべてのレスポンスで思考を処理するを参照してください。
Claude Opus 4.8以前
thinkingフィールドなしで実行していたワークロードを見直します。Claude Opus 5.5ではこれらは思考ありで実行され、思考を無効にすることはできません。出力全体(思考とレスポンステキストの合計)に対する厳格な上限であり続けるmax_tokensを見直し、思考を減らしたい箇所ではeffortを下げてください。思考トークンは出力トークンとして課金されるため、これらのワークロードではリクエストあたりの出力トークンが増える可能性があります。thinkingフィールドを解析するコードが、それを表示用テキストとしてのみ扱っていることを確認します。読みやすい要約を受け取るにはdisplay: "summarized"を設定します。- キャッシュの最小長に近いプロンプトを見直します。512トークン以上のプロンプトはキャッシュエントリを作成できます。
- 組織にPriority Tierのコミットメントがある場合は、容量を別途計画してください。Claude Opus 5.5ではPriority Tierはサポートされていません。
xhighまたはmaxのエフォートで実行する場合は、出発点としてmax_tokensを少なくとも64kに引き上げます。- エージェント型ワークロードでは、タスクバジェット(ベータ)と会話途中のツール変更(ベータ)を検討してください。
Claude Opus 4.7以前
- 以前のモデル向けに調整された設定を引き継ぐのではなく、独自の評価でエフォートのスイープを新たに実行します。
- コンテキストウィンドウ用のベータヘッダーをすべて削除します。
- 指示を更新するために会話履歴を再構築している場合は、プロンプトキャッシングのキャッシュヒットを維持するため、会話途中のシステムメッセージへの切り替えを検討してください。
- 停止理由の処理で、拒否時に
stop_detailsを読み取っていることを確認します。 - Claude Opus 4.7では拒否される高速モードを使用したい場合は、Claude APIで
fast-mode-2026-02-01ベータヘッダーとともにspeed: "fast"を設定します。
Claude Opus 4.6以前
- リクエストペイロードから
temperature、top_p、top_kを削除します。 thinking: {"type": "enabled", "budget_tokens": N}をthinking: {"type": "adaptive"}とエフォートパラメータの組み合わせに置き換えるか、thinkingフィールドを完全に削除します。適応型思考は常に有効です。- UIで思考内容を表示している場合は、思考の要約を明示的にオプトインします。
- 更新されたトークン化のもとで、エンドツーエンドのコストとレイテンシを再ベンチマークします。
- 更新されたトークン化を考慮して、コンパクション(compaction)のトリガーを含め
max_tokensを再調整します。 - クライアント側のトークン数推定を再テストします。
- アプリケーションが画像を送信する場合は、高解像度画像のサポート(フル解像度の画像1枚あたり最大約3倍の画像トークン)に合わせて予算を見直します。追加の忠実度が不要な場合は、送信前にダウンサンプリングしてください。
- モデルからのポインティング座標やバウンディングボックス座標を使用している場合は、スケール係数の変換をすべて削除します。Claude Opus 4.7以降のモデルでは、座標は実際の画像ピクセルと1:1で対応します。
- Claude Opus 4.7で始まった動作の変更を確認します。
- 製品が正当なセキュリティ業務を行う場合は、サイバー関連コンテンツに対する制限の緩和を受けるためにCyber Verification Programに申請してください。
Claude Opus 4.5以前
- アシスタントメッセージのプリフィルをすべて削除します。Claude Opus 4.6ですでに拒否されます。
- ツール呼び出しのJSON解析に標準のJSONパーサーを使用していることを確認します。
client.beta.messages.createからclient.messages.createに移行します。適応型思考とエフォートにはベータ名前空間は不要です。effort-2025-11-24ベータヘッダーを削除します(エフォートパラメータには不要です)。fine-grained-tool-streaming-2025-05-14ベータヘッダーを削除します。interleaved-thinking-2025-05-14ベータヘッダーを削除します(適応型思考はインターリーブ思考を自動的に有効にします)。output_formatをoutput_config.formatに移行します(該当する場合)。
Claude 4.1以前
- ツールのバージョンを更新します(
text_editor_20250728、code_execution_20260521)。 refusal停止理由を処理します。model_context_window_exceeded停止理由を処理します。- ツールの文字列パラメータで末尾の改行が正しく処理されることを確認します。
- レガシーのベータヘッダー(
token-efficient-tools-2025-02-19、output-128k-2025-02-19)を削除します。 - プロンプトのベストプラクティスに従ってプロンプトを見直し、更新します。
Claude Sonnet 5のみ
- 指示を更新するために会話履歴を再構築している場合は、プロンプトキャッシングのキャッシュヒットを維持するため、会話途中のシステムメッセージへの切り替えを検討してください。
- キャッシュの最小長に近いプロンプトを見直します。512トークン以上のプロンプトはキャッシュエントリを作成できます。
Claude Opus 5からClaude Opus 5.5への移行
まず、Claude Opus 5.5へのすべてのリクエストが満たす必要がある要件とすべてのレスポンスで思考を処理するを確認してください。このセクションの変更は、すべての移行元モデルで必要です。これらは、Claude Opus 5.5が拒否するリクエスト設定と、それに伴うレスポンスの変更です。このセクションのチェックリストは、移行チェックリストの最初のグループです。
モデル名を更新する
model = "claude-opus-5" # Before
model = "claude-opus-5-5" # Afterclaude-opus-5-5は日付サフィックスのない固定モデルIDで、claude-opus-5と同じ命名方式です。Amazon Bedrock、Claude Platform on AWS、Google Cloud、Microsoft Foundryでは、各プラットフォームのモデルIDを使用してください。提供状況を参照してください。
破壊的変更
各変更の説明はClaude Opus 5.5の新機能にあります。このセクションでは、それぞれに必要なコード変更を示します。
思考を無効にできない
thinking: {"type": "disabled"}とthinking: {"type": "enabled", "budget_tokens": N}はどちらも400エラー("thinking.type.disabled" is not supported for this model.または"thinking.type.enabled" is not supported for this model.)を返します。thinkingフィールドを削除し、effort(エフォート)レベルを選択してください。トークンを節約するために思考を無効にしていた箇所では、より低いレベルを使用してください。その場合、レスポンスはthinkingブロックから始まるため、コンテンツブロックはtypeで選択し、thinkingブロックはツール結果とともに変更せずに返してください。思考を無効にできないを参照してください。
変更前。Claude Opus 5はこのリクエストを受け付けますが、Claude Opus 5.5は400エラーで拒否します:
client.messages.create(
model="claude-opus-5",
max_tokens=16000,
thinking={"type": "disabled"},
messages=[{"role": "user", "content": "..."}],
)変更後:
client.messages.create(
model="claude-opus-5-5",
max_tokens=16000,
output_config={"effort": "low"}, # thinking is always on; effort is the control
messages=[{"role": "user", "content": "..."}],
)強制ツール使用はサポートされていない
tool_choiceのタイプanyとtoolは、トークンカウントエンドポイントを含め、400エラー(tool_choice: type "tool" and "any" are not supported for this model.)を返します。厳密なツール使用または構造化出力とともにautoを使用し、ツールを使用すべき場面をプロンプトで伝えてください。厳密なツール使用はJSON Schemaのサブセットを受け付けるため、strict: trueを追加する前に各ツールのinput_schemaを確認してください。スキーマ内のすべてのオブジェクトでadditionalProperties: falseを設定する必要があります。JSON Schemaの制限を参照してください。強制ツール使用はサポートされていないを参照してください。
変更前。Claude Opus 5はこのリクエストを受け付けますが、Claude Opus 5.5は400エラーで拒否します:
client.messages.create(
model="claude-opus-5",
max_tokens=1024,
tools=tools,
tool_choice={"type": "tool", "name": "get_weather"},
messages=[{"role": "user", "content": "What's the weather in Paris?"}],
)変更後:
client.messages.create(
model="claude-opus-5-5",
max_tokens=1024,
# 厳格なツール使用: すべての呼び出しがツールの input_schema に一致します
tools=[{**tool, "strict": True} for tool in tools],
tool_choice={"type": "auto"},
messages=[
{
"role": "user",
"content": "What's the weather in Paris? Use the get_weather tool.",
}
],
)思考ブロックはモデルと会話に紐づいている
Claude APIでは、Claude Fable 5.1とClaude Mythos 5.1はClaude Opus 5.5の思考ブロックを読み取りますが、それ以外のモデルは読み取りません。会話をClaude Opus 5.5から他のモデルに移すルーターやフォールバックでは、それらのターンは思考ブロックなしで実行されます。逆方向では、Claude Opus 5.5はClaude Opus 5およびそれ以前のOpus、Sonnet、Haikuモデルの思考ブロックを読み取りますが、Claude FableやClaude Mythosモデルの思考ブロックは読み取りません。ブロックが有効な状態を保つよう、会話は「append-only」(追記のみ)に保ってください(会話の途中でsystemプロンプト、tools、または以前のメッセージを編集しないでください)。Claude Code、claude.ai、Claude Managed Agents、Claude Agent SDKはすでにそのように動作しています。適用ルールはすべてのプラットフォームでClaude Fable 5.1と同じです。2026年8月31日00:00 UTC以降に作成されたアカウントでは、そのような編集の後に思考ブロックを再送すると、デフォルトで400エラーが返されます。追記のみの統合ではコード変更は不要です。思考ブロックはモデルと会話に紐付けられるおよび保持された思考を参照してください。
computer_20251124コンピュータ使用ツールはClaude APIとGoogle Cloudではサポートされていない
Claude APIとGoogle Cloudでは、タイプがcomputer_20251124のtoolsエントリは400エラー('claude-opus-5-5' does not support tool types: computer_20251124.の後に、モデルが受け付けるツールタイプが続きます)を返します。代わりにcomputer_toolset_20260801ツールセットを宣言してください。ベータヘッダーを削除し、nameや表示サイズを指定せずにエントリを送信します。エージェントループでは、メンバーのtool_useブロック(アクションはinput.actionではなくブロックのnameです)を1ターンに複数処理し、すべての結果でtoolset_nameをそのまま返してください。リクエストの変更は以下に示します。エージェントループの変更はcomputer_20251124からの移行に記載されています。Amazon Bedrockでは、以前のcomputer_20251124ツールはClaude Opus 5と同様にClaude Opus 5.5でも引き続き動作するため、変更は不要です。その他のプラットフォームについては、コンピュータ使用ツールの互換性セクションを参照してください。computer_20251124コンピュータ使用ツールはClaude APIとGoogle Cloudではサポートされていないを参照してください。
変更前。Claude Opus 5はこのリクエストを受け付けますが、Claude APIとGoogle Cloudでは、Claude Opus 5.5は400エラーで拒否します:
client.beta.messages.create(
model="claude-opus-5",
max_tokens=4096,
betas=["computer-use-2025-11-24"],
tools=[
{
"type": "computer_20251124",
"name": "computer",
"display_width_px": 1024,
"display_height_px": 768,
}
],
messages=[{"role": "user", "content": "Open the display settings."}],
)変更後:
client.messages.create(
model="claude-opus-5-5",
max_tokens=4096,
# ベータヘッダーは不要です。toolset エントリには名前や表示サイズを指定しません
tools=[{"type": "computer_toolset_20260801"}],
messages=[{"role": "user", "content": "Open the display settings."}],
)ツール呼び出し間のテキストは思考ブロックで返される
Claude Opus 5では、モデルがツール呼び出しの間に書くテキストはtextブロックとして返されます。Claude Opus 5.5では、Claude Fable 5.1と同様に、そのナレーションは進捗更新のthinkingブロックとして、各ツール呼び出しの前に最大1つ返されます。thinking.displayがデフォルトの"omitted"の場合、そのthinkingフィールドは空です。リクエストが失敗することはありませんが、そのテキストを進捗更新としてユーザーにストリーミングしているアプリケーションでは、ツール呼び出しの間に何も表示されなくなります。更新を復元するには、thinkingブロックから読み取り、テキストを返すdisplay値を設定してください。"updates"(ベータ、thinking-display-updates-2026-08-18ヘッダー)は推論を非表示にしたまま進捗更新を返し、"summarized"は両方を混在させて返します。その後、空でない各thinkingブロックを、その直後にあるtool_useブロックの前にレンダリングし、ブロックはアシスタントターンの残りの部分とともに変更せずに返してください。ユーザー向けの進捗更新を参照してください。
安全性分類器とフォールバック
Claude Opus 5.5は、stop_detailsカテゴリとともにstop_reason: "refusal"を返すことがあります。その分類器はClaude Opus 5よりも幅広いカテゴリを対象としているため、"cyber"に加えて"bio"や"reasoning_extraction"などのstop_details.category値が返されることを想定してください。拒否カテゴリの表を参照してください。拒否を処理し、サーバーサイドフォールバックまたは独自のリトライを設定してください(サーバーサイドフォールバックは"reasoning_extraction"で拒否されたリクエストをリトライしません。その拒否はそのまま返されます)。拒否とフォールバックおよびセーフガードによる拒否を参照してください。
推奨される変更
- エフォートのスイープを再実行してください。 Claude Opus 5.5ではエフォートが唯一の思考制御であり、そのデフォルトはClaude Opus 5の
highに対してmediumです。そのため、effortを省略したリクエストはmediumで実行されるようになります。品質が維持される場合はレベルを下げ、最も要求の厳しい作業ではレベルを上げてください。エフォートを参照してください。 - モデル固有のプロンプト指示を再評価してください。 Claude Opus 5の動作に合わせて調整した指示は不要になっている可能性があります。Claude Opus 5.5へのプロンプティングを参照してください。思考を無効にして実行していた場合は、思考無効を前提に書かれたプロンプトも参照してください。
- 本番トラフィックを切り替える前に、開発環境でテストしてください。
Claude Opus 4.8からClaude Opus 5.5への移行
まず、Claude Opus 5.5へのすべてのリクエストが満たす必要がある要件、すべてのレスポンスで思考を処理する、Claude Opus 5からClaude Opus 5.5への移行を確認してください。置き換えるモデルIDとしてclaude-opus-4-8を使用します。最後のセクションは、Claude Opus 4.8上のコードにもそのまま適用されます。Claude Opus 4.8はClaude Opus 5と同様に、次のように動作するためです:
thinking: {"type": "disabled"}、強制的なツール選択、computer_20251124ツールを受け付けます。- ツール呼び出し間のテキストを
textブロックとして返します。 - デフォルトのエフォートは
highです。
このセクションでは、Claude Opus 4.8とClaude Opus 5の間で変更された点を追加で説明します。チェックリストについては、移行チェックリストの最初の2つのグループを参照してください。
変更点
-
思考を省略していたリクエストでも思考が実行される: Claude Opus 4.8では、要求しない限り思考はオフです。Claude Opus 5.5では、
thinkingフィールドのないリクエストは思考ありで実行されるため、すべてのレスポンスで思考を処理するのすべての項目がそのコードにとって変更点となります。コードでthinkingフィールドを一度も送信していなかった場合、思考の変更前と変更後で削除するものはありません。 -
プロンプトキャッシングの最小長の引き下げ: Claude Opus 5.5でキャッシュ可能なプロンプトの最小長は512トークンで、Claude Opus 4.8の1,024トークンから引き下げられました。Claude Opus 4.8では短すぎてキャッシュできなかったプロンプトも、コード変更なしでキャッシュエントリを作成できます。モデルごとの最小長についてはプロンプトキャッシングを参照してください。
-
Priority Tierはサポートされない: Priority TierはClaude Opus 5.5ではサポートされていませんが、Claude Opus 4.8では引き続き利用できます。組織にPriority Tierのコミットメントがある場合は、容量を別途計画してください。
推奨される変更
以下は必須ではありませんが、エクスペリエンスが向上します:
-
タスクバジェット(ベータ)を検討する: エージェント型ワークロードでは、タスクバジェットによって、エージェントループ全体で使用できるトークン数をモデルに伝えられます。
task-budgets-2026-03-13ベータヘッダーが必要です。 -
会話途中のツール変更(ベータ)を検討する: 会話途中のツール変更を使用すると、以前のターンでのプロンプトキャッシングのヒットを無効にすることなく、会話のターン間でツールを追加または削除できます。
tools配列自体を変更すると、キャッシュされたプレフィックスは無効になります。Claude APIでは、inline-tools-2026-09-15ベータヘッダーを送信してください。以前のmid-conversation-tool-changes-2026-07-01ヘッダーも、Claude API、Amazon Bedrock、Google Cloudで、参照によってツールを指定する変更に対して引き続き機能します。
Claude Opus 4.7からClaude Opus 5.5への移行
まず、Claude Opus 5.5へのすべてのリクエストが満たす必要がある要件、すべてのレスポンスで思考を処理する、Claude Opus 5からClaude Opus 5.5への移行、Claude Opus 4.8からClaude Opus 5.5への移行を確認してください。置き換えるモデルIDとしてclaude-opus-4-7を使用します。これらのセクションは、Claude Opus 4.7上のコードにもそのまま適用されます。Claude Opus 4.8と同様に、Claude Opus 4.7はthinking: {"type": "disabled"}、強制的なツール選択、computer_20251124ツールを受け付けます。デフォルトのエフォートはhighで、要求しない限り思考なしで実行されます。
このセクションでは、Claude Opus 4.7以降に変更された点を追加で説明します。コードがClaude Opus 4.6以前で動作している場合は、このセクションの後にClaude Opus 4.6以前のOpusモデルからClaude Opus 5.5への移行に進んでください。そこでは、Claude Opus 4.7で導入された破壊的変更を追加で説明しています。チェックリストについては、移行チェックリストの最初の3つのグループを参照してください。
変更点
これらの項目はいずれも、前のセクションの破壊的変更に新たな破壊的変更を加えるものではありませんが、モデルIDを切り替えた後に確認する価値があります。
-
エフォートレベルの再調整: 各エフォートレベルの背後にあるトークン配分は、Claude Opus 4.7と比べてClaude Opus 5.5で変更されています。デフォルトは
mediumですが、Claude Opus 4.7のデフォルトはhighです。Claude Opus 4.7向けに調整された設定を引き継ぐのではなく、独自の評価でエフォートのスイープを新たに実行してください。エフォートを参照してください。 -
100万トークンのコンテキストウィンドウがデフォルト: Claude Opus 5.5は、ベータヘッダーなしでデフォルトで100万トークンのコンテキストウィンドウ全体を提供します。古いモデルとの互換性のためにクライアントがコンテキストウィンドウ用のベータヘッダーを渡している場合は、削除してください。
-
会話途中のシステムメッセージ: Claude API、Amazon Bedrock、Google Cloudでは、Claude Opus 5.5は
messages配列内のユーザーターンの直後にrole: "system"メッセージを受け付けます(配置ルールに従います)。最初から適用される指示には、トップレベルのsystemフィールドを使用してください。Claude Opus 4.7は、messages内のrole: "system"を400エラーで拒否します。指示を更新するためにメッセージ履歴全体を再構築するコードパスを保守している場合は、それを簡素化し、以前のターンでのプロンプトキャッシングのヒットを維持できます。 -
拒否時の停止詳細: モデルがリクエストを拒否すると、Claude Opus 5.5は
refusal停止理由とともに、拒否のカテゴリを示すstop_detailsオブジェクトを返します。Claude Opus 4.7も同じオブジェクトを返すため、これが問題になるのは停止理由の処理でまだそれを読み取っていない場合のみです。ベータヘッダーは不要で、オプトアウトはできません。停止理由の処理でまだ読み取っていない場合は、停止理由の処理を参照してください。Claude Opus 5.5はより多くのカテゴリで拒否します。安全性分類器とフォールバックを参照してください。 -
高速モード: Claude Opus 5.5は、Claude APIで高速モード(リサーチプレビュー)をサポートしています。高速モードはClaude Opus 4.7では利用できず、
speed: "fast"を指定したリクエストはエラーを返します。fast-mode-2026-02-01ベータヘッダーとともにspeed: "fast"を設定してください。 -
コンピュータ使用ツールセットとブラウザ使用ツール: Claude APIとGoogle Cloudでは、Claude Opus 5.5は
computer_toolset_20260801ツールセットとしてのコンピュータ使用と、Webページ内のタスク向けのブラウザ使用ツールをサポートしています。Claude Opus 4.7はどちらもサポートしていません。これらのプラットフォームでは、Claude Opus 5.5は以前のcomputer_20251124ツールを受け付けません。コンピュータ使用の破壊的変更を参照してください。
Claude Opus 4.6以前のOpusモデルからClaude Opus 5.5への移行
まず、前のすべてのセクションをページの順序どおりに確認してください。対象は、Claude Opus 5.5へのすべてのリクエストが満たす必要がある要件、すべてのレスポンスで思考を処理する、およびClaude Opus 5、Claude Opus 4.8、Claude Opus 4.7のセクションです。これらのセクションは、Claude Opus 4.6上のコードにもそのまま適用されます。Claude Opus 4.7と同様に、Claude Opus 4.6はthinking: {"type": "disabled"}、強制的なツール選択、computer_20251124ツールを受け付けます。デフォルトのエフォートはhighで、要求しない限り思考なしで実行されます。Claude Opus 4.5以前のOpusモデルもthinking: {"type": "disabled"}と強制的なツール選択を受け付け、要求しない限り思考なしで実行されるため、これらのセクションはそれらのモデルにも適用されます。
このセクションでは、置き換えるモデルIDをclaude-opus-4-6として、Claude Opus 4.7で変更された点を追加で説明します。その2つのサブセクションでは、Claude Opus 4.5以前およびClaude 4.1以前を使用している読者向けに、それ以前に変更された点を追加で説明します。チェックリストについては、移行チェックリストの、使用しているモデルが記載されたグループまでを参照してください。
破壊的変更
-
拡張思考の削除:
thinking: {"type": "enabled", "budget_tokens": N}はClaude Opus 4.7以降のモデルではサポートされなくなり、400エラーを返します。adaptive thinking(適応型思考)(thinking: {"type": "adaptive"})に切り替え、エフォートパラメータで思考の深さを制御してください。Claude Opus 5.5では、適応型思考は常に有効です。thinking: {"type": "adaptive"}は有効な指定であり、thinkingフィールドを完全に省略した場合と同じ動作になります。変更前(Claude Opus 4.6):
client.messages.create( model="claude-opus-4-6", max_tokens=16000, thinking={"type": "enabled", "budget_tokens": 10000}, messages=[{"role": "user", "content": "..."}], )変更後(Claude Opus 5.5)。モデルID、
thinking、output_configの行が異なります:client.messages.create( model="claude-opus-5-5", max_tokens=16000, thinking={"type": "adaptive"}, output_config={"effort": "high"}, # or "max", "xhigh", "medium", "low" messages=[{"role": "user", "content": "..."}], )適応型思考は、プロンプトとエフォートパラメータによって調整できます。モデルの推論量を制御する手段としては、思考予算(thinking budget)に代わってエフォートパラメータを使用します。
budget_tokensの値をそのまま置き換えるのではなく、独自の評価(eval)でエフォートレベルを変えながら比較してください。各レベルの使い分けはエフォートレベルの表で、このモデルについてはClaude Opus 5.5の推奨エフォートレベルで説明しています。 -
サンプリングパラメータの削除: Claude Opus 5.5を含むClaude Opus 4.7以降のモデルで、
temperature、top_p、top_kのいずれかをデフォルト以外の値に設定すると、400エラーが返されます。Python SDK(v1.0以降)ではこれらのパラメータが定義されておらず、渡すとTypeErrorが発生します。最も安全な移行方法は、リクエストペイロードからこれらのパラメータを完全に省略することです。Claude Opus 5.5でモデルの動作を誘導するには、プロンプトで指示する方法を推奨します。決定性を得るためにtemperature = 0を使用していた場合でも、以前のモデルで同一の出力が保証されていたわけではない点に注意してください。 -
思考内容がデフォルトで省略: Claude Opus 4.7以降のモデルでも、思考ブロックはレスポンスストリームに引き続き含まれます。ただし、明示的にオプトインしない限り、その
thinkingフィールドは空になります。Claude Opus 4.6ではデフォルトで要約された思考テキストが返されていたため、これはエラーを伴わない変更です。要約テキストを再び受け取るには、すべてのレスポンスで思考を処理するの項目4を参照してください。 -
トークンカウントの更新: Claude Opus 4.7では新しいトークナイザーが導入され、Claude Opus 5.5を含む以降のOpusモデルでも使用されています。このトークナイザーは幅広いタスクでのパフォーマンス向上に寄与します。一方で、Claude Opus 4.7より前のモデルと比べて、テキスト処理時に約1倍から1.35倍のトークンを使用する場合があります(最大約35%増加し、増加幅はコンテンツによって異なります)。
/v1/messages/count_tokensは、Claude Opus 5.5に対してClaude Opus 4.6とは異なるトークン数を返します。トークン効率はワークロードの特性によって異なる場合があります。max_tokensパラメータを更新して、コンパクション(compaction)のトリガーも含めて余裕を持たせてください。また、クライアント側でトークン数を推定するコードパスや、トークンと文字の比率を固定値と想定しているコードパスは再テストしてください。検証にはトークンカウントエンドポイントを使用してください。プロンプトによる調整、task_budget、effortはコストの制御に役立ちますが、これらの制御によってモデルの知能が低下する場合があります。 -
プリフィルの削除(Claude Opus 4.6ですでに適用済み): アシスタントメッセージのプリフィル(prefill)は、Claude Opus 5.5を含むClaude Opus 4.6以降のOpusモデルで400エラーを返します。そのため、この変更が影響するのはClaude Opus 4.5以前から移行する場合のみです。代わりに構造化出力、システムプロンプトでの指示、または
output_config.formatを使用してください。
動作の変更
Claude Opus 4.7では、Claude Opus 4.6からいくつかの動作上の違いが導入されました。これらはAPIの破壊的変更ではありません。このうち次の3つは、コードやスキャフォールディングに影響します:
-
エージェントトレースにおける組み込みの進捗更新: Claude Opus 4.7は、長いエージェントトレースの間、より頻繁かつ質の高い進捗更新をユーザーに提供します。中間ステータスメッセージを強制するスキャフォールディング(「ツール呼び出し3回ごとに進捗を要約する」など)を追加している場合は、削除を検討してください。Claude Opus 5.5では、これらの更新は
thinkingブロックで返されますが、thinking.displayがデフォルトのままだと空になります。更新を受け取るには、ツール呼び出し間のテキストは思考ブロックで返されるを参照してください。更新の長さや内容を調整するには、ユーザー向けの進捗更新を参照してください。 -
リアルタイムのサイバーセキュリティ保護措置: Claude Opus 4.7で新たに追加された保護措置により、禁止されたトピックや高リスクのトピックを含むリクエストが拒否される場合があります。ペネトレーションテスト、脆弱性調査、レッドチーミングなどの正当なセキュリティ業務を行う場合は、Cyber Verification Programに申請して制限の緩和をリクエストしてください。申請方法は、Claudeへのアクセス方法によって異なります。
-
高解像度画像のサポート: Claude Opus 4.7は、高解像度画像をサポートする最初のClaudeモデルです。最大画像解像度は長辺2,576ピクセルで、以前のモデルの1,568ピクセルから引き上げられました。これにより、画像を多用するワークロードでの性能が向上します。特に、コンピュータ使用、スクリーンショットの理解、ドキュメント分析で効果を発揮します。
高解像度サポートは自動であり、ベータヘッダーやクライアント側のオプトインは不要です。計画しておくべき点が2つあります。
- フル解像度の画像は、以前のモデルと比べて最大約3倍の画像トークンを使用する可能性があります(画像あたり最大4,784トークン。以前の上限は画像あたり約1,600トークン)。画像を多用するワークロードでは
max_tokensとコストの見込みを再計画するか、追加の忠実度が不要な場合は送信前にダウンサンプリングしてください。 - モデルが返すポインティング座標とバウンディングボックス座標は、Claude Opus 4.7では実際の画像ピクセルと1:1で対応するため、スケールファクターの変換は不要です。
詳細については、Claude Opus 4.7での高解像度画像サポートを参照してください。
- フル解像度の画像は、以前のモデルと比べて最大約3倍の画像トークンを使用する可能性があります(画像あたり最大4,784トークン。以前の上限は画像あたり約1,600トークン)。画像を多用するワークロードでは
プロンプト側の違いについては、Claude Opus 5.5へのプロンプティングおよびプロンプトのベストプラクティスを参照してください。
Claude Opus 4.5以前からの移行
Claude Opus 4.5、Claude Opus 4.1、またはそれ以前のモデルからClaude Opus 5.5に直接移行する場合は、このページを先頭から読んでください。まず、これより前のすべてのセクションをページの順に進めます。次に、このセクションの前半にあるClaude Opus 4.6からの移行における破壊的変更を進めます。最後に、Claude Opus 4.5からClaude Opus 4.7までの間に導入された以下の変更をまとめて適用します。Claude Opus 4.1以前を使用している場合は、このサブセクションの後にClaude 4.1以前からの移行に進んでください。
破壊的変更
-
プリフィルの削除については、Claude Opus 4.6からの移行における破壊的変更で説明しています。
-
ツールパラメータの引用符処理: Claude Opus 4.6以降のモデルは、ツール呼び出し引数においてわずかに異なるJSON文字列エスケープを生成する場合があります(たとえば、Unicode エスケープやスラッシュのエスケープの処理が異なる)。ツール呼び出しの
inputをJSONパーサーを使用せずに生の文字列として解析している場合は、解析ロジックを検証してください。標準のJSONパーサー(json.loads()やJSON.parse()など)は、これらの違いを自動的に処理します。
推奨される変更
最初の項目はClaude Opus 5.5では必須で、残りは推奨です。
-
適応型思考への移行(必須):
thinking: {"type": "enabled", "budget_tokens": N}は、Claude Opus 4.7以降のモデルで400エラーを返します。変更前と変更後のコード例は、Claude Opus 4.6からの移行における破壊的変更の項目1にあります。この移行に合わせて、client.beta.messages.createをclient.messages.createに置き換えてください。適応型思考とエフォートには、ベータSDKの名前空間もベータヘッダーも不要です。 -
エフォートのベータヘッダーの削除: エフォートパラメータにはベータヘッダーは不要です。リクエストから
betas=["effort-2025-11-24"]を削除してください。 -
きめ細かいツールストリーミングのベータヘッダーの削除: きめ細かいツールストリーミングにはベータヘッダーは不要です。リクエストから
betas=["fine-grained-tool-streaming-2025-05-14"]を削除してください。 -
インターリーブ思考のベータヘッダーの削除: 適応型思考を使用する場合、適応型思考をサポートするすべてのモデルで「interleaved thinking」(インターリーブ思考)が自動的に有効になります。リクエストから
betas=["interleaved-thinking-2025-05-14"]を削除してください。 -
output_config.formatへの移行: 構造化出力を使用している場合は、
output_format={...}をoutput_config={"format": {...}}に更新してください。output_formatパラメータは非推奨であり、将来削除される予定です。それでも使用する場合は、structured-outputs-2025-11-13ベータヘッダーを追加してください。このヘッダーがない場合、APIは400エラーを返します。Python SDK(v1.0以降)では、client.beta.messages.create()とcount_tokens()でoutput_format={...}を指定できません。parse()ヘルパーとstream()ヘルパーのoutput_format=Model引数は変更されていません。
Claude 4.1以前からの移行
Claude Opus 4.1以前のモデルからClaude Opus 5.5に直接移行する場合は、まずClaude Opus 4.5以前からの移行の内容をすべて適用してください。そのサブセクションでは、これより前のすべてのセクションを先に進めるよう案内しているため、実質的にこのページを先頭から読むことになります。その後、このサブセクションの追加の変更を適用してください。
追加の破壊的変更
-
サンプリングパラメータの削除: サンプリングパラメータの削除で説明しています。
-
ツールバージョンの更新
現在のツールバージョンに更新してください。
undo_editコマンドを使用しているコードはすべて削除してください。# 変更前 tools = [{"type": "text_editor_20250124", "name": "str_replace_editor"}] # 変更後 tools = [{"type": "text_editor_20250728", "name": "str_replace_based_edit_tool"}]- テキストエディタ:
text_editor_20250728とstr_replace_based_edit_toolを使用してください。詳細については、テキストエディタツールのドキュメントを参照してください。 - コード実行:
code_execution_20260521にアップグレードしてください。移行手順については、コード実行ツールのドキュメントを参照してください。 - コンピュータ使用: Claude APIおよびGoogle Cloudでは、Claude Opus 5.5はコンピュータ使用を
computer_toolset_20260801ツールセットとしてのみ受け付けます。これらの環境では、以前のcomputer_20250124およびcomputer_20251124ツールは拒否されます。コンピュータ使用の破壊的変更を参照してください。
- テキストエディタ:
-
refusal停止理由の処理refusal停止理由を処理するようにアプリケーションを更新してください。response = client.messages.create(...) if response.stop_reason == "refusal": # 拒否を適切に処理する pass -
model_context_window_exceeded停止理由の処理Claude 4.5以降のモデルは、リクエストで指定した
max_tokensの上限ではなく、コンテキストウィンドウの上限に達して生成が停止した場合に、model_context_window_exceeded停止理由を返します。この新しい停止理由を処理するようにアプリケーションを更新してください:response = client.messages.create(...) if response.stop_reason == "model_context_window_exceeded": # コンテキストウィンドウの上限を適切に処理する pass -
ツールパラメータ処理の検証(末尾の改行)
以前のモデルでは、ツール呼び出しの文字列パラメータの末尾の改行が削除されていましたが、Claude 4.5以降のモデルではこれが保持されます。ツールがツール呼び出しパラメータとの文字列の完全一致に依存している場合は、末尾の改行が正しく処理されることを確認してください。
-
動作の変更に合わせたプロンプトの更新
Claude 4以降のモデルは、より簡潔で直接的なコミュニケーションスタイルを持ち、明示的な指示を必要とします。最適化のガイダンスについては、プロンプトのベストプラクティスを確認してください。
追加の推奨される変更
- レガシーベータヘッダーの削除:
token-efficient-tools-2025-02-19とoutput-128k-2025-02-19を削除してください。Claude 4以降のすべてのモデルにはトークン効率の高いツール使用が組み込まれているため、これらのヘッダーは効果がありません。
Claude Sonnet 5からClaude Opus 5.5への移行
Claude Opus 5.5へのすべてのリクエストが満たす必要がある要件、すべてのレスポンスで思考を処理する、Claude Opus 5からClaude Opus 5.5への移行を順に進めてください。その際、置き換え対象のモデルIDは claude-sonnet-5 と読み替えてください。Claude Sonnet 5はClaude Opus 5と同様に次の特徴を持つため、最後のセクションの内容はClaude Sonnet 5向けのコードにもそのまま当てはまります:
- デフォルトで思考が有効な状態で動作し、
thinking: {"type": "disabled"}を受け付けます(Claude Sonnet 5の場合は、どのエフォートレベルでも受け付けます)。 - 強制的なツール選択と
computer_20251124ツールを受け付けます。 - ツール呼び出し間のテキストを
textブロックとして返します。 - エフォートのデフォルトは
highです。
手動の拡張思考、デフォルト以外のサンプリングパラメータ、アシスタントのプリフィルは、どちらのモデルでも400エラーを返すため、これらの点に変更はありません。Claude Opus 4.8、Claude Opus 4.7、Claude Opus 4.6の各セクションにある必須の変更は、いずれも該当しません。
変更点
-
会話途中のシステムメッセージ: Claude API、Amazon Bedrock、Google Cloudでは、Claude Opus 5.5は
messages配列内のユーザーターンの直後にrole: "system"メッセージを配置できます(配置ルールに従う必要があります)。この機能はClaude Sonnet 5では利用できません。指示を更新するためにメッセージ履歴全体を再構築するコードパスがある場合は、それを簡素化できます。また、以前のターンでプロンプトキャッシングのキャッシュヒットを維持できます。 -
プロンプトキャッシングの最小長の引き下げ: Claude Opus 5.5でキャッシュ可能なプロンプトの最小長は512トークンで、Claude Sonnet 5の1,024トークンから引き下げられました。Claude Sonnet 5では短すぎてキャッシュできなかったプロンプトでも、コードを変更せずにキャッシュエントリを作成できます。モデルごとの最小長については、プロンプトキャッシングを参照してください。
Was this page helpful?