Claude Sonnet 5への移行
以前のClaudeモデルからClaude Sonnet 5への移行:モデルID、破壊的変更、移行チェックリスト。
Claude Sonnet 5は、Claudeモデルファミリーの中で速度と知能の最良の組み合わせを提供します。Claude Sonnet 4.6をベースに構築されています。
Claude Sonnet 5はClaude Sonnet 4.6のドロップイン・アップグレードであり、価格は入力/出力トークン100万あたり$2/$10 USDです。詳細は価格を参照してください。すでにClaude Sonnet 4.6で動作しているコードに対しては、2つの破壊的なAPI変更があります。1つ目は、adaptive thinking(アダプティブ思考)がデフォルトでオンになり、手動の「extended thinking」(拡張思考)(thinking: {type: "enabled", budget_tokens: N})は400エラーを返すことです。そのため、思考なしで実行されていたリクエストが最初のtextブロックの前にthinkingブロックを返す可能性があり、位置によってコンテンツを読み取るコードはtypeによってコンテンツブロックを選択する必要があります。2つ目は、サンプリングパラメータ(temperature、top_p、top_k)をデフォルト以外の値に設定すると400エラーが返されることです。思考の深さを制御するには、effortパラメータとともにアダプティブ思考を使用してください。Claude Sonnet 5はClaude Sonnet 4.6と同じ機能セットをサポートしており、1Mトークンのコンテキストウィンドウ、アダプティブ思考、プロンプトキャッシング、バッチ処理、Files API、PDFサポート、ビジョン、およびサーバーサイドとクライアントサイドのツール一式が含まれます。Claude APIおよびGoogle Cloudでは、Claude Sonnet 5は安定版のcomputer_toolset_20260801ツールセットとしてのコンピュータ使用と、ウェブページ内のタスク向けのブラウザ使用ツールもサポートしています。これらはいずれもClaude Sonnet 4.6ではサポートされていません。以前のcomputer_20251124バージョンを使用した既存の統合は、両方のモデルで変更なく引き続き動作します。既存の統合をアップグレードするには、computer_20251124からの移行を参照してください。Priority TierはClaude Sonnet 5では利用できません。また、Claude Sonnet 5は新しいトークナイザーを使用します。
Claude Sonnet 4.6からClaude Sonnet 5への移行
モデル名を更新する
# Sonnetへの移行
model = "claude-sonnet-4-6" # Before
model = "claude-sonnet-5" # After変更点
以下のリストの項目4と5は破壊的変更です。max_tokensは引き続き総出力(思考と応答テキストの合計)に対するハードリミットであるため、Claude Sonnet 4.6で思考なしで実行していたワークロードについては見直してください。
-
新しいトークナイザー: Claude Sonnet 5は新しいトークナイザーを使用します。同じ入力テキストでも、Claude Sonnet 4.6と比べて約30%多くのトークンが生成されます。正確な増加量はコンテンツによって異なります。リクエスト、レスポンス、ストリーミングイベントの形式は同じままで、コードの変更は必要ありませんが、トークン単位で測定または予算化しているものはすべて変動します。同じテキストに対する
usageフィールドとトークンカウントの結果は大きくなり、1Mトークンのコンテキストウィンドウに収まるテキスト量は少なくなり、Claude Sonnet 4.6向けに調整されたmax_tokensの上限では同等の出力が切り捨てられる可能性があります。トークンあたりの価格は低くなっています(Claude Sonnet 4.6の入力/出力トークン100万あたり$3/$15 USDに対して$2/$10 USD)が、同等のリクエストのコストが正比例して下がるわけではありません。以前のモデルで測定したカウントを再利用するのではなく、Claude Sonnet 5に対してトークンカウントを再実行してください。 -
最大出力トークン128k(変更なし): Claude Sonnet 5はClaude Sonnet 4.6と同じく、最大128kの出力トークンをサポートします。既存の
max_tokensの値は引き続き有効です。サイズを決める際には新しいトークナイザーを考慮してください。 -
アシスタントメッセージのプリフィル(変更なし): アシスタントメッセージのプリフィルは、Claude Sonnet 4.6と同様にClaude Sonnet 5でも
400エラーを返します。Claude Sonnet 4.6への移行時にプリフィルを削除済みであれば、追加の変更は必要ありません。代わりに構造化出力、システムプロンプトの指示、またはoutput_config.formatを使用してください。 -
アダプティブ思考がデフォルトでオン: Claude Sonnet 4.6では、
thinkingフィールドのないリクエストは思考なしで実行されます。Claude Sonnet 5では、同じリクエストがアダプティブ思考ありで実行されます。思考をオフにするには、thinking: {type: "disabled"}を渡してください。手動の拡張思考(thinking: {type: "enabled", budget_tokens: N})はサポートされておらず、400エラーを返します。思考の深さを制御するにはeffortパラメータ(デフォルトはhigh)を使用してください。思考がオンの場合、レスポンスは最初の
textブロックの前に1つ以上のthinkingブロックで始まることがあり、デフォルトのdisplay: "omitted"では空のthinkingフィールドとともに返されます。content[0].textのように位置によって応答を読み取るコードや、最初のコンテンツブロックをテキストとして扱うストリームハンドラーは、代わりにtypeフィールドによってコンテンツブロックを選択する必要があります。また、ツール使用ループではthinkingブロックをツール結果とともに完全かつ変更なしで返す必要があります(思考ブロックの保持を参照)。思考テキストが返されない場合でも、思考トークンは出力トークンとして課金されます。Claude Sonnet 4.6で思考を使用し、返された思考テキストを表示していた場合、thinking.displayはそこではデフォルトで"summarized"でしたが、Claude Sonnet 5ではデフォルトで"omitted"になることに注意してください。読みやすい要約を引き続き受け取るには、以下の例のようにdisplay: "summarized"を設定してください(思考表示の制御を参照)。client = anthropic.Anthropic() response = client.messages.create( model="claude-sonnet-5", max_tokens=16000, thinking={"type": "adaptive", "display": "summarized"}, output_config={"effort": "high"}, messages=[ { "role": "user", "content": "Are there an infinite number of prime numbers such that n mod 4 == 3?", } ], ) # レスポンスには要約された思考ブロックとテキストブロックが含まれます for block in response.content: match block.type: case "thinking": print(f"\nThinking summary: {block.thinking}") case "text": print(f"\nResponse: {block.text}") -
サンプリングパラメータの削除: サンプリングパラメータ(
temperature、top_p、top_k)をデフォルト以外の値に設定すると受け付けられず、400エラーを返します。 -
サイバーセキュリティ保護措置: Claude Sonnet 5は、リアルタイムのサイバーセキュリティ保護措置を備えた最初のSonnetクラスのモデルです。禁止されている、または高リスクのサイバーセキュリティトピックに関わるリクエストは拒否される場合があります。拒否はエラーではなく、
stop_reason: "refusal"を伴う成功したHTTP 200レスポンスとして返されます。保護措置がブロックする内容と、正当なセキュリティ業務がCyber Verification Programに申請する方法については、Claude OpusおよびSonnetにおけるリアルタイムのサイバー保護措置を参照してください。
移行チェックリスト
- モデル名を
claude-sonnet-4-6からclaude-sonnet-5に更新します。 - Claude Sonnet 5に対してトークンカウントを再実行します。新しいトークナイザーは同じテキストに対して約30%多くのトークンを生成するため、トークンあたりの価格が低くてもリクエストあたりのコストが変わる可能性があります。正確な増加量はコンテンツとワークロードの形状によって異なります。
- 想定される出力長に近いサイズに設定された
max_tokensの上限を見直し、有用な場合は最大128k(Claude Sonnet 4.6から変更なし)まで引き上げます。 thinking: {type: "enabled", budget_tokens: N}の設定を削除します(400エラーを返します)。アダプティブ思考はデフォルトでオンです。オフにするには{type: "disabled"}を渡すか、effortパラメータを使用して深さを制御します。content[0].textのように位置によってコンテンツを読み取るレスポンス解析を更新します。思考がオンの場合、thinkingブロックはtextブロックの前に届きます。代わりにtypeによってコンテンツブロックを選択し、ツール使用ループではthinkingブロックを変更せずに返してください。変更されたブロックは400エラーを返します。thinkingフィールドを解析するコードが、それを表示用テキストとしてのみ扱っていることを確認します。Claude Sonnet 5ではthinking.displayのデフォルトは"omitted"(Claude Sonnet 4.6ではデフォルトで"summarized"でした)であるため、思考ブロックは空のthinkingフィールドとともに届きます。読みやすい要約を受け取るにはdisplay: "summarized"を設定してください。思考表示の制御を参照してください。- デフォルト以外の値に設定された
temperature、top_p、top_kパラメータを削除します(Claude Sonnet 5では400エラーを返します)。 - ワークロードがサイバーセキュリティトピックに触れる可能性がある場合は、
stop_reason: "refusal"の処理を追加します。 - 本番デプロイの前に、典型的なワークロードでコストのベースラインを再測定します。
- 以前は思考なしで実行していたワークロードについて
max_tokensを見直します。
Claude Sonnet 4.5以前のSonnetモデルからClaude Sonnet 5への移行
Claude Sonnet 4.5以前のSonnetモデルからClaude Sonnet 5に直接移行する場合は、Claude Sonnet 4.6からClaude Sonnet 5への移行の変更に加えて、このセクションの変更を適用してください。
破壊的変更
Sonnet 4.5から移行する場合
-
アシスタントメッセージのプリフィルはサポートされなくなりました
アシスタントメッセージのプリフィルは、Claude Sonnet 5を含むClaude Sonnet 4.6以降のモデルで
400エラーを返します。代わりに構造化出力、システムプロンプトの指示、またはoutput_config.formatを使用してください。一般的なプリフィルのユースケースと移行方法:
-
出力フォーマットの制御(JSON/YAML出力の強制):構造化出力を使用するか、分類タスクにはenumフィールドを持つツールを使用します。
-
前置きの排除(「Here is...」のようなフレーズの削除):システムプロンプトに直接的な指示を追加します:「前置きなしで直接応答してください。'Here is...'、'Based on...'などのフレーズで始めないでください。」
-
不適切な拒否の回避: Claudeは現在、適切な拒否がはるかに上手になっています。プリフィルなしでユーザーメッセージに明確なプロンプトを記述すれば十分なはずです。
-
継続(中断された応答の再開):継続をユーザーメッセージに移します:「前回の応答は中断され、
[previous_response]で終わりました。中断したところから続けてください。」 -
コンテキストのハイドレーション / 役割の一貫性(長い会話でのコンテキストの更新):以前はプリフィルされたアシスタントのリマインダーだったものを、代わりにユーザーターンに挿入します。
-
-
ツールパラメータのJSONエスケープが異なる場合があります
ツールパラメータ内のJSON文字列のエスケープは、以前のモデルと異なる場合があります。標準的なJSONパーサーはこれを自動的に処理しますが、カスタムの文字列ベースの解析は更新が必要になる場合があります。
拡張思考の変更: Claude Sonnet 4.5のbudget_tokens設定(thinking: {type: "enabled", budget_tokens: N})はClaude Sonnet 5ではサポートされておらず、400エラーを返します。アダプティブ思考はデフォルトでオンであるため、ほとんどのワークロードではthinkingの設定はまったく必要ありません。思考の深さを制御するにはeffortパラメータを使用してください。Claude Sonnet 4.5を拡張思考なしで実行していた場合は、その動作を維持するためにthinking: {type: "disabled"}を渡してください。
Claude 3.xから移行する場合
-
サンプリングパラメータを削除する
サンプリングパラメータ(
temperature、top_p、top_k)をデフォルト以外の値に設定すると、Claude Sonnet 5では400エラーを返します。リクエストからこれらを削除し、代わりにプロンプトを使用してモデルの動作を誘導してください。 -
ツールバージョンを更新する
最新のツールバージョン(
text_editor_20250728、code_execution_20260521)に更新してください。undo_editコマンドを使用しているコードはすべて削除してください。 -
refusal停止理由を処理するrefusal停止理由を処理するようにアプリケーションを更新してください。 -
動作の変更に合わせてプロンプトを更新する
Claude 4モデルは、より簡潔で直接的なコミュニケーションスタイルを持っています。最適化のガイダンスについては、プロンプトのベストプラクティスを確認してください。
Claude Haiku 4.5からClaude Sonnet 5への移行
Claude Haiku 4.5とClaude Sonnet 5は、同じクラス内の隣接するモデル同士よりもAPIレベルでの違いが大きくなっています。Claude Haiku 4.5は手動の拡張思考(デフォルトでオフ)、200kトークンのコンテキストウィンドウ、最大64kの出力トークンを使用しますが、Claude Sonnet 5はアダプティブ思考がデフォルトでオンの状態で実行され、デフォルトで1Mトークンのコンテキストウィンドウを提供し、最大128kの出力トークンをサポートします。
モデル名を更新する
model = "claude-haiku-4-5-20251001" # Before
model = "claude-sonnet-5" # After変更点
-
思考の設定: Claude Haiku 4.5は手動の拡張思考(
thinking: {type: "enabled", budget_tokens: N})をサポートし、thinking: {type: "adaptive"}を拒否します。Claude Sonnet 5ではサポートが逆になります。アダプティブ思考がデフォルトでオンであり、手動の拡張思考は400エラーを返します。thinking: {type: "enabled", budget_tokens: N}の設定を削除してデフォルトに依存するか、思考をオフにするにはthinking: {type: "disabled"}を渡してください。budget_tokensに直接の代替はありません。思考の深さを制御するにはeffortパラメータを使用してください。effortはClaude Haiku 4.5では利用できず、Claude Sonnet 5ではデフォルトでhighです。Claude Haiku 4.5の両方の種類のリクエストでレスポンスの形式が変わります。拡張思考なしで実行されていたリクエストは、最初の
textブロックの前に1つ以上のthinkingブロックを返す可能性があるため、content[0].textのように位置によって応答を読み取るコードは、代わりにtypeフィールドによってコンテンツブロックを選択する必要があります。また、ツール使用ループではthinkingブロックをツール結果とともに完全かつ変更なしで返す必要があります(思考ブロックの保持を参照)。拡張思考を使用していたリクエストは引き続きthinkingブロックを受け取りますが、Claude Sonnet 5ではthinking.displayのデフォルトが"summarized"ではなく"omitted"であるため、それらのブロックは空のthinkingフィールドとともに届きます。読みやすい要約を引き続き受け取るにはdisplay: "summarized"を設定してください(思考表示の制御を参照)。思考テキストが返されない場合でも、思考トークンは出力トークンとして課金されます。 -
サンプリングパラメータの削除:
temperatureとtop_pはClaude Haiku 4.5で動作します(一度にどちらか一方のみで、両方は不可)。Claude Sonnet 5では、temperature、top_p、またはtop_kをデフォルト以外の値に設定すると400エラーを返します。これらのパラメータを削除し、プロンプトを使用してモデルの動作を誘導してください。 -
アシスタントプリフィルの削除: アシスタントメッセージのプリフィルはClaude Haiku 4.5では動作しますが、Claude Sonnet 5では400エラーを返します。代わりに構造化出力、システムプロンプトの指示、または
output_config.formatを使用してください。 -
より大きなコンテキストウィンドウと出力: Claude Sonnet 5はデフォルトで1Mトークンのコンテキストウィンドウを提供し(Claude Haiku 4.5の200kトークンから増加)、最大128kの出力トークンをサポートします(64kから増加)。Claude Sonnet 5は異なるトークナイザーも使用するため、Claude Haiku 4.5で測定したカウントを再利用するのではなく、トークンカウントを再実行してください。
-
価格: Claude Haiku 4.5の価格は入力/出力トークン100万あたり$1/$5 USDです。Claude Sonnet 5の価格は入力/出力トークン100万あたり$2/$10 USDです。Claudeの価格を参照してください。
-
サイバーセキュリティ保護措置: Claude Sonnet 5はリアルタイムのサイバーセキュリティ保護措置を備えています。禁止されている、または高リスクのサイバーセキュリティトピックに関わるリクエストは拒否される場合があり、
stop_reason: "refusal"を伴う成功したHTTP 200レスポンスとして返されます。保護措置がブロックする内容と、正当なセキュリティ業務がCyber Verification Programに申請する方法については、Claude OpusおよびSonnetにおけるリアルタイムのサイバー保護措置を参照してください。
移行チェックリスト
- モデル名を
claude-haiku-4-5-20251001(またはclaude-haiku-4-5エイリアス)からclaude-sonnet-5に更新します。 thinking: {type: "enabled", budget_tokens: N}の設定を削除します(400エラーを返します)。アダプティブ思考はデフォルトでオンです。思考なしの動作を維持するにはthinking: {type: "disabled"}を渡し、思考なしで実行していたワークロードについてはmax_tokensを見直してください。content[0].textのように位置によってコンテンツを読み取るレスポンス解析を更新します。思考がオンの場合、thinkingブロックはtextブロックの前に届きます。代わりにtypeによってコンテンツブロックを選択し、ツール使用ループではthinkingブロックを変更せずに返してください。変更されたブロックは400エラーを返します。- UIで思考コンテンツを表示している場合は、
display: "summarized"を設定してください。Claude Sonnet 5ではthinking.displayのデフォルトは"omitted"であるため、設定しない場合、思考ブロックは空のthinkingフィールドとともに届きます。思考表示の制御を参照してください。 - 思考の深さとトークン消費を制御するにはeffortパラメータ(デフォルトは
high)を使用してください。これはClaude Haiku 4.5では利用できないため、引き継がれる既存の設定はありません。 temperatureとtop_pの設定を削除します(デフォルト以外の値はClaude Sonnet 5で400エラーを返します)。- アシスタントメッセージのプリフィルをすべて削除します(Claude Sonnet 5では400エラーを返します)。
- Claude Sonnet 5に対してトークンカウントを再実行し、
max_tokensの上限を見直してください。上限は最大128kまで引き上げることができます。 - ワークロードがサイバーセキュリティトピックに触れる可能性がある場合は、
stop_reason: "refusal"の処理を追加します。 - 本番デプロイの前に、典型的なワークロードでコストのベースラインを再測定してください。トークンあたりの価格が異なります。
Was this page helpful?