はじめに
2026/6/2、Amazon BedrockでGPT-5.5、GPT-5.4が一般提供開始となりました!コンソールのモデルカタログには表示されませんでしたが、発表記事にもある通りAPI経由での提供のため、カタログに出ないだけだと思われます。
GPT-5.5 and GPT-5.4 are available today on Amazon Bedrock via the Responses API.
早速ではありますが、Strands AgentsでGPT-5.5を呼び出せるか検証してみました。
簡単に言うと
- Amazon BedrockのAPI経由でGPT-5.4、GPT-5.5が使えるようになった
- GPT-5.5で回答が長い場合、(Strands Agents以外でも)テキストが重複して出力されることがある
実行環境
OS: macOS Tahoe 26.5
Python: 3.14.0
strands-agents[openai]: 1.42.0
strands-agents-tools: 0.7.0
aws-bedrock-token-generator: 1.1.0
botocore[crt]: 1.43.19
bedrock-mantleについて
本題に入る前に、今回利用するbedrock-mantleについて簡単に整理します(恥ずかしながら知りませんでした)。
もともとはbedrock-runtimeというBedrock推論用のエンドポイントが使われていましたが、OpenAI互換のエンドポイントとしてbedrock-mantleが2025年12月に追加されています。API種別によって対応/非対応がありますが、今回発表されたGPT-5.5はResponses APIにのみ対応しており、bedrock-mantleを使用する必要があります。
検証手順
まずはuvのuv initでプロジェクトを作成します。
uv init (任意の名前)
その後、requirements.txtを作成し、uv addでライブラリのインストールをします。
strands-agents[openai]
strands-agents-tools
aws-bedrock-token-generator
botocore[crt]
uv add -r requirements.txt
コードは下記のとおりです。GPT-5.5は2026/6/2現在オハイオリージョン(us-east-2)でのみ提供されているため、provide_tokenおよびbase_urlのリージョン指定を間違えないようにします。
from aws_bedrock_token_generator import provide_token
from strands import Agent
from strands.models.openai_responses import OpenAIResponsesModel
model = OpenAIResponsesModel(
model_id="openai.gpt-5.5",
client_args={
"api_key": provide_token(region="us-east-2"),
"base_url": "https://bedrock-mantle.us-east-2.api.aws/openai/v1",
},
)
agent = Agent(model=model)
agent("Claude Opus 4.8とGPT-5.5ってどっちのほうが性能良い?")
実行結果(原文ママ)
まずはGPT-5.5(オハイオリージョン)の回答です。見てのとおり、同じ内容が何度も重複して出力されてしまっています。
GPT-5.5(オハイオリージョン)の回答全文(重複あり)
uv run main.py
現時点の私の知識では、**「Claude Opus 4.8」や「GPT-5.5」について信頼できる公式性能情報・ベンチマークを確認できません**。そのため、「どちらが性能良い」と断定はできません。
ただし、比較するなら見るべきポイントは以下です。
- **文章作成・要約・自然な会話**
- **コーディング能力**
- **数学・論理推論**
- **長文コンテキスト処理**
- **日本語性能**
- **指示追現時点の私の知識では、**「Claude Opus 4.8」や「GPT-5.5」について信頼できる公式性能情報・ベンチマークを確認できません**。そのため、「どちらが性能良い」と断定はできません。
ただし、比較するなら見るべきポイントは以下です。
- **文章作成・要約・自然な会話**
- **コーディング能力**
- **数学・論理推論**
- **長文コンテキスト処理**
- **日本語性能**
- **指示追従の安定性**
- **幻覚の少なさ**
- **速度と料金**
- **API機能、ツール連携、マルチモーダル性能**
一般論としては、モデル名の数字だけで判断するより、**自分の用途で同じプロンプトを投げて比較するのが一番確実**です。
たとえば用途別には:
- **小説・自然な文章・対話重視** → Claude系が強いことが多い
- **ツール連携・コード・現時点の私の知識では、**「Claude Opus 4.8」や「GPT-5.5」について信頼できる公式性能情報・ベンチマークを確認できません**。そのため、「どちらが性能良い」と断定はできません。
ただし、比較するなら見るべきポイントは以下です。
- **文章作成・要約・自然な会話**
- **コーディング能力**
- **数学・論理推論**
- **長文コンテキスト処理**
- **日本語性能**
- **指示追従の安定性**
- **幻覚の少なさ**
- **速度と料金**
- **API機能、ツール連携、マルチモーダル性能**
一般論としては、モデル名の数字だけで判断するより、**自分の用途で同じプロンプトを投げて比較するのが一番確実**です。
たとえば用途別には:
- **小説・自然な文章・対話重視** → Claude系が強いことが多い
- **ツール連携・コード・汎用AIアシスタント用途** → GPT系が強いことが多い
- **日本語の細かいニュアンス** →現時点の私の知識では、**「Claude Opus 4.8」や「GPT-5.5」について信頼できる公式性能情報・ベンチマークを確認できません**。そのため、「どちらが性能良い」と断定はできません。
ただし、比較するなら見るべきポイントは以下です。
- **文章作成・要約・自然な会話**
- **コーディング能力**
- **数学・論理推論**
- **長文コンテキスト処理**
- **日本語性能**
- **指示追従の安定性**
- **幻覚の少なさ**
- **速度と料金**
- **API機能、ツール連携、マルチモーダル性能**
一般論としては、モデル名の数字だけで判断するより、**自分の用途で同じプロンプトを投げて比較するのが一番確実**です。
たとえば用途別には:
- **小説・自然な文章・対話重視** → Claude系が強いことが多い
- **ツール連携・コード・汎用AIアシスタント用途** → GPT系が強いことが多い
- **日本語の細かいニュアンス** → 実プロンプトで比較推現時点の私の知識では、**「Claude Opus 4.8」や「GPT-5.5」について信頼できる公式性能情報・ベンチマークを確認できません**。そのため、「どちらが性能良い」と断定はできません。
ただし、比較するなら見るべきポイントは以下です。
- **文章作成・要約・自然な会話**
- **コーディング能力**
- **数学・論理推論**
- **長文コンテキスト処理**
- **日本語性能**
- **指示追従の安定性**
- **幻覚の少なさ**
- **速度と料金**
- **API機能、ツール連携、マルチモーダル性能**
一般論としては、モデル名の数字だけで判断するより、**自分の用途で同じプロンプトを投げて比較するのが一番確実**です。
たとえば用途別には:
- **小説・自然な文章・対話重視** → Claude系が強いことが多い
- **ツール連携・コード・汎用AIアシスタント用途** → GPT系が強いことが多い
- **日本語の細かいニュアンス** → 実プロンプトで比較推奨
- **業務利用** → 性能だけでなく料金、速度、セキュリティ、API制限も重要
もしあなたが「文章作成で使いたい」「プログラミングで使いたい」「RAG用途」「チャットボット用途」など目的を教えてくれれば、その前提でどちらを選ぶべきか比較現時点の私の知識では、**「Claude Opus 4.8」や「GPT-5.5」について信頼できる公式性能情報・ベンチマークを確認できません**。そのため、「どちらが性能良い」と断定はできません。
ただし、比較するなら見るべきポイントは以下です。
- **文章作成・要約・自然な会話**
- **コーディング能力**
- **数学・論理推論**
- **長文コンテキスト処理**
- **日本語性能**
- **指示追従の安定性**
- **幻覚の少なさ**
- **速度と料金**
- **API機能、ツール連携、マルチモーダル性能**
一般論としては、モデル名の数字だけで判断するより、**自分の用途で同じプロンプトを投げて比較するのが一番確実**です。
たとえば用途別には:
- **小説・自然な文章・対話重視** → Claude系が強いことが多い
- **ツール連携・コード・汎用AIアシスタント用途** → GPT系が強いことが多い
- **日本語の細かいニュアンス** → 実プロンプトで比較推奨
- **業務利用** → 性能だけでなく料金、速度、セキュリティ、API制限も重要
もしあなたが「文章作成で使いたい」「プログラミングで使いたい」「RAG用途」「チャットボット用途」など目的を教えてくれれば、その前提でどちらを選ぶべきか比較軸を現時点の私の知識では、**「Claude Opus 4.8」や「GPT-5.5」について信頼できる公式性能情報・ベンチマークを確認できません**。そのため、「どちらが性能良い」と断定はできません。
ただし、比較するなら見るべきポイントは以下です。
- **文章作成・要約・自然な会話**
- **コーディング能力**
- **数学・論理推論**
- **長文コンテキスト処理**
- **日本語性能**
- **指示追従の安定性**
- **幻覚の少なさ**
- **速度と料金**
- **API機能、ツール連携、マルチモーダル性能**
一般論としては、モデル名の数字だけで判断するより、**自分の用途で同じプロンプトを投げて比較するのが一番確実**です。
たとえば用途別には:
- **小説・自然な文章・対話重視** → Claude系が強いことが多い
- **ツール連携・コード・汎用AIアシスタント用途** → GPT系が強いことが多い
- **日本語の細かいニュアンス** → 実プロンプトで比較推奨
- **業務利用** → 性能だけでなく料金、速度、セキュリティ、API制限も重要
もしあなたが「文章作成で使いたい」「プログラミングで使いたい」「RAG用途」「チャットボット用途」など目的を教えてくれれば、その前提でどちらを選ぶべきか比較軸を絞って答えられます。%
回答が重複して出力されています。一方、オレゴンリージョンのGPT-5.4では、このような重複は発生しませんでした。
GPT-5.4(オレゴンリージョン)の回答全文(重複なし)
uv run main.py
一概に「どっちが上」とは言いにくいです。
**用途次第で強みが違う**、というのが一番正確です。
ざっくり言うと:
- **Claude Opus 4.8**
- 長文読解・要約
- 自然で丁寧な文章生成
- 曖昧な依頼を整理しながら進める
- 人間っぽい文体や安全寄りの応答
が強いと評価されやすいです。
- **GPT-5.5**
- 汎用性の高さ
- コーディング支援
- ツール利用や複数ステップのタスク処理
- 会話のテンポや指示追従性
で強いことが多いです。
### 比較のポイント
「性能が良い」の意味で結論が変わります。
1. **文章力・自然さ**
- Claude系を好む人が多いことがあります。
- 特に長文の読みやすさや落ち着いた文体。
2. **コード生成・デバッグ**
- GPT系が強いケースが多いです。
- ただし、具体的な言語や課題次第。
3. **複雑な業務タスク**
- GPT系は手順実行・構造化・外部ツール連携で有利なことがあります。
- Claude系は文書中心の思考整理で強いことがあります。
4. **安全性・慎重さ**
- Claudeはやや慎重寄り、
- GPTはやや実用寄り、
という印象を持つ人もいます。
### 結論
- **文章品質や長文読解重視なら Claude Opus 4.8**
- **総合力、コード、実務の幅広さなら GPT-5.5**
- **日本語で日常利用するなら、最終的には相性差も大きい**
もしあなたが
- 「仕事の文章作成で使いたい」
- 「プログラミングで使いたい」
- 「課金するならどっちが得か知りたい」
みたいに**用途を教えてくれれば、かなり具体的にどっち向きか判定できます。**%
また、Strands Agentsを使わずにOpenAI SDK経由で実行しても重複した出力が発生しました。
少し調査
「こんにちは」のように挨拶程度の短い質問文に対しては、回答も短くなった影響か、重複した出力は発生しませんでした。そのため、(少なくとも私の環境では)下記条件を満たすと、回答に重複した文が発生することがわかりました。
- GPT-5.5をbedrock-mantleエンドポイント経由で使う(GPT-5.4は問題なし)
- 回答の長さが一定の文字量を超えている
Claudeと一緒に調査し、ストリーミングレスポンス時のdeltaを出力してみました。
import asyncio
from aws_bedrock_token_generator import provide_token
from strands.models.openai_responses import OpenAIResponsesModel
model = OpenAIResponsesModel(
model_id="openai.gpt-5.5",
client_args={
"api_key": provide_token(region="us-east-2"),
"base_url": "https://bedrock-mantle.us-east-2.api.aws/openai/v1",
},
)
async def debug():
messages = [{"role": "user", "content": [{"type": "text", "text": "Claude Opus 4.8とGPT-5.5ってどっちのほうが性能良い?"}]}]
print("=== text deltaのみ表示 ===\n")
chunks = []
async for chunk in model.stream(messages):
chunks.append(chunk)
if "contentBlockDelta" in chunk:
delta = chunk["contentBlockDelta"]["delta"]
if "text" in delta:
print(f"[text delta] {repr(delta['text'])}")
asyncio.run(debug())
すると以下のような結果となりました。
=== text deltaのみ表示 ===
[text delta] '正'
[text delta] '直'
[text delta] 'に'
[text delta] '言'
[text delta] 'う'
[text delta] 'と'
[text delta] '、'
[text delta] '**'
[text delta] '「'
[text delta] 'Claude'
[text delta] ' Op'
[text delta] 'us'
[text delta] ' '
[text delta] '4'
[text delta] '.'
[text delta] '8'
[text delta] '」と'
[text delta] '「'
[text delta] 'GPT'
[text delta] '-'
[text delta] '5'
[text delta] '.'
[text delta] '5'
[text delta] '」'
[text delta] 'について'
[text delta] '、'
[text delta] '公開'
[text delta] 'された'
[text delta] '信'
[text delta] '頼'
[text delta] 'でき'
[text delta] 'る'
[text delta] 'ベ'
[text delta] 'ン'
[text delta] 'チ'
[text delta] 'マ'
[text delta] 'ーク'
[text delta] 'や'
[text delta] '実'
[text delta] '運'
[text delta] '用'
[text delta] '評価'
[text delta] 'が'
[text delta] 'ない'
[text delta] '限'
[text delta] 'り'
[text delta] '、“'
[text delta] 'ど'
[text delta] 'ちら'
[text delta] 'が'
[text delta] '上'
[text delta] '”'
[text delta] 'とは'
[text delta] '断'
[text delta] '定'
[text delta] 'でき'
[text delta] 'ません'
[text delta] '。'
[text delta] '**'
[text delta] ' \n'
[text delta] 'モデル'
[text delta] '名'
[text delta] 'だけ'
[text delta] 'では'
[text delta] '性能'
[text delta] '比較'
[text delta] 'は'
[text delta] 'でき'
[text delta] 'ず'
[text delta] '、'
[text delta] '用途'
[text delta] 'によ'
[text delta] 'って'
[text delta] '勝'
[text delta] '敗'
[text delta] 'が'
[text delta] '変'
[text delta] 'わ'
[text delta] 'ります'
[text delta] '。\n\n'
[text delta] 'ざ'
[text delta] 'っ'
[text delta] 'く'
[text delta] 'り'
[text delta] '判断'
[text delta] 'する'
[text delta] 'なら'
[text delta] '、'
[text delta] '比較'
[text delta] 'ポイント'
[text delta] 'は'
[text delta] 'こう'
[text delta] 'です'
[text delta] '。\n\n'
[text delta] '|'
[text delta] '正直に言うと、**「Claude Opus 4.8」と「GPT-5.5」について、公開された信頼できるベンチマークや実運用評価がない限り、“どちらが上”とは断定できません。** \nモデル名だけでは性能比較はできず、用途によって勝敗が変わります。\n\nざっくり判断するなら、比較ポイントはこうです。\n\n| 観'
[text delta] '点'
[text delta] ' |'
[text delta] '正直に言うと、**「Claude Opus 4.8」と「GPT-5.5」について、公開された信頼できるベンチマークや実運用評価がない限り、“どちらが上”とは断定できません。** \nモデル名だけでは性能比較はできず、用途によって勝敗が変わります。\n\nざっくり判断するなら、比較ポイントはこうです。\n\n| 観点 | 見'
[text delta] 'る'
[text delta] 'べ'
(後略)
本来差分のみが出力されるはずですが、突然これまでの出力内容+追加の出力がdeltaとして記録されています。また、何度か実行しましたが、deltaの出力が異常になるタイミングに法則は見られず、根本原因の特定には至りませんでした。
GPT-5.4では発生せず、Strands AgentsだけでなくOpenAI SDKでも発生することから、GPT-5.5をbedrock-mantleエンドポイント経由で推論すると出力がおかしくなるというところまでわかりました。
まとめ
Bedrockを使ってGPT-5.5が呼び出せるようになりましたが、現状は出力がおかしくなることがあるようです。根本原因まではわかりませんでしたが、おそらくbedrock-mantle側のバグのような気がするので、AWSにフィードバックしたいと思います。
参考