Claude Opus 5.5で400を返すようになったOpus 5のリクエスト4パターン

5つ目の変更は何も壊さない。だからこそ、利用者の目に最も届きやすい。

|7分で読める0
A computer display of the kind where an Opus 5 request pattern rejected by Claude Opus 5.5 first shows up: as an HTTP 400 in the console.
A computer display of the kind where an Opus 5 request pattern rejected by Claude Opus 5.5 first shows up: as an HTTP 400 in the console.

AnthropicのClaude Opus 5.5が9月22日、入力100万トークンあたり4ドルで登場した。Claude Opus 5より5分の1安い。同時に、Opus 5が受け付けていた4つのリクエストパターンを拒否するようになり、しかも静かなフォールバックではなくいずれもHTTP 400で返ってくる。Anthropic自身の移行ノートがこれらをまとめて列挙しており、この規模の値下げに移行作業が付いてくると早々に指摘した一つがThe New Stackだった。

記事の要点

  • claude-opus-5-5では4つのパターンがinvalid_request_errorの400を返す。thinkingの無効化、ツール使用の強制、プロンプト前段が変わった後のthinkingブロックの再送、そしてClaude APIとGoogle Cloudでのcomputer_20251124 computer useツールの宣言である。
  • 最初の3つはClaude Fable 5.1にも当てはまるため、一度の移行作業で両モデルをカバーできる。
  • 5つ目の変更はエラーを出さない。モデルがツール呼び出しの合間に書く短いメモがthinkingブロックに入って届くようになり、既定のdisplay: "omitted"では中身が空になる。このメモを進捗表示として流していたアプリケーションは、そのまま黙り込む。

400になるリクエスト

thinkingはもう任意ではない。Opus 5ではeffortがhigh以下ならthinking: {"type": "disabled"}が通った。Opus 5.5では適応的thinkingが常時オンで、この設定も手動のbudget_tokens指定もinvalid requestエラーになる。文書が示す代替はeffortパラメータで、thinkingを切っていた場所はeffortを下げて置き換える。

早めに拾っておきたい二次効果がある。Opus 5.5の既定effortはmediumで、Opus 5はhighが既定だった。effortを明示してこなかったチームは、リクエストの形と回答の背後にある推論量という二つの変数を同時に動かすことになる。

ツール使用の強制も消える。tool_choiceの{"type": "any"}と{"type": "tool", "name": ...}はいずれも失敗し、同じ検証がトークンカウントのエンドポイントでも走るため、事前カウントで本番呼び出しの前に警告を受けることはできない。残るのはautoとnoneだけだ。JSONの形を保証するのが目的だったなら、Anthropicはstrict tool useかstructured outputを挙げている。単にモデルにツールを取らせたかっただけなら、それはもうプロンプトの仕事である。

thinkingブロックはモデルと前段を抱える

3つ目の変更が最も厄介だ。壊れ方が二通りあるからである。thinkingブロックはどのモデルが生成したかを記録し、モデルごとに読める系統が違う。Opus 5.5はOpus 5とそれ以前のOpus・Sonnet・Haikuのブロックは読めるが、Claude FableやClaude Mythos系のブロックは読めない。Claude API上でOpus 5.5が生成したブロックを読めるのは、Fable 5.1とMythos 5.1だけだ。

境界を踏み越えても何も壊れない。APIは読めないブロックをモデルに渡す前に取り除き、リクエストは成功し、落とされたブロックには課金もされない。会話は以前の推論を欠いたまま静かに続く。唯一の手がかりはトップレベルのinput_transformations配列だが、これ自体thinking-binding-controls-2026-08-01ベータヘッダーを付けないと現れない。

400は別の検査から来る。APIは、thinkingブロックより前にあるもの、つまりシステムプロンプト、ツール定義、それ以前のメッセージがブロック生成後に変わっていないかを確認する。Claude APIおよびクラウド各社では、2026年8月31日以降に作成されたアカウントに対して既定でこの検査が効く。会話の途中でシステムプロンプトを書き換える行為は、習慣ではなく障害要因になった。文書が示す対処は、会話を追記専用に保ち、指示の変更は編集ではなく会話中のシステムメッセージで行うことだ。

computer useは2つのプラットフォームで旧ツールを失う

Claude APIとGoogle Cloudでは、Opus 5.5はcomputer useをcomputer_toolset_20260801ツールセットとしてのみ受け付け、旧来のcomputer_20251124ツールを宣言したリクエストはそのまま拒否される。例外はAmazon Bedrockで、そこでは旧ツールがOpus 5のときとまったく同じに動き続ける。

同じAIエージェントを複数のプロバイダーで動かしているなら、この非対称は効いてくる。まったく同一のペイロードがBedrockでは通り、Claude APIでは落ちるからだ。移行作業は、computer-use-2025-11-24ベータヘッダーを外し、toolsのエントリを差し替え、メンバーのtool_useブロック、バッチ操作、結果に載るツールセット名に合わせてエージェントループを直すことになる。browser useツールは影響を受けない。

何も壊さず、最も多くを隠す変更

実のところ、エンドユーザーに気づかれる可能性が最も高いのは上のどれでもない。Opus 5.5はツール呼び出しの合間に書く短いメモを、テキストブロックではなく進捗用のthinkingブロックとして返す。既定のdisplay設定ではそのブロックはtextフィールドが空のまま届くため、そのメモをチャット画面やビルドログに流していた製品は、ツール呼び出しの間に何も表示しなくなる。エラーもステータスコードも、追跡できるログ行もない。

長時間走るエージェントのセッションでは、これは作業が進む様子を見るのか、スピナーを見るのかの違いになる。戻すのに要るのはthinking.displayという設定ひとつだけだが、それも誰かがその沈黙に気づいた場合の話だ。

実際に手を入れる必要がある連携はどこか

影響範囲は「破壊的変更が4つ」という響きよりは狭く、しかも偏っている。ほぼすべての作業を担うのは3つのプロファイルだ。分類やルーティングの呼び出しで数秒を削るためにthinkingを切っていた低レイテンシ志向のパイプラインは、effortの水準を選び直して測り直す必要がある。推論ゼロという逃げ場がもうないからだ。強制ツール使用を安価なスキーマ保証として使ってきた抽出サービスには、別の値ではなく別の仕組みが要る。

意表を突かれそうなのは3つ目の層である。コスト管理のために会話の途中でモデルを切り替えるマルチモデルルーターは、互換性の表を守らなければならない。互換性のない推論は拒否ではなく破棄されるため、ルーターは失敗したリクエストを一件も残さないまま、何週間も回答品質を落とし続けうる。すでにthinkingをオンにして現行のcomputer useツールセットでOpus 5を呼んでいるだけなら、手を入れる箇所はない。

投入前に再検証すべきこと

エラーを投げない挙動の変化がもう2つある。Opus 5.5は同じeffortでもターンあたりより多く考える傾向があり、xhighとmaxで特に顕著だ。Opus 5から持ち越したeffortの調整はずれているはずで、max_tokensには推論分の余裕が要る。このモデルはサイバーセキュリティの分類器に加えて生物学のセーフガード分類器も走らせ、内部の推論をそのまま言い直させようとする要求は断ることがある。

エラー処理の最後の罠は拒否だ。HTTP 200にstop_reason: "refusal"とポリシー領域を示すstop_detailsオブジェクトが載って返るため、ステータスコードで分岐するコードはこれを成功として読む。静かなthinkingブロックの破棄、途切れた進捗表示と並べれば、今回のリリースを貫くパターンは一貫している。派手に失敗するもののほうが、対処は易しい。ローンチ報道の多くを牽引した価格や、一部のタスクを旧モデルに回すセーフガードが効いてくるのは、リクエストがまず通るようになってからだ。

FAQ — よくある質問

Claude Opus 5.5はツール使用の強制に対応しているか

対応していない。claude-opus-5-5でtool_choiceを{"type": "any"}や{"type": "tool", "name": ...}に設定すると、invalid_request_errorの400が返る。受け付けられるのはautoとnoneのみで、同じ検証がトークンカウントのエンドポイントにも適用される。

破棄されたthinkingブロックは課金されるか

課金されない。対象モデルが読めないthinkingブロックが含まれる場合、APIはモデルに渡す前に取り除き、課金もしない。リクエスト自体は成功するため、破棄の事実はthinking-binding-controls-2026-08-01ベータヘッダーとともに返るinput_transformations配列でしか確認できない。

computer useの変更はAmazon Bedrockにも及ぶか

及ばない。computer_20251124ツールは、Amazon Bedrock経由のOpus 5.5でもOpus 5のときと同じように動き続ける。制限がかかるのはClaude APIとGoogle Cloudで、そこではcomputer_toolset_20260801ツールセットのみが受け付けられる。

この記事への反応を残してください!

SJ

ディスカッション

ログインして投稿
読み込み中...

関連記事

Claude Code Projectsが刷新、並列クラウドスレッドを束ねる調整役に
Developer Tools

Claude Code Projectsが刷新、並列クラウドスレッドを束ねる調整役に

刷新されたClaude Code Projectsは、作業スレッドの上に調整役を置きます。各スレッドは自前のブランチで動く完全なクラウドセッションで、メモリを共有します。

Seung Jung10 日前
7 カ月でエージェントスキル 100 万件 — その半数近くはインストール 1 回きり
Developer Tools

7 カ月でエージェントスキル 100 万件 — その半数近くはインストール 1 回きり

Vercel の skills.sh が 7 カ月でエージェントスキル 100 万件を突破した。半数近くはインストール 1 回きりで、375 件が全インストールの 62% を占める。

Seung Jung一昨日
Docker、AIエージェント用サンドボックスをクラウドへ 秒単位課金で1時間0.07ドルから
Developer Tools

Docker、AIエージェント用サンドボックスをクラウドへ 秒単位課金で1時間0.07ドルから

Dockerがマイクロ VM によるエージェント分離をホスト型コンピュートに広げるCloud Sandboxesを発表した。1時間0.07ドルから秒単位で課金し、Kits仕様はCNCFに提出する。

Seung Jung3 日前
マージ3000件、ロールバック0件 — Anthropicの2週間スピード集中作戦
Developer Tools

マージ3000件、ロールバック0件 — Anthropicの2週間スピード集中作戦

Anthropicは8月の集中作戦でclaude.aiのp75入力可能時間を3.1秒から0.55秒に短縮。CIを命令数で止める仕組みにより、3000件をロールバックなしでマージした。

Seung Jung4 日前
AWSがエージェント基盤「Strands Harness」をOSS公開、自社より安い競合もグラフに残した
Developer Tools

AWSがエージェント基盤「Strands Harness」をOSS公開、自社より安い競合もグラフに残した

AWSのStrands Agentsチームが9月21日、Strands HarnessをApache 2.0で公開した。PythonとTypeScriptに対応し、ノートPCでも5つのクラウドでも動かせる。

Seung Jung6 日前
LLMのバグ修正は、直した数の10倍も動くコードを壊していた
Developer Tools

LLMのバグ修正は、直した数の10倍も動くコードを壊していた

arXivの研究で、LLM修復ループが正しいプログラムを壊す率は0.261、バグを直す率は0.023だった。著者らはその挙動を駆動する内部方向まで突き止めた。

Seung Jung15 日前