原典: Building with Claude Sonnet 5.5
一行要約
Sonnet 5.5 は範囲の決まった日常の作業(バグ修正、機能の素早い反復、要件に対する検証、見た目の整った文書・スライド・表)向けで、難しい判断や長時間の作業は Opus 5.5。単価は Sonnet 5 と同じで、同じ仕事に要るトークンが少ない。移行は破壊的変更5つと応答の形の変更1つ。
要点
Sonnet 5.5 か Opus 5.5 か
Sonnet 5.5 fits best when the task has a clear spec and a way to check the result.
Sonnet 5.5 が最も合うのは、タスクに明確な仕様と結果を確かめる手段があるときである。
| 作業 | 出発点 |
|---|---|
| 範囲の決まった日常のコーディング(バグ修正、機能の素早い反復、要件に対する検証) | Sonnet 5.5 |
| 大量の日常の開発 | Sonnet 5.5 |
| 見た目の整った文書・スライド・表(デザインの目が効くもの) | Sonnet 5.5 |
| 繰り返し走らせる定型のエージェント作業(調査・レビュー・下書き) | Sonnet 5.5 |
| 慎重な判断が要る複雑な作業(長時間の agentic coding と知識作業を含む) | Opus 5.5 |
| 最も知能が要る最難の問題 | Opus 5.5 |
価格と仕様
| 100万トークンあたり | Sonnet 5.5 | Opus 5.5 |
|---|---|---|
| 入力 | $2 | $4 |
| 出力 | $10 | $20 |
| キャッシュ書き込み(5分) | $2.50 | $5 |
| キャッシュ書き込み(1時間) | $4 | $8 |
| キャッシュ読み取り | $0.20 | $0.20 |
すべての単価は Sonnet 5 と同じ(batch と prompt caching を含む)。US 限定の推論(inference_geo: "us")は1.1倍。単価は変わらないが、1タスクあたりのトークンが少ないので請求は変わる(たいていの作業で最大30%安い、と原典)。
- 1M context が native(beta ヘッダ無し)、最大出力 128k(Message Batches API では beta ヘッダで 300k まで)、知識のカットオフあり
- thinking は既定でオン(adaptive)、
between_toolsで事前の thinking を切る - 既定の effort は Claude API で
high、Claude Code でmedium - トークナイザは Sonnet 5 と同じ、最小キャッシュ長は 512(Sonnet 5 は 1,024)
- 画像は高解像度の段(長辺 2576px)。2000×1500 の画像は Sonnet 4.6 / 4.5 / Haiku 4.5 の約2.5倍のトークン。細部が要らなければ送る前に縮める
xhigh / max に手を伸ばす前に —— Sonnet 5.5 はより長く考えてコストが増え、品質・速度・コストの釣り合いという Sonnet の良さを失いうる。その場合は Opus 5.5 を考える。
Sonnet 5 からの移行(6つ)
/claude-api migrate this project to claude-sonnet-5-5 で同梱の Claude API skill が、モデル ID の置き換えと破壊的なパラメータ変更をコードベース全体に当てる。
- 事前の thinking を
between_toolsで切る(disabledは 400)。low/medium/highでだけ受け付け、他のフィールドは取らず、会話途中で effort を変えられない。ツール無しで数段の検討が要るリクエストには adaptive を使う - 強制
tool_choiceをautoと strict ツールに(token counting のエンドポイントでも 400) - 会話を追記だけに保つ
- computer use を toolset に(Claude API と Google Cloud。Bedrock は
computer_20251124のまま) - advisor の組み合わせを確かめる(助言は暗号化されて返る)
- ツール呼び出しの合間の文を
thinkingブロックから読む(エラーは出ないが、UI がノートを出さなくなる)
調整
- effort の sweep をやり直す(較正し直されたので、古い設定は持ち越せない)。agentic coding は
max_tokensを 128,000 にしてストリーミング。考える量を減らすなら effort を下げる(system prompt で頼んでも確実には減らない) - Sonnet 5 の回避策を外してから eval を回す(拒否の誘導、ツール呼び出しの再試行の shim、「do not be lazy」など)
lowでは本物の検査を求める(prompting guide の段落)- 推論を応答に書かせない(
reasoning_extractionの拒否を招く)。要約された thinking を読む - キャッシュを広げる —— 最小 512 トークンになったので、短い system prompt やツール定義も対象になる
拒否と提供範囲
Sonnet として初めて、最上位モデル並みのサイバーセキュリティの安全機構を持つ(日常のソフトウェア開発のほとんどは影響を受けない)。拒否は HTTP 200 で stop_reason: "refusal"、カテゴリは5つ。サーバ側フォールバックは cyber と frontier_llm だけを Sonnet 5 で再試行する。
Claude Code では v2.1.284 以降、Claude API の sonnet エイリアスが Sonnet 5.5 になる(既定 effort は medium、1M context は native)。Claude Code では Sonnet 5.5 の thinking を切れない。fast mode は無い。 既定のモデルは Opus 5.5 のままなので、範囲の決まったタスクでは /model sonnet で切り替える。
thinking ブロックの扱い(他の原典と食い違う点)
Sonnet 5.5 thinking blocks are tied to the model and the conversation. Sonnet 5.5 reads Sonnet 5’s thinking blocks, so a conversation you switch from Sonnet 5 to Sonnet 5.5 keeps its reasoning. No other model reads Sonnet 5.5’s blocks.
Sonnet 5.5 の thinking ブロックはモデルと会話に結びついている。Sonnet 5.5 は Sonnet 5 の thinking ブロックを読むので、Sonnet 5 から Sonnet 5.5 に切り替えた会話は推論を保つ。Sonnet 5.5 のブロックを読む他のモデルは無い。
thinking は 以前の取得で「Claude API と Google Cloud では Opus 5.5 が読む」と書いている(OVERVIEW §5)。
そのまま使える具体例
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-sonnet-5-5",
max_tokens=4096,
messages=[
{
"role": "user",
"content": "Analyze the trade-offs between microservices and monolithic architectures",
}
],
output_config={"effort": "medium"},
)
for block in response.content:
if block.type == "text":
print(block.text)(Sonnet 5.5 は既定で考えるので、応答は thinking ブロックで始まりうる。content[0].text を読むコードは壊れる)
/claude-api migrate this project to claude-sonnet-5-5
/model sonnet原典で言及されている関連文書
- prompting-claude-sonnet-5-5 — prompting guide
- sonnet-5-5-migration-guide — 移行ガイド