原文(日本語に翻訳)
Bedrock Application Inference Profile ARNを経由してOpus 4.7を使用する際の「thinking.type.enabled is not supported」400エラーを修正しました。
原文(英語)
Fixed thinking.type.enabled is not supported 400 error when using Opus 4.7 via a Bedrock Application Inference Profile ARN
概要
AWS Bedrock の Application Inference Profile(カスタムARN)経由で Claude Opus 4.7 を使用する際に、拡張思考(Extended Thinking)機能の thinking.type.enabled パラメーターに関連する 400 エラー(「thinking.type.enabled is not supported」)が発生する問題がありました。今回の修正により、Bedrock Application Inference Profile ARN を使用する場合でも、拡張思考機能が正しく動作するようになります。
基本的な使い方
bash
# AWS Bedrock 経由でのClaude Code設定
export ANTHROPIC_MODEL="arn:aws:bedrock:us-east-1:123456789012:application-inference-profile/claude-opus-4-7"
export AWS_REGION="us-east-1"
# 修正前: /effort max や拡張思考を使うと400エラー
# 修正後: 正常に動作
claude実践例
Bedrock Application Inference Profile の設定
bash
# AWS Bedrock Application Inference Profile の設定例
# 1. AWS認証情報の設定
export AWS_ACCESS_KEY_ID="your-access-key"
export AWS_SECRET_ACCESS_KEY="your-secret-key"
export AWS_REGION="us-east-1"
# 2. カスタムARNの設定
export ANTHROPIC_MODEL="arn:aws:bedrock:us-east-1:123456789012:application-inference-profile/my-opus-profile"
# 3. Bedrock使用フラグ
export CLAUDE_CODE_USE_BEDROCK=1
# 4. Claude Codeを起動
claude
# 修正後: 拡張思考機能が正常に使用できる
/effort max拡張思考(Extended Thinking)の使用
python
# AWS Bedrock 経由での拡張思考使用例
import boto3
import json
bedrock = boto3.client('bedrock-runtime', region_name='us-east-1')
# Application Inference Profile ARN を使用
model_id = "arn:aws:bedrock:us-east-1:123456789012:application-inference-profile/claude-opus-4-7"
# 修正後: 拡張思考パラメーターが正しく処理される
response = bedrock.invoke_model(
modelId=model_id,
body=json.dumps({
"anthropic_version": "bedrock-2023-05-31",
"max_tokens": 16000,
"thinking": {
"type": "enabled",
"budget_tokens": 10000
},
"messages": [{
"role": "user",
"content": "複雑な数学問題を解いてください..."
}]
})
)エラーが発生していた状況
python
# 修正前のエラー再現シナリオ
# Application Inference Profile ARN を使用
model_id = "arn:aws:bedrock:us-east-1:ACCOUNT:application-inference-profile/claude-opus-4-7"
# 拡張思考を有効にしたリクエスト
body = {
"thinking": {
"type": "enabled", # ← これが400エラーを引き起こしていた
"budget_tokens": 5000
},
...
}
# エラーメッセージ:
# {
# "message": "thinking.type.enabled is not supported",
# "type": "ValidationException"
# }
# HTTP Status: 400
# 修正後:
# ARNをパースして正しいモデルを特定し、
# 拡張思考パラメーターを適切に設定してリクエストClaude Code での設定例
bash
# ~/.claude/settings.json での Bedrock設定
# または環境変数での設定
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION="us-east-1"
# Application Inference Profile ARN を使用
export ANTHROPIC_MODEL="arn:aws:bedrock:us-east-1:123456789012:application-inference-profile/claude-opus-4-7-profile"
# /effort max などの拡張思考が必要な操作が修正後に動作する
claudeBedrock でサポートされているモデルの確認
bash
# AWS CLI でサポートされているモデルを確認
aws bedrock list-foundation-models \
--region us-east-1 \
--query "modelSummaries[?contains(modelId,'claude')].[modelId,modelName]" \
--output table
# Application Inference Profile の確認
aws bedrock list-inference-profiles \
--region us-east-1 \
--type-equals APPLICATION注意点
- この修正は AWS Bedrock の Application Inference Profile ARN を使用する場合のみ影響します
- 標準のモデルID(
anthropic.claude-opus-4-5:...等)での使用は影響しません - 拡張思考(Extended Thinking)は Claude Opus 4 以上のモデルで利用可能です
- Application Inference Profile は、カスタム設定(スループット、コスト配分など)を持つモデルインスタンスです
- AWS Bedrockでの拡張思考の使用には追加のコストが発生する場合があります