Amazon Bedrock で Claude Opus 5 が利用可能になったので Converse API で試してみた
はじめに
2026年7月24日、Anthropic が Claude Opus 5 をリリースしました。Amazon Bedrock でも即日利用可能になっています。
Opus 5 では Extended Thinking のパラメータ仕様が変更されており、Opus 4.8 までの指定方法では呼び出しに失敗します。
| 項目 | Opus 4.8 | Opus 5 |
|---|---|---|
| パラメータ | "thinking": {"type": "enabled", "budget_tokens": N} |
"thinking": {"type": "adaptive"}, "output_config": {"effort": "..."} |
| Effort レベル | なし | low / medium / high / xhigh / max |
| デフォルト動作 | thinking 無効(明示的に有効化が必要) | adaptive(モデルが判断) |
type: enabled 指定時 |
正常動作 | ValidationException |
検証内容
検証環境
| 項目 | 値 |
|---|---|
| AWS CLI | aws-cli/2.36.7 |
| 実行リージョン | us-east-1 |
| 検証日時 | 2026-07-25 02:00–02:40 JST |
モデルの利用可能状況
list-foundation-models で Claude Opus 5 の登録状況を確認しました。
aws bedrock list-foundation-models \
--by-provider "Anthropic" \
--query "modelSummaries[?modelId=='anthropic.claude-opus-5']" \
--region us-east-1
inferenceTypesSupported が ["INFERENCE_PROFILE"] のみとなっており、モデル ID の直接指定には対応していません。us-west-2、ap-northeast-1 でも同一構造で ACTIVE であることを確認しました。
list-foundation-models のモデル情報
{
"modelId": "anthropic.claude-opus-5",
"modelName": "Claude Opus 5",
"providerName": "Anthropic",
"inputModalities": ["TEXT", "IMAGE"],
"outputModalities": ["TEXT"],
"responseStreamingSupported": true,
"customizationsSupported": [],
"inferenceTypesSupported": ["INFERENCE_PROFILE"],
"modelLifecycle": {
"status": "ACTIVE",
"startOfLifeTime": "2026-07-23T17:00:00+00:00"
}
}
マネジメントコンソールの Model catalog にも Claude Opus 5 が表示されています。

list-inference-profiles で利用可能な Inference Profile を確認しました。
aws bedrock list-inference-profiles \
--region us-east-1
| プロファイル | ID | ルーティング先リージョン |
|---|---|---|
| US | us.anthropic.claude-opus-5 |
us-east-1, us-east-2, us-west-2 |
| Global | global.anthropic.claude-opus-5 |
全サポートリージョン(us-east-1 含む) |
ap-northeast-1 からは Global プロファイルのみ利用可能で、US プロファイルは表示されませんでした。
Bedrock では、ゼロデータ保持(ZDR)がデフォルトで有効です。
Converse API での呼び出し
US プロファイルを指定し、Converse API で簡易プロンプトを呼び出しました。
aws bedrock-runtime converse \
--model-id "us.anthropic.claude-opus-5" \
--messages '[{"role":"user","content":[{"text":"What is 2+2?"}]}]' \
--region us-east-1
レスポンスの usage を確認します。
{
"output": {
"message": {
"role": "assistant",
"content": [
{
"text": "2 + 2 = 4"
}
]
}
},
"usage": {
"inputTokens": 12,
"outputTokens": 13,
"totalTokens": 25
},
"stopReason": "end_turn"
}
コーディングタスク(「Write a Python function to find the longest palindromic substring.」)も同様に正常応答を確認しました。Python コードを含む応答が返っています。
aws bedrock-runtime converse \
--model-id "us.anthropic.claude-opus-5" \
--messages '[{"role":"user","content":[{"text":"Write a Python function to find the longest palindromic substring."}]}]' \
--region us-east-1
{
"usage": {
"outputTokens": 314
},
"stopReason": "end_turn"
}
Global プロファイル(global.anthropic.claude-opus-5)でも --model-id を差し替えて同様に確認しました。
aws bedrock-runtime converse \
--model-id "global.anthropic.claude-opus-5" \
--messages '[{"role":"user","content":[{"text":"What is 2+2?"}]}]' \
--region us-east-1
以下は各1回のみの参考値です。プロファイル間のレイテンシ比較を意図したものではありません。
| プロファイル | タスク | 結果 | レイテンシ |
|---|---|---|---|
US(us.anthropic.claude-opus-5) |
簡易プロンプト | ✅ 正常応答 | 10,283ms |
US(us.anthropic.claude-opus-5) |
コーディングタスク | ✅ 正常応答 | 10,510ms |
Global(global.anthropic.claude-opus-5) |
簡易プロンプト | ✅ 正常応答 | 1,044ms |
Global(global.anthropic.claude-opus-5) |
コーディングタスク | ✅ 正常応答 | 7,561ms |
※ 各1回の計測値であり参考値です。
Thinking(Extended Thinking)の動作
Opus 5 で最も注意すべき変更点が Thinking パラメータです。まず、Opus 4.8 以前と同じ type: enabled を指定して呼び出しました。
aws bedrock-runtime converse \
--model-id "us.anthropic.claude-opus-5" \
--messages '[{"role":"user","content":[{"text":"What is 2+2?"}]}]' \
--additional-model-request-fields '{"thinking":{"type":"enabled","budget_tokens":4096}}' \
--region us-east-1
本検証では、この指定は ValidationException となりました。Opus 5 の Converse API では type: enabled を受け付けません。
ValidationException
Opus 5 では type: adaptive を指定します。output_config は thinking と同階層で additional-model-request-fields 内に指定します。
aws bedrock-runtime converse \
--model-id "us.anthropic.claude-opus-5" \
--messages '[{"role":"user","content":[{"text":"Write a Python function to find the longest palindromic substring."}]}]' \
--additional-model-request-fields '{"thinking":{"type":"adaptive"},"output_config":{"effort":"high"}}' \
--inference-config '{"maxTokens":4096}' \
--region us-east-1
effort の値によってトークン数や thinking の挙動がどう変わるか確認しました。
| Effort | Output Tokens | reasoningContent | 応答特性 |
|---|---|---|---|
| 指定なし※ | 13(簡易質問)/ 314(コーディングタスク) | 簡易質問→なし、複雑→あり | モデルが自律判断 |
| high | 554 | あり(空 text + signature) | 詳細解説 + 効率考察 |
| low | 314 | あり(空 text + signature) | 簡潔なコード + 解説 |
※「指定なし」は additional-model-request-fields を付与せずに呼び出したケースです。
adaptive を指定し effort を省略した場合、モデルが質問の複雑さに応じて thinking の実行要否を判断します。既存コードで type: enabled と budget_tokens を指定していた箇所は、budget_tokens を削除し type: adaptive に書き換えることで移行できます。
Opus 5 の effort は公式アナウンスによると low / medium / high / xhigh / max の5段階です。本記事では low と high の2段階を検証しました。
thinking が実行された場合、レスポンスの content 配列に reasoningContent が含まれます。
{
"output": {
"message": {
"role": "assistant",
"content": [
{
"reasoningContent": {
"reasoningText": {
"text": "",
"signature": "ErUBCk..."
}
}
},
{
"text": "(実際の応答テキスト)"
}
]
}
}
}
reasoningText.text は本検証では空文字列で返却され、推論の内部テキストは確認できませんでした。signature は推論コンテンツを含む会話の改ざんを検出するための値です。後続の Converse 呼び出しで会話を継続する場合は、過去メッセージとともに signature を変更せずに渡します。本検証の簡易質問(What is 2+2?)では reasoningContent は含まれませんでした。
まとめ
Opus 4.8 から移行する際は、Thinking パラメータの書き換えが必要です。type: enabled と budget_tokens を削除し、type: adaptive と output_config.effort に変更してください。旧パラメータのままでは ValidationException になります。価格は Anthropic 公式アナウンスによると Opus 4.8 と同額(Input $5/MTok、Output $25/MTok)です。
参考リンク








