powered by TechFeed
表示モード
ハウツー

Claude Sonnet 5.5への移行は「モデルIDの差し替えだけ」では動かない — 破壊的変更5つと30%コスト削減の恩恵を得るための実践ガイド

9月28日、claude.devが「Building with Claude Sonnet 5.5 / claude.dev Blog」と題した記事を公開した。この記事では、Claude Sonnet 5.5の実装方法・モデル選定基準・Sonnet 5からの移行手順・コストチューニングについて詳しく紹介されている。

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を参照していただきたい。