9月28日、claude.devが「Building with Claude Sonnet 5.5 / claude.dev Blog」と題した記事を公開した。この記事では、Claude Sonnet 5.5の実装方法・モデル選定基準・Sonnet 5からの移行手順・コストチューニングについて詳しく紹介されている。
Sonnet 5.5の基本スペック:何が変わったか
Claude Sonnet 5.5は、Claude 5.5ファミリーの2番目のモデルで、Opus 5.5に続いてリリースされた。APIで使用するモデルIDはclaude-sonnet-5-5(ハイフン区切り)である。「5.5」という表記はブランド名上の呼称であり、APIのモデルIDとは表記形式が異なるため、コードに埋め込む際はハイフン区切りのclaude-sonnet-5-5を使う点に注意していただきたい(※Anthropic公式モデル一覧でも命名規則を確認できる)。
前世代のSonnet 5と比較して30%高速化されており、1トークンあたりの価格は据え置きのまま、タスクあたりのトークン消費量が減少したことで実質的なコストは最大30%削減できるとしている。AnthropicのモデルロードマップにおけるSonnet系列は、Opusより低コスト・高速で日常的な開発・エージェントタスクをカバーするポジションにある。Sonnet 5.5はそのポジションを維持しつつ、推論品質をOpus世代に近づけた点が今回の主な改善点だ。
試すには以下のコードをそのまま実行できる:
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(推論)が有効になっている。レスポンスがthinkingブロックから始まる場合があるため、content[0].textで直接アクセスするコードは壊れる。ブロックをtypeで読み分ける上記のパターンが必須だ。
実務での最重要判断:Sonnet 5.5かOpus 5.5か
記事の核心はここだ。ユースケース別の選定基準が明示されている:
| ワークロード | 推奨モデル |
|---|---|
| バグ修正・機能の素早いイテレーション | Sonnet 5.5 |
| 大量の日常的な開発作業 | Sonnet 5.5 |
| ドキュメント・スライド・スプレッドシート作成 | Sonnet 5.5 |
| 繰り返し実行する定型エージェントタスク | Sonnet 5.5 |
| 長期間にわたる複雑なエージェントコーディング | Opus 5.5 |
| 最高水準の判断力が必要な問題 | Opus 5.5 |
Epic Gamesの関係者(記事中ではDaniel Vogel氏として紹介)のコメントも掲載されている:
「Epic の早期テストでは、Claude Sonnet 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からのモデルID差し替えだけでは1トークンあたりの料金は変わらないが、タスクあたりのトークン消費量が減るため総コストは下がる見込みだ。最新の価格はAnthropic公式Pricingでも確認できる。
画像処理に関する注意点:Sonnet 5.5は高解像度画像ティア(長辺最大2576px)を使用しており、2000×1500の画像はSonnet 4.6やHaiku 4.5と比べて約2.5倍のトークンを消費する。不要な高解像度処理を避けたい場合は、送信前にリサイズするべきだ。
Sonnet 5からの移行で押さえる5つの破壊的変更
モデルIDをclaude-sonnet-5-5に変えるだけでは動かない。記事では5つの破壊的変更が詳述されている。
最重要:thinkingの扱いが変わった
Sonnet 5でthinking: {"type": "disabled"}を使っていた場合、そのままでは400エラーになる。代わりにbetween_toolsを指定する:
# Before: Claude Sonnet 5
client.messages.create(
model="claude-sonnet-5",
thinking={"type": "disabled"},
output_config={"effort": "xhigh"},
...
)
# After: Claude Sonnet 5.5
client.messages.create(
model="claude-sonnet-5-5",
thinking={"type": "between_tools"},
output_config={"effort": "high"},
...
)
between_toolsはツール呼び出しの間だけthinkingを実行するモードで、low/medium/highのeffortでのみ有効。xhighやmaxでは使えない点に注意。
その他の変更点
- tool_choiceの変更:
anyやtoolタイプは400エラー。autoに変更し、ツールにstrict: trueを付ける - 会話の追記専用化:過去のthinkingブロックを編集・削除してはいけない
- computer useのツールセット移行:
computer_20251124は廃止、computer_toolset_20260801を使う(computer useのドキュメントも参照) - advisorペアリングの制約:Sonnet 5.5のexecutorはOpus 4.8、Opus 4.7、Sonnet 5をadvisorとして拒否する。これはモデル世代間のアーキテクチャ非互換に起因するものと考えられており、advisorには同世代(5.5ファミリー)のモデルを組み合わせる必要がある
Claude Codeを使っているなら、/claude-api migrate this project to claude-sonnet-5-5コマンドで自動移行もできる。
effortレベルのチューニング指針
Sonnet 5.5ではeffortレベルが再調整されており、Sonnet 5時代の設定は引き継げない。推奨の出発点は以下の通り:
- 通常タスク:
highから始める(Claude APIのデフォルト) - エージェントコーディング・多段階ツール使用:明確なタスクなら
medium、難易度が高いものはhigh - チャット・レイテンシー重視:
mediumかlow - **
xhigh/max**:evalで明確な品質向上が確認できた場合のみ
xhighやmaxを使いたくなったら、むしろOpus 5.5への切り替えを検討するよう記事は示唆している。effortレベルと推論動作の詳細についてはAnthropicの拡張思考ドキュメントも参考になる。
詳細はBuilding with Claude Sonnet 5.5 / claude.dev Blogを参照していただきたい。