powered by TechFeed
表示モード
Deep Dive

Claude Haiku 5.5は価格10分の1・性能4倍 — 移行で踏む3つの地雷と、Pythonで実装するサブエージェント構成

10月20日、KDNuggetsが「Claude Haiku 5.5: What's New and How to Use It for Fast, Cheap AI Workflows」と題した記事を公開した。Anthropicが2025年10月7日にリリースしたClaude Haiku 5.5は、前世代比で価格が10分の1になりながら、コンピュータ操作ベンチマーク(OSWorld 2.1)のスコアが15.7%から72.4%へと約4.6倍に跳ね上がるという異例のモデルだ。既存コードをそのまま移行すると壊れる変更点が3つあり、本記事ではその地雷の回避策と、Pythonによる実装パターンを紹介する。

10月20日、KDNuggetsが「Claude Haiku 5.5: What's New and How to Use It for Fast, Cheap AI Workflows」と題した記事を公開した。Anthropicが2025年10月7日にリリースしたClaude Haiku 5.5は、前世代比で価格が10分の1になりながら、コンピュータ操作ベンチマーク(OSWorld 2.1)のスコアが15.7%から72.4%へと約4.6倍に跳ね上がるという異例のモデルだ。既存コードをそのまま移行すると壊れる変更点が3つあり、本記事ではその地雷の回避策と、Pythonによる実装パターンを紹介する。


価格は10分の1、性能は別物

Haiku 5.5で最も目を引くのは価格だ。入力トークン**$0.10/百万トークン、出力トークン$0.50/百万トークン**(プロンプトが100Kトークン以下の場合)。前世代のHaiku 4.5が$1.00/$5.00だったことを考えると、定価ベースで10分の1になった計算だ。

ただし注意点がある。Haiku 5.5は新しいトークナイザーを採用しており、同じテキストでもトークン数が約30%増える。また、リクエストの10%程度は100Kトークンを超え、その場合は$0.50/$2.50の高い料金が適用される。Anthropicによると、これらを考慮した実際の平均節約率は**約75%**とのことだ。

性能面での変化も大きい。ベンチマーク上の主な変化は以下の通り:

指標 Haiku 4.5 Haiku 5.5
コンテキストウィンドウ 200Kトークン 1Mトークン
最大出力 64Kトークン 128Kトークン
Humanity's Last Exam(ツールなし) 10.2% 45.9%
OSWorld 2.1(コンピュータ操作) 15.7% 72.4%
Terminal-Bench 4.0(エージェント型コーディング) 0.0% 39.2%
最小キャッシュ可能プロンプト 4,096トークン 512トークン

なお、これらのベンチマーク数値はAnthropicの自社計測であり、ローンチページではSonnet 5.5がすべての指標で上回っている点も明示されている。


Haiku 4.5からの移行で踏む3つの地雷

既存コードをそのまま動かすと壊れる変更が3つある。

  1. サンプリングパラメータの廃止:temperature、top_p、top_kをAPIリクエストに含めるとエラーになる。これらのパラメータを渡しているコードは削除が必要だ。

  2. アシスタントprefillの禁止:メッセージ配列の末尾をアシスタントのメッセージで終わらせる(prefill)とエラーになる。また、budget_tokensによる手動thinking指定も同様にエラーになる。これらはAnthropicの拡張思考ドキュメントに詳細がある。

  3. adaptive thinkingとrefusalへの対応:adaptive thinking(適応的思考)がデフォルトで有効になったため、レスポンスがthinkingブロックから始まることがある。thinkingトークンはmax_tokensにカウントされるため、max_tokensを小さく設定していると詰まる。また、安全分類器がリクエストを拒否した場合のstop_reason: "refusal"を処理するコードが必要になった。サイバーセキュリティ関連の制約はHaiku 4.5より厳しくなっており、ペネトレーションテストはブロックされる。


Pythonで実装する3つのパターン

1. 分類・抽出(最もコスパが良いユースケース)

Haiku 5.5が最も得意とするのは、短い入力に対して構造化された短い回答を返す処理を大量に繰り返すケースだ。JSON出力機能(output_configでスキーマを指定)を使うと、スキーマに準拠したJSONが保証される。

def ask_json(schema, instruction, text, model=MODEL, effort="low"):
    reply = client.messages.create(
        model=model,
        max_tokens=1000,
        system=instruction,
        messages=[{"role": "user", "content": text}],
        output_config={"effort": effort, "format": {"type": "json_schema", "schema": schema}},
    )
    if reply.stop_reason in ("refusal", "max_tokens"):
        raise RuntimeError(f"No usable answer, stop reason: {reply.stop_reason}")
    answer = "".join(block.text for block in reply.content if block.type == "text")
    return json.loads(answer), reply.usage

effort="low"を指定することで、簡単なタスクには短い思考時間しか割かせない設計になっている。temperatureは渡してはいけない(エラーになる)。thinkingブロックを読み飛ばすためにブロックタイプで絞り込む処理も必須だ。output_config.effortの詳細はAnthropicの公式ドキュメントを参照されたい。

なお、JSON出力機能はAmazon Bedrockでは利用不可。Bedrockを使う場合はプロンプトでフォーマットを指示し、結果を自前でバリデーションする必要がある。

2. サブエージェント構成(コスト削減の本命)

大きなモデルが指示を出し、Haikuワーカーが並列で細かい処理をこなす構成がAnthropicの推奨パターンだ。実際にCognitionはDevin FusionでOpus 5.5をリードに、Haiku 5.5をサブエージェントとして使っているとされる(Cognition事例ページ参照)。

async def answer(documents, question):
    limit = asyncio.Semaphore(8)  # 同時実行数の上限
    notes = await asyncio.gather(*(summarize(n, d, limit) for n, d in documents.items()))
    worker_cost = sum(cost for _, _, cost in notes)
    brief = "\n".join(f"[{name}] {summary}" for name, summary, _ in notes)
    reply = await client.messages.create(
        model=LEAD,
        max_tokens=2000,
        system="You are the lead analyst. Answer using only the worker notes.",
        messages=[{"role": "user", "content": f"Question: {question}\n\nWorker notes:\n{brief}"}],
        output_config={"effort": "medium"},
    )
    return text_of(reply), worker_cost, cost_usd(LEAD, reply.usage)

肝は「リードモデルにはHaikuが要約した短文だけを送る」点にある。ドキュメント全文をSonnetやOpusに投げないことで、高単価なトークン消費を抑える設計だ。asyncio.Semaphore(8)でレートリミット超過を防いでいる。

3. 3モデルの実コスト・レイテンシ比較スクリプト

記事では同一の分類タスクをHaiku 5.5、Sonnet 5.5、Opus 5.5で実行し、精度・レイテンシ・コストを自分のアカウントで計測するスクリプトも紹介している。公開ベンチマーク数値はあくまで参考であり、実際のワークロードで計測することを推奨している。


どのモデルを選ぶべきか

記事の整理によれば、Haiku 5.5が向いているのは分類、要約、抽出、コンパクション、データベースクエリといった高頻度・低複雑度タスクだ。一方で、Sonnet 5.5やOpus 5.5の方が全ベンチマークで上回っており、推論の深さが求められるタスクには大きなモデルを選ぶべきとしている。

APIモデルIDはclaude-haiku-5-5。Claude Platform、AWS、Google Cloud、Microsoft Azureで利用可能。廃止予定の最早日付は2027年10月7日とされている。


詳細はClaude Haiku 5.5: What's New and How to Use It for Fast, Cheap AI Workflowsを参照していただきたい。