ブログ一覧

Haiku 5.5 は 4.5 で失敗した作業もこなし費用は Sonnet の約 1/10

更新: Web開発者向け

Anthropic からサブエージェント向けの新しいモデル Claude Haiku 5.5 が出ました。以前の Haiku 4.5 はかなり限定的なタスクしか任せられず、結局 Sonnet を使っていたので、新しいモデルではどこまでできるようになったのか確かめてみました。

同じ 5種の作業を 3回ずつ渡すと、Haiku 4.5 は 15回中 4回失敗し、費用も Sonnet 5.5 とほぼ同じでした。Haiku 5.5 は effort を low にしても全部通り、費用は Sonnet 5.5 の約 1/10 です。ただ速くはならず、頼んでいないテストのファイルや英語の報告が残りました。

私は個人で複数のサイトを運用していて、作業の多くを Claude Code のサブエージェントに任せています(やり方は Claude Code のサブエージェント並列でサイト群を保守する に書きました)。サブエージェントのモデルは Claude Code のサブエージェントの設定で model に haiku と書くだけで替えられるので、任せられるなら替えない理由はありません。

Haiku 4.5 は 15回中 4回失敗し、費用も Sonnet 5.5 とほぼ同じ

試したのは次の 5種の作業です。どれも依頼文 1本で終わるもので、5 だけ難しくしてあります。

  1. 会議室の予約の小さなライブラリで落ちているテスト 2本を直す。隣り合う予約を重なりとみなしてしまう比較と、日をまたぐ予約の扱いの 2つの不具合で、テストには手を付けさせない
  2. 6 ファイルにまたがる型のフィールド userName を displayName に改名する。外部 API のキー user_name は変えない
  3. Astro 製の CMS「EmDash」1.2.0 の大きな配布物を読み、期限切れのトークンなどを消す定期の後片付けを毎分から 1 時間に 1回にした判定について、その関数と判定の中身を答える
  4. カーソル方式のページ送りを 6 項目の仕様から実装する
  5. 「毎週月・水・金」「毎月31日」のような繰り返しの予定の規則を、7 項目の仕様から展開する関数を実装する。31日が無い月は飛ばす、回数の上限は除いた日も数える、2 週おきは最初の週から月曜始まりで数える、といった細かい決まりがある

4 と 5 では渡すときに見せたテストは 2本だけで、別に隠しテスト(作業を渡すときには見せず、終わった後に私が走らせて仕様どおりかを確かめるテスト)を 4 に 7本、5 に 12本用意しました。採点は全部自動で、どの作業でもテストと型検査が通るか、変えてはいけない所が元のままかを見て、4 と 5 は隠しテストが全部通るか、3 は答えに関数名・何分に走るか・前回からの間隔の 3つが入っているかも見ています。

Claude Code の CLI を作業ごとに起動し、サブエージェントに渡すのと同じような依頼文を 1本ずつ渡しました。モデルは claude-haiku-4-5、claude-haiku-5-5、claude-sonnet-5-5 で、Haiku 4.5 は effort を指定できないので 1 通りで 15回、Haiku 5.5 と Sonnet 5.5 は --effort low と指定なしの 2 通りでそれぞれ 30回です。

Haiku 4.5 が失敗した 4回のうち 2回は 5 で、1回は 31日が無い月の扱いと週の回数の上限の数え方を間違え、もう 1回は除いた日を回数に数えていませんでした。4 では壊れたカーソルに決められたエラーを投げなかった回があり、3 では判定の中身は正しく答えたのに聞かれた関数名を答えなかった回がありました。

費用は、使ったトークン数に Anthropic の価格表の単価を掛けて出した見積もりで、実際の請求額ではありません。Claude Code はキャッシュを 1 時間保持するので、キャッシュの書き込みはその単価で計算しています。価格表にある 100 万トークンあたりの単価は次のとおりです。

  • Haiku 4.5: 入力 1 ドル / 出力 5 ドル
  • Haiku 5.5: 入力 0.10 ドル / 出力 0.50 ドル
  • Sonnet 5.5: 入力 2 ドル / 出力 10 ドル

単価は Sonnet 5.5 の半分なのに、1〜4 の 1回あたりの平均費用は Haiku 4.5 が 0.08〜0.11 ドル、Sonnet 5.5 の low が 0.06〜0.10 ドルでほぼ変わりません。難しい 5 では Haiku 4.5 が 0.23 ドル、Sonnet 5.5 の low が 0.15 ドルで、Haiku 4.5 の方が高くつきました。

Haiku 5.5 は low でも全部通り、費用は Sonnet 5.5 の約 1/10

Haiku 5.5 は low と既定の 30回が全部通り、Haiku 4.5 が 2回失敗した 5 でも隠しテスト 12本を 6回とも全部通しました。Sonnet 5.5 も 30回全部通ったので、出来はどちらも同じです。

1回あたりの平均費用を Haiku 5.5 と Sonnet 5.5 の low どうしで比べると次のとおりで、Haiku 5.5 は Sonnet 5.5 の約 1/18〜1/8、難しい 5 では約 1/10 でした。

  • 1(テストを直す): Haiku 5.5 0.006 ドル / Sonnet 5.5 0.104 ドル
  • 2(改名): Haiku 5.5 0.006 ドル / Sonnet 5.5 0.085 ドル
  • 3(配布物を読む): Haiku 5.5 0.007 ドル / Sonnet 5.5 0.064 ドル
  • 4(ページ送り): Haiku 5.5 0.010 ドル / Sonnet 5.5 0.079 ドル
  • 5(繰り返しの予定): Haiku 5.5 0.015 ドル / Sonnet 5.5 0.153 ドル

Sonnet 5.5 は effort の設定の説明にある low にしても、既定と比べて費用は 0〜3割しか下がりませんでした。

Haiku 4.5 は Sonnet 5.5 より安くも確実でもなかったので、これまでサブエージェントに Haiku を使う理由はありませんでした。5.5 でやっとその理由ができたと思います。

速くはならず、親の側に後始末が残る

Claude Haiku 5.5 の発表ページでは Anthropic のモデルでいちばん速いとされていますが、ツールを何度も呼びながら進める今回の作業では速くなりませんでした。low でかかった時間の中央値は 1〜3 では Sonnet 5.5 とほぼ同じで、4 と 5 では Haiku 5.5 の方が遅くなりました。

  • 4(ページ送り): Haiku 5.5 39秒 / Sonnet 5.5 27秒
  • 5(繰り返しの予定): Haiku 5.5 61秒 / Sonnet 5.5 47秒

Haiku 4.5 はさらに遅く、5 で 262秒かかっています。モデルとツールのやり取りの回数(ターン数)は、1 と 4 で Haiku 5.5 が Sonnet 5.5 の 2倍以上ありました。

やり取りが増える様子は、4 を Haiku 5.5 の既定で渡した 1回目によく出ています。Haiku 5.5 は頼まれていないテストのファイルを自分で足し、どんな結果でも真になるので何も確かめていない || true 付きのアサーションと、並び順を読み違えた期待値を書きました。そのテストを走らせて落ちたのを見て自分のテストの方を直していて、実装は最初から正しいままでした。

4 では Haiku 5.5 が low と既定の 6回とも頼んでいないテストのファイルを足し、そのまま残しました。依頼文は日本語でしたが、Haiku 5.5 は 1〜4 の 24回のうち 11回を英語で報告し、Sonnet 5.5 は 24回とも日本語で報告しています。

一度に大量のソースを読ませると単価は 5倍、それでも Sonnet 5.5 の約 1/4

Anthropic の価格表では、Haiku 5.5 は 1回のプロンプトが 10 万トークンを超えると入力・出力・キャッシュの料金が全部 5倍になり、Sonnet 5.5 にはこの境目がありません。Claude Code で起動した作業は依頼文を渡しただけでも、Claude Code の設定とツールの説明で 1回目のプロンプトが 3 万トークン強になりますが、1〜5 では 1回のリクエストが多くても 5.5 万トークン程度で、境目の手前でした。

境目より上は、大きなソースを 1回で渡して名前が cleanup で始まる export された関数を全部挙げさせて確かめました。正解は 5つで紛らわしいクラスのメソッドが 1つ混じっていて、1回のプロンプトは約 19 万トークンになりましたが、Haiku 5.5 と Sonnet 5.5 の 4 通りを 3回ずつ渡した 12回すべてで正しく挙げられました。

この読み取りの平均費用は Haiku 5.5 が 0.19 ドル、Sonnet 5.5 が 0.74 ドルでした。Haiku 5.5 の費用のほとんどは、Claude Code がプロンプトをキャッシュに書き込む料金に境目より上の単価がかかった分です。

1回の依頼で終わる作業では差が出ず、Terminal-Bench では大きな差

環境を長く調べながら直していくような作業は試していません。端末で環境を調べて課題を解くベンチマークの Terminal-Bench 4.0 では、Claude Haiku 5.5 の発表ページによると Haiku 5.5 が 39.2%、Sonnet 5.5 が 70.6% と大きな差があります。今回の 5種で差が出なかったのは、どれも依頼 1回で終わる作業だったからだと思います。

親の会話から Agent ツールで渡す本物のサブエージェントでも試していません。また各設定 3回ずつなので、Haiku 4.5 と Haiku 5.5 の差は傾向で、失敗する確率がどのくらいかまでは分かりません。

この記事をシェア