はじめに
2026年9月28日、Anthropic が Claude Sonnet 5.5 を公開しました。Sonnet 5 の後継で、Opus 5.5 と並ぶ5.5世代の Sonnet です。Haiku 5.5 も「今後数週間以内」に出ると、発表ページで予告されています。
押さえておきたい点は次の3つです。
- 価格は Sonnet 5 と同じ入力 $2 / 出力 $10 per 1M tokens。Anthropic によると、出力速度は Sonnet 5 より30%以上速く、1タスクあたりのコストは最大30%下がる。単価が下がったわけではなく、同じ仕事に使うトークンが減ることによる差
- Terminal-Bench 4.0 のスコアは 70.6%。Sonnet 5(10.3%)を大きく上回り、Opus 5.5(66.4%)も超えた。ほかの評価項目では Opus 5.5 のほうが上
- Sonnet 5 から API の破壊的変更が5つある。
thinking: {"type": "disabled"}が 400 になるので、モデルIDを差し替えるだけでは動かないコードがある
Sonnet 5 を API や Claude Code で使っているチーム向けに、移行で引っかかりやすい箇所を中心にまとめます。数値と仕様は、2026年10月7日時点の Anthropic 公式ドキュメントに基づいています。
モデルスペック
| 項目 | Claude Sonnet 5.5 |
|---|---|
| モデルID | Claude API・Google Cloud・Microsoft Foundry・Claude Platform on AWS は claude-sonnet-5-5、Amazon Bedrock は anthropic.claude-sonnet-5-5
|
| リリース日 | 2026年9月28日 |
| 入力価格 | $2 / 1M tokens |
| 出力価格 | $10 / 1M tokens |
| キャッシュ書き込み | 5分 $2.50 / 1時間 $4 |
| キャッシュ読み取り | $0.20 / 1M tokens |
| Batch API | 入力・出力とも50%引き(入力 $1 / 出力 $5) |
米国内限定の推論(inference_geo: "us") |
全トークン料金が1.1倍 |
| コンテキストウィンドウ | 1M tokens(標準料金のまま) |
| 最大出力 | 128K tokens(Batch API はベータヘッダ output-300k-2026-03-24 で300K) |
| 入力 → 出力 | テキスト・画像 → テキスト |
| 知識カットオフ | 2026年6月 |
| thinking | adaptive(デフォルトでオン) |
| デフォルト effort | Claude API は high
|
| トークナイザー | Sonnet 5 と同一(同じ文章なら同じトークン数) |
| 最小キャッシュ可能プロンプト | 512 tokens(Sonnet 5 は1,024 tokens) |
| 提供プラットフォーム | Claude API / Amazon Bedrock / Google Cloud / Microsoft Foundry / Claude Platform on AWS |
| 提供終了 | 2027年9月28日より前には行わない |
Claude Code と Claude のアプリでは、effort のデフォルトが medium です(Claude API は high)。
temperature・top_p・top_k に既定値以外を指定すると 400 になります。
Sonnet 5 の価格は、公式の価格ページに「導入価格だった $2 / $10 が標準価格になった。9月1日に予定されていた $3 / $15 への値上げは行わない」と注記されています。
主要な新機能・変更点
1. 速度とトークン効率
Anthropic は、Sonnet 5 比で出力速度が30%以上速く、タスクあたりのコストが最大30%下がると説明しています。後者は値下げではなく、同じ作業を終えるまでのトークン数が減ることによるものです。請求額は1リクエストの単価より、タスクが何ターン・何トークンで終わるかで決まります。
2. effort の目盛りが変わった
low / medium / high / xhigh / max の5段階は同じですが、同じレベル名でも思考量が Sonnet 5 とは違います。公式ドキュメントは、Sonnet 5 の設定を持ち込まず、自分の評価セットで effort を振り直すよう案内しています。出発点の目安は次のとおりです。
- 基本は
high(API のデフォルト)から - エージェント系コーディングやマルチステップのツール利用は、仕様が固まったタスクなら
medium、難しいタスクや長いタスクならhigh - チャットなどレイテンシが効く用途は
mediumかlow -
xhighとmaxは、品質向上を測定できた処理にだけ使う。この2つではbetween_toolsが使えず、up-front thinking を切れない
medium 以上では、挨拶のような短い返答でもモデルが短く考えてから答えます。最初のトークンが出るまでの時間が延び、システムプロンプトで「あまり考えるな」と書いても確実には減りません。考える量を減らしたいときは effort を下げます。
max_tokens は thinking の分も含めた上限です。公式は、エージェント系コーディングでは最大値の128,000を指定し、ストリーミングで受け取るよう案内しています。
effort をリクエストごとに変えるとプロンプトキャッシュが無効になります。キャッシュを保ったまま変えたい場合は、ベータの per-message effort(ベータヘッダ mid-conversation-output-config-2026-07-01)を使います。ただし adaptive thinking が前提で、between_tools とは併用できません。
3. ツール呼び出しの合間のテキストが thinking ブロックで返る
Sonnet 5 では、ツール呼び出しの合間にモデルが書くテキストは text ブロックでした。Sonnet 5.5 では、1〜2文を超える長さのメモが進捗アップデート用の thinking ブロックとして返ります。既定の display: "omitted" では中身が空文字列です。短いひとことは従来どおり text です。
リクエストは失敗しませんが、text ブロックだけを画面に出しているクライアントは、ツール実行中に表示が止まったように見えます。adaptive thinking なら、display: "updates"(ベータヘッダ thinking-display-updates-2026-08-18)で進捗メモだけを、"summarized" で推論の要約と混ぜて受け取れます。
response = client.beta.messages.create(
model="claude-sonnet-5-5",
max_tokens=16000,
betas=["thinking-display-updates-2026-08-18"],
# 進捗メモだけを thinking ブロックで受け取る
thinking={"type": "adaptive", "display": "updates"},
messages=[{"role": "user", "content": "このリポジトリのテストが落ちる原因を調べて直して"}],
tools=[...],
)
for block in response.content:
# 空でない thinking ブロックは、直後の tool_use の前に画面へ出す
if block.type == "thinking" and block.thinking:
print(block.thinking)
「最終回答までは何も書かせない」といった古い指示がプロンプトに残っていたら外します。公式のプロンプトガイドは、進捗を出したい箇所があるなら「最初のツール呼び出しの前に何をするか一行で言う」のように、システムプロンプトで書くよう勧めています。
4. Sonnet 5 になかった機能
次の機能が Sonnet 5.5 から使えます。
- mid-conversation system messages(
messagesにrole: "system"を足して、キャッシュ済みの履歴を壊さずに指示を追加する。ベータヘッダ不要) - mid-conversation tool changes(ベータ)と、ツール定義をメッセージ内に持たせる
inline-tools-2026-09-15(ベータ) - per-message effort(ベータ)
- compact on demand(ベータ
compact-2026-09-04)。好きなタイミングで会話全体を要約したcompactionブロックを受け取れる
5. Claude Code での扱い
Claude Code の公式ドキュメント(model-config)には、次の記述があります。
-
sonnetエイリアスが Sonnet 5.5 に解決されるのは、Anthropic API を使うときだけ。Claude Platform on AWS では Sonnet 4.6、Amazon Bedrock と Google Cloud では Sonnet 4.5、Microsoft Foundry では Sonnet 4.5 のまま - Sonnet 5.5 では thinking をオフにできない(設定画面に「Thinking can't be turned off」と出る)
- Sonnet 5.5 は常に1Mコンテキストで動く。200K版や
[1m]サフィックスはなく、既定では約967Kトークンで自動コンパクトが走る
fast mode は Opus 5.5・Opus 5・Opus 4.8 だけが対象で、Sonnet 5.5 では使えません(価格ページ)。
ベンチマーク
Anthropic の発表ページに載っている表です。
| ベンチマーク | Sonnet 5.5 | Sonnet 5 | Opus 5.5 |
|---|---|---|---|
| Terminal-Bench 4.0 | 70.6% | 10.3% | 66.4% |
| FrontierCode 1.1(Main) | 46.2%(Max) | 42.4% | 54.4% |
| CursorBench 4.0 | 55.5% | 34.1% | 57.8% |
| GDPval-AA v2.1 | 1844 | 1449 | 1846 |
| AA-Briefcase v1.1 | 1811 | 1359 | 1822 |
| Humanity's Last Exam(ツールあり) | 64.5% | 54.9% | 67.7% |
| OSWorld 2.1(partial) | 80.1% | 57.0% | 81.8% |
| Chartography(ツールなし) | 61.6% | 15.6% | 64.4% |
Sonnet 5.5 は、全項目で Sonnet 5 を上回りました。Opus 5.5 を上回ったのは Terminal-Bench 4.0 だけです。ほかの項目では Opus 5.5 が上ですが、GDPval-AA v2.1 は1844対1846とほぼ並んでいます。料金は Opus 5.5($4 / $20)の半分です。
Terminal-Bench 4.0 の Sonnet 5 が 10.3% という数字は差が極端です。評価条件(effort など)は発表ページの脚注に書かれているので、自分の用途で使うなら、そちらも読んでください。
公式のプロンプトガイドは、既存の Sonnet 5 のプロンプトはそのままで十分に動くはずとしたうえで、最難関の長時間タスクには Opus のほうが向くとしています。
API移行時の注意点(Breaking Changes)
公式ドキュメントが挙げる、Sonnet 5 からの破壊的変更は5つです。
⚠️ 1. thinking: {"type": "disabled"} が 400 になる
Sonnet 5 では thinking が既定でオンで、{"type": "disabled"} で切れました。Sonnet 5.5 では 400 invalid_request_error になり、次のメッセージが返ります。
To turn thinking off on this model, send "thinking": {"type": "between_tools"} instead of {"type": "disabled"}. The model does not think before responding. The short updates it writes between tool calls come back as thinking blocks.
between_tools は「一番低い thinking 設定」で、完全なオフではありません。ベータヘッダは不要で、Sonnet 5.5 を提供するすべてのプラットフォームで使えます。ツールを使わないリクエストでは、レスポンスは text だけになります。制約は次のとおりです。
- effort は
low・medium・highのみ。xhigh/maxでは 400 -
thinkingの中にdisplay・budget_tokens・block_bindingを併記すると 400 - 会話の途中で effort を変えられない。リクエストごとの
output_config.effortが現在の値と違うと 400 - server-side fallback で Sonnet 5 に落ちた場合、
between_toolsのリクエストは Sonnet 5 上でdisabledとして動く
disabled を使っていた経路を置き換える手順は、公式のプロンプトガイドに沿うと次のとおりです。
-
between_toolsに切り替える。ツールを使わず、数ステップの考え事が要るタスクは、adaptive thinking のほうが向く - 「考えるな」という指示は消す。内部の XML タグが出力に出やすくなる
- レスポンスは位置ではなく
typeで読む。adaptive thinking では先頭に空のthinkingブロックが来ることがあり、between_toolsでは先頭が進捗メモのthinkingブロックのことがある -
thinkingブロックは、アシスタントのターンの他のブロックと一緒に、変更せずそのまま次のリクエストへ返す -
max_tokensは thinking 分も含めて見積もる
# Before: Sonnet 5 では通るが、Sonnet 5.5 では 400 になる
client.messages.create(
model="claude-sonnet-5",
max_tokens=16000,
thinking={"type": "disabled"},
messages=[{"role": "user", "content": "..."}],
)
# After: thinking を切ったままにしたい経路は between_tools(effort high 以下)
client.messages.create(
model="claude-sonnet-5-5",
max_tokens=16000,
thinking={"type": "between_tools"},
output_config={"effort": "high"},
messages=[{"role": "user", "content": "..."}],
)
between_tools にこだわらず、adaptive thinking のまま low effort に下げる手もあります。low なら簡単な依頼ではほとんど考えずに答えるので、応答時間と品質を自分のトラフィックで比べて決めてください。
⚠️ 2. 強制ツール使用の廃止
tool_choice に {"type": "any"} または {"type": "tool", "name": "..."} を指定すると 400 になります。
tool_choice: type "tool" and "any" are not supported for this model.
トークン数を数える count_tokens でも同じ検査が走ります。auto(既定)と none は使えます。公式の代替案は次のとおりです。
- ツール入力をスキーマどおりにしたい:
autoのまま、ツール定義にstrict: trueを付ける。または structured outputs に移す - ツールを呼んでほしい: プロンプトに「どんなときにそのツールを使うか」を書く
response = client.messages.create(
model="claude-sonnet-5-5",
max_tokens=16000,
system="天気を聞かれたら、必ず get_weather ツールで調べてから答えてください。",
tools=[{
"name": "get_weather",
"description": "指定した都市の天気を返す",
"strict": True, # 引数がスキーマどおりになる
"input_schema": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"],
"additionalProperties": False,
},
}],
tool_choice={"type": "auto"}, # {"type": "tool", ...} は 400
messages=[{"role": "user", "content": "東京の明日の天気は?"}],
)
# auto は呼び出しを保証しないので、tool_use が返ったかを確認する
called = any(block.type == "tool_use" for block in response.content)
⚠️ 3. thinking ブロックがモデルと会話に紐づく
すべての thinking ブロックには、生成したモデルが記録されます。縛りは3つあります。
モデルの縛り: Sonnet 5.5 は、Sonnet 5・Opus 4.8・Haiku 4.5 以前のモデルが出したブロックを読めます。Opus 5・Opus 5.5・Fable・Mythos のブロックは読めません。逆に、Sonnet 5.5 のブロックを読めるのは、Claude API と Google Cloud 上の Opus 5.5 だけで、ほかのモデルは読めません。Sonnet 5 から Sonnet 5.5 へ、または Claude API と Google Cloud 上で Sonnet 5.5 から Opus 5.5 へ移った会話は推論の履歴が引き継がれ、それ以外の切り替えでは、切り替え後のターンが推論の履歴なしで進みます。読めないブロックは API が落とし、リクエストは成功し、落とされた分は課金されません。ベータヘッダ thinking-binding-controls-2026-08-01 を付けると、落とされたブロックがトップレベルの input_transformations に載ります。
会話の縛り: ブロックを生成した時点から、system・tools・過去のメッセージが変わっていないかを API が検査します。2026年8月31日 0:00 UTC 以降に作ったアカウントでは、Claude API・Amazon Bedrock・Google Cloud で既定で有効です。履歴を編集してから古いブロックを送り直すと 400 になります。
対処は、履歴を追記のみにすることです。指示やツールの変更は、履歴の書き換えではなく mid-conversation system messages で行います。どうしても編集が要るなら、ベータヘッダ thinking-binding-controls-2026-08-01 を付けて thinking.block_binding.prefix_mismatch_behavior を "drop_block" にすると、該当ブロックだけ落として通せます。ただし block_binding は adaptive thinking でしか使えません。between_tools のときは、履歴を追記のみに保つか、編集したターン以降の thinking ブロックを取り除きます。
アカウントの縛り: Sonnet 5.5 が出したブロックは、生成したアカウント(またはリンクされたアカウント)でしか使えません。別のアカウントから送られると、API は落として、リクエストは成功します。以前のモデルのブロックは対象外です。
履歴の圧縮、ツール一覧の動的な変更、古いスクリーンショットの間引きなどを自前でやっているハーネスは、ここで一番踏みやすいです。
⚠️ 4. computer use は toolset 経由のみ(Claude API と Google Cloud)
Claude API と Google Cloud では、computer use は computer_toolset_20260801 でしか使えません。computer_20251124 を宣言すると 400 になり、Claude API ではメッセージが 'claude-sonnet-5-5' does not support tool types: computer_20251124. で始まります。Amazon Bedrock では、Sonnet 5.5 でも computer_20251124 が通ります。
移行では、tools の宣言を {"type": "computer_toolset_20260801"} に変え(ベータヘッダは不要)、computer 操作に答える tool_result に "toolset_name": "computer" を必ず入れます。
スクリーンショットの扱いにも注意が要ります。古いスクリーンショットをクライアント側で間引くと、その後に生成された thinking ブロックがすべて無効になります。公式は、スクリーンショットを長辺2000px以下に縮小して、古いものはサーバー側の tool result clearing に任せるよう案内しています。クライアントで間引くなら、そのときから prefix_mismatch_behavior: "drop_block" を指定し続けます。
⚠️ 5. advisor ツールで使える相手が減った
advisor ツール(ベータ)で Sonnet 5.5 を executor にする場合、advisor には Opus 5・Opus 5.5・Sonnet 5.5・Fable 5・Fable 5.1・Mythos 5・Mythos 5.1 のいずれかが必要です。Opus 4.8・4.7・4.6、Sonnet 5、Sonnet 4.6 を advisor にすると 400 になります。どの advisor も助言は暗号化された advisor_redacted_result ブロックで返るので、クライアントでテキストを読むことはできません。
⚠️ refusal のカテゴリが5つに増えた
Sonnet 5.5 は、Sonnet 5 より広い範囲で応答を拒否します。拒否は HTTP 200 で返り、stop_reason が "refusal"、理由は stop_details.category に入ります。
| category | 内容 |
|---|---|
cyber |
マルウェアやエクスプロイト開発など、サイバー被害につながる内容。ソースコードの脆弱性調査は対象外 |
bio |
生物学的な危害につながる内容。日常的な健康・教育の質問は対象外 |
frontier_llm |
競合する AI モデルの開発を助ける内容 |
reasoning_extraction |
モデル内部の推論を応答文に書き出させる依頼 |
general_harms |
その他の利用ポリシー領域。無害な作業でも当たることがある |
content を読む前に必ず stop_reason を確認します。server-side fallback(fallbacks: "default"、ベータ、Claude API のみ)は、cyber と frontier_llm の拒否だけを Sonnet 5 で再試行します。それ以外の3カテゴリは再試行されません。SDK のミドルウェアや自前のリトライも使えます。
「推論を書き出してから答えて」というプロンプトは reasoning_extraction に当たりやすいので、外します。推論を読みたいときは、adaptive thinking で display: "summarized" の thinking ブロックを読みます。正当なセキュリティ業務は Cyber Verification Program、bio の誤検知が業務に支障を出すなら Life Sciences Verification Program に申請できます。
if response.stop_reason == "refusal":
# stop_details は refusal のときだけ入る
category = response.stop_details.category if response.stop_details else None
... # カテゴリに応じて、再試行・別モデルへの退避・ユーザーへの通知を決める
✅ そのまま動くもの
- 価格、トークナイザー、1Mコンテキスト、128K出力は Sonnet 5 と同じ
- prompt caching、Batch API、Files API、PDF、ビジョン、サーバー側・クライアント側のツールは引き続き使える
- 公式のモデルページによると、Claude API・Bedrock・Google Cloud・Microsoft Foundry・Claude Platform on AWS で使える
Claude Code が使える環境なら、/claude-api migrate this project to claude-sonnet-5-5 のように頼むと、移行作業を任せられます。公式の移行ガイドで案内されている方法です。
まとめ
Sonnet 5.5 は、価格を据え置いたまま速度とトークン効率を上げた更新です。Terminal-Bench 4.0 では Opus 5.5 を上回りましたが、コード側の対応が必要な更新でもあります。Sonnet 5 を使っているなら、次の順で確認すると漏れにくいです。
-
thinking: {"type": "disabled"}を使っている箇所を洗い出す。between_tools(efforthigh以下)か、adaptive thinking のloweffort に置き換える -
tool_choiceがany/toolの箇所を、auto+strict: true、または structured outputs に置き換える。count_tokensも対象 -
messagesを自分で組み立てているなら、履歴が追記のみになっているか確認する。モデルの切り替えやリトライで、推論の履歴が落ちることも把握しておく - computer use を使っているなら、
computer_toolset_20260801に移る(Bedrock はcomputer_20251124のまま通る) - advisor ツールを使っているなら、組み合わせを確認する
-
stop_reason == "refusal"の分岐を入れる。server-side fallback の対象はcyberとfrontier_llmのみ - effort を振り直し、タスク単位のコストとレイテンシを測り直す
- UI がツール実行中に止まって見えないか確認する。必要なら
display: "updates"を使う - Claude Code を Bedrock・Google Cloud・Foundry 経由で使っているなら、
sonnetエイリアスが Sonnet 5.5 を指さないので、モデルを明示する
最難関のエージェント作業や、複雑な判断が要る処理は Opus 5.5 のほうが向いています。それ以外なら、半額の Sonnet 5.5 を先に試す価値があります。
参考リンク
- Anthropic:Introducing Claude Sonnet 5.5
- Claude Docs:Claude Sonnet 5.5
- Claude Docs:What's new in Claude Sonnet 5.5
- Claude Docs:Migrating to Claude Sonnet 5.5
- Claude Docs:Prompting Claude Sonnet 5.5
- Claude Docs:Effort
- Claude Docs:Computer use tool
- Claude Docs:Pricing
- Claude Code Docs:Model configuration