AIDive

Claude CodeのサブエージェントはHaiku 5.5を無視。2ファイルで直す

AIDive · 公開

コーディングエージェントAI モデル

イントロ: 誰も呼ばない安価なワーカー

Claude Codeのサブエージェントは、2つのファイルで指示しない限りHaiku 5.5を使いません。これがこの記事の結論のすべてで、以降はその裏付けとなる測定です。実際のリポジトリで7つの日常タスクを用意し、Haiku 5.5、Sonnet 5.5、Opus 5.5にそれぞれワーカーを任せ、ブロックごとにプランのメーターを読みました。

Haiku 5.5は2026年10月7日に登場しました。Anthropicはこれをサブエージェント向けのモデルと位置づけ、トークン単価は旧Haikuの10分の1です。1つのアカウントの1か月分のログは、もう半分の事情を物語ります。サブエージェント実行2,631回のうちHaikuは42回だけで、すべてのサブエージェントがメインモデルを引き継ぐためです。すべてのサブエージェントをHaikuにすると、プランのメーターは実際にどれだけ戻ってくるのか、という疑問が出てきます。ExploreエージェントをHaikuにするのは2つのファイルで、多くの人が手を伸ばす設定だけでは何も起きません。誰もが信頼する使用量の内訳パネルは、バイナリに埋め込まれた4つの数値から計算されています。

1タスクのコストをモデル別に比較

Haiku 5.5は入力が100万トークンあたり$0.10、出力が$0.50で、Haiku 4.5は$1と$5です。この価格が適用されるのはプロンプトが10万トークン以下の場合で、それを超えるとリクエスト全体が5倍の価格になります。Anthropicの「90%」という数字は値引きではありません。旧Haikuへのリクエストのうち、その線を超えなかったものの割合です。

モデル 入力(100万トークンあたり) 出力(100万トークンあたり)
Haiku 5.5(プロンプト10万以下) $0.10 $0.50
Haiku 5.5(プロンプト10万超) $0.50 $2.50
Haiku 4.5 $1.00 $5.00
Sonnet 5.5 $2.00 $10.00
Opus 5.5 $4.00 $20.00

現場から、さらに2つの落とし穴が見つかりました。新しいトークナイザーは、同じテキストをHaiku 4.5より約30%多いトークンとして数えます。また、maxエフォートでは、独立した計測でタスクあたり約16万2千の出力トークンが出て、競合モデルの約3倍でした。Anthropic自身の言い方は慎重で、複雑なエージェント的コーディングにはSonnetとOpusのほうが引き続き適しているとしています。Terminal-Bench 4.0では、Haiku 5.5は39.2%、Sonnet 5.5は70.6%です。

テストの対象は、サブエージェントが実際に受け取るタスクです。実際のリポジトリはtinydbで、テストスイートは226件。タスクは7種類で、コード探索、失敗するテストの修正、lintエラーの掃除、コミットメッセージの作成、小さな機能の追加、差分のレビュー、アーキテクチャの要約です。ワーカーは4つで、mediumエフォートのHaiku 5.5、lowエフォートのHaiku 5.5、Sonnet 5.5、Opus 5.5。合計182回の実行を、隠しテストか固定ルールで検証し、目視には頼りませんでした。

構成 実行回数 合格 小さな機能追加(定価) 小さな機能追加(所要時間)
Haiku 5.5、lowエフォート 70 70 $0.0052 17.1秒
Haiku 5.5、mediumエフォート 70 70 $0.0078 26.3秒
Sonnet 5.5 21 21 $0.1050 30.3秒
Opus 5.5 21 21 $0.1675 30.3秒

コードベースの探索は、Haiku lowで$0.0035、Opusで$0.1454かかり、約40倍の差がありました。Haikuが遅くなることは一度もありませんでした。7つのタスクすべてが合格し、価格はわずかで、速度は同等かそれ以上です。

なぜデフォルトでHaikuに何も回らないのか

Haikuには何も自動では回りませんが、これは設計どおりです。リリース2.1.198以降、組み込みのExploreエージェントはメインセッションのモデルを引き継ぎ、上限はOpusです。それ以前はHaikuで動いていました。カスタムサブエージェントもすべて同じです。ドキュメントには解決の順序が書かれています。起動時に指定したモデル、次にエージェントファイルのモデル、次にCLAUDE_CODE_SUBAGENT_MODEL変数、そのあとでようやくメインモデルです。

この一覧には罠があり、ドキュメントもはっきり書いています。サブエージェントのモデル変数を単独で設定しても、組み込みのExploreエージェントとPlanエージェントが動くモデルは変わりません。2回のヘッドレス実行で、両方の主張を確認しました。メインセッションをFableモデルにして、質問は1つ(Exploreエージェントを使ってクエリキャッシュがクリアされる場所を探す)。ツール結果には実際に動いたモデルが出て、それはOpus 5.5でした。サブエージェントモデル変数をHaiku 5.5にして、ほかは何も変えずに同じ実行をしても、結果は同じくOpus 5.5でした。

1か月分のログがああいう形になるのは、そのためです。サブエージェント実行2,631回のうち、Haikuに回ったのは42回。サブエージェントはアカウントの全トークンの48.1%を使い、Haikuの加重コストの割合は0.27%でした。このデフォルトは筋が通っています。メインモデルで動く探索役は、メインモデルと同じ水準でコードを読めます。ただ、それにいくらかかるのかは、誰も表示してくれません。

2つのファイル

2つのファイルで直せます。どちらか片方でも、両方でも構いません。小さいほうは、プロジェクト内のエージェントファイル1つです。.claude/agents/Explore.mdを作り、名前をExploreにして説明を付け、モデルにフルIDのclaude-haiku-5-5を指定し、エフォートをlowにして、ツールをRead、Glob、Grep、Bashに絞ります。以後、Claude Codeはこのファイルを自分のExploreエージェントとして扱います。ドキュメントにもそのまま書かれています。Exploreという名前のプロジェクトサブエージェントを定義し、Haikuモデルを指定する、と。同じヘッドレス実行でresolvedModel: claude-haiku-5-5と報告されます。

2つ目のファイルは設定です。.claude/settings.jsonにenvブロックを置き、変数を2つ入れます。CLAUDE_CODE_SUBAGENT_MODELをclaude-haiku-5-5に、CLAUDE_CODE_SUBAGENT_MODEL_FORCEを1にします。見落とされがちなのはforceのほうです。リリース2.1.257以降、このフラグは起動時やエージェントファイルでの上書きを無視して、サブエージェントモデルをすべてのサブエージェントに適用します。この2つの変数を環境に置き、エージェントファイルなしで同じ実行をすると、再びHaiku 5.5と表示されます。

目的 使うもの 副作用
すべてのサブエージェントを安く forceフラグ付きの設定envブロック 意図的にOpusにしたエージェントもHaikuに下がる
探索役だけを安く Exploreエージェントファイル ほかのエージェントは自分のモデルのまま

フルのモデルIDを指定してください。haikuエイリアスがHaiku 5.5を指すのはAnthropic APIだけで、Bedrock、Vertex、Foundryでは今もHaiku 4.5を意味します。Claude Codeのリポジトリには未解決のissueがあり、ファイルに別の指定があるのに、サブエージェント1,371件のうち1,149件が親のOpusモデルで動いたと報告しています。12ほどのビルド(2.1.277から2.1.290)にまたがって断続的に起き、Anthropicからの返信はありません。現行ビルドの2.1.293では、182回の実行すべてが設定したモデルで動きました。それでも確認はしてください。/tasksコマンドは各サブエージェントが動いたモデルを表示し、ヘッドレス実行のツール結果にも含まれます。残るレバーはエフォートです。これらのモデルでは思考をオフにできないため、Exploreファイルでlowエフォートにするのは意図的な選択で、その効果は後ほど測定します。

本当のメーターが示したもの

ストリーミング出力付きのヘッドレス実行では、実行ごとにrate_limit_eventが1つ出ます。その中に、5時間ウィンドウと7日間ウィンドウの2つの割合が、小数第2位まで入っています。これはAnthropicがすべての応答に付けて返すレスポンスヘッダーから直接来る値で、分解能は1ポイント、それ以上細かくはなりません。4つのワーカーは4つのブロックとして順番に実行し、その間アカウントには何も触れさせませんでした。

ブロック 実行回数 5時間ウィンドウ(前) 5時間ウィンドウ(後) 週間ウィンドウ
Haiku 5.5、lowエフォート 70 21% 21% 67%
Haiku 5.5、mediumエフォート 70 21% 21% 67%
Sonnet 5.5 21 21% 22% 67%
Opus 5.5 21 22% 23% 67%

定価ベースでは、マトリクス全体で$4.09かかりました。メーターでは、5時間ウィンドウが2ポイント、週間は0ポイントです。Haikuの半分は$0.54で、メーターは何も動きませんでした。このアカウントのウィンドウ1ポイントは、Haikuでのこうしたタスク140回分より大きい価値があります。

Anthropicがモデルの重みについて公表している文は1つだけです。OpusはSonnetよりターンあたりのコストが数倍高く、SonnetはHaikuより高い、というもの。数倍、です。数字はどこにもありません。ウィンドウはすべてのモデルで共通の1つのプールなので、セッション途中でモデルを切り替えても何も戻ってきません。各ブロックには最大1ポイントの丸めが含まれるため、Sonnetの1ポイントとOpusの1ポイントは区別できません。メーターが確実に証明するのは、範囲を絞ったタスクなら、どのモデルでもこの分解能では見えない、ということです。各モデルの重みは、別の場所で読み取る必要があります。

/usageの内訳は推測にすぎない

/usageパネルを開くと内訳が出ます。スキル、サブエージェント、プラグイン、MCPサーバーに割り当てられたパーセンテージです。サーバーのデータのように見えますが、違います。ドキュメントによると、この数値は概算で、このマシンのローカルのセッション履歴から計算されます。つまり式はバイナリの中にあります。実行ファイルにstringsをかけると、2つの関数が出てきます。

要素 重み
モデル階層: Fable 10
モデル階層: Opus 5
モデル階層: Haiku 1
モデル階層: それ以外 3
キャッシュされたトークン 1
新規の入力トークン 10
キャッシュ書き込み 12.5
出力トークン 50

レコードの重みは、トークン合計にモデル階層を掛けたものです。これらはクライアント側の帰属用の重みであり、サーバーがクォータをどう課金するかの証拠ではなく、その差は現れています。上のブロックにこの式を当てると、Haiku mediumの70回は29.5単位、Opusの21回は27.3単位になります。パネルはHaikuのブロックをOpusのブロックより上に並べますが、実際のメーターは0ポイント対1ポイントでした。

その下にはもう1つの欠陥があります。未解決のissueによると、サブエージェントのトランスクリプトは最初のストリーミングチャンクの使用量を記録します。ある実行では出力トークンが461と記録され、同じ実行をヘッドレスで行うと15,575でした。このマシンのトランスクリプトでは、アシスタントのエントリすべてで出力トークンが16と出ています。式はこの過小な値に50を掛けるため、大量に書くサブエージェントはパネルから消えてしまいます。使い道は、日と週のキーを使って、どのスキルやエージェントがローカルの履歴を食っているかを知ることです。実際のクォータにおけるモデルの重みについては、当てずっぽうにすぎません。

1日のクォータが本当に消える場所

メーターが見える尺度は、1日です。Andrea Grandiは、Haiku 5.5が登場した当日に、Proプランでの数字を公開しました。メインセッションはmediumエフォートのOpus 5.5、コードを書く実装役のエージェントはSonnet 5.5、残りはHaiku 5.5の2つのエージェントです。1つは編集ツールなし・最大12ターンのプランモードで動く下調べ役、もう1つはlowエフォートでコミット、プッシュ、PR作成を行う出荷役です。

指標 値
プルリクエスト数とセッション数 13件、10セッション
PRあたりの5時間ウィンドウ 約6%
PR1件のセッションあたりの週間カウンター 約1%
サブエージェントありのPRあたり推定コスト $2.31
Opusのみの場合のPRあたり推定コスト $3.59
セッションあたりのリクエスト数(前後) 75から54
リクエストあたりのトークン数(前後) 119,000から107,000

彼自身の一文が要点です。サブエージェントのトークンをOpusの料金で計算しても、10セッションは5%高くなるだけ。節約はメインのコンテキストが小さく保たれたことから生まれました。1か月分のログも、逆の側から同じことを言っています。サブエージェントが使ったのはトークンの48.1%で、全トークンの96%はキャッシュの読み込みでした。サブエージェントは起動のたびに起動プロンプトを持ち、このアカウントでは中央値が4万7千トークンで、ワーカーがOpusでもSonnetでもHaikuでも同じスタックです。モデルを切り替えても、これは小さくなりません。

エフォートは消費量を変えます。小さな機能追加で、mediumエフォートのHaikuは14ターンで23万3千トークンを読み、lowエフォートのHaikuは同じ合格結果に対して8ターンで14万トークン、Opusは8万8千トークンで済みました。独立した計測でも、上の領域で同じ曲線が出ています。highエフォートでは1タスクあたり5万5千の出力トークン、maxでは16万2千です。トークン単価は安いがタスクあたりでは大食いで、ダイヤルはあなたの手にあります。注意点が2つあります。Grandiのドル額はProプランでの推定であること、ここでのマトリクスは小さなリポジトリ1つであること。どちらもMaxプランでの1週間ではありません。

ルーティング表、限界、パック

ルーティング表: コード探索、失敗するテストの修正、lintの掃除、コミットメッセージの作成、小さな機能の追加、差分のレビュー、アーキテクチャの要約。7つすべてをlowエフォートのHaiku 5.5に回します。lowでもmediumでも、それぞれ70回中70回が合格しました。1タスクあたりの定価は0.2セントから0.5セントの間で、Opusは6セントから17セントです。SonnetやOpusに残すのは、Anthropic自身の言葉でいう複雑なエージェント的コーディングで、Terminal-BenchではHaikuが39.2、Sonnetが70.6です。ローンチを検証した数少ないレビューの1つも同じ結論で締めくくっていました。難しいコーディングはSonnetのままにする、と。

2つのファイルは、表の隣に置きます。フルのHaikuモデルIDとlowエフォートを指定したExploreエージェントファイルと、サブエージェントモデルとforceフラグを入れた設定のenvブロックです。確認には/tasksコマンドを使います。各サブエージェントが動いたモデルが表示されます。信頼すべきはその行で、ファイルではありません。

最初の問いに戻ります。すべてのサブエージェントをHaikuに切り替えたら、メーターはいくら返してくれるのか。範囲を絞ったタスクなら、どのモデルでも1ポイント未満です。182回のマトリクス全体で、5時間ウィンドウは2ポイント、週間は0ポイントしか動きませんでした。本当の1週間が戻ってくるのは、メインのコンテキストと、各サブエージェントが持つ起動プロンプトからです。モデルの切り替えは安い部分で、取り入れるのに費用はかかりません。

限界 詳細
リポジトリ 小さなリポジトリ1つ、tinydb、テスト226件
タスクの大きさ 1つあたり1分未満の範囲を絞った7タスク。1日がかりのエージェント的コーディングではない
メーター 分解能は1ポイント、ブロックごとに前後1ポイントの誤差
倍率 Anthropicはモデルごとの倍率を公表していない
バージョン 2026年10月8日のClaude Code 2.1.293。それ以前のビルドはエージェントファイルのモデルを無視した(未解決のissue)

無料パックには、ルーティング表、2つのファイル、そして測定に使ったハーネスが入っています。7つのプロンプト、チェック、ランナーです。

無料リソース

出典

よくある質問

なぜClaude CodeのサブエージェントはデフォルトではHaiku 5.5を使わないのですか?
リリース2.1.198以降、組み込みのExploreエージェントは上限をOpusとしてメインセッションのモデルを引き継ぎ、カスタムサブエージェントは起動フラグ、エージェントファイル、CLAUDE_CODE_SUBAGENT_MODEL変数、そしてメインモデルの順にモデルを解決します。ファイルで指定しない限り、Haikuを指すものはありません。
Claude CodeのExploreエージェントをHaiku 5.5で動かすには?
プロジェクトに.claude/agents/Explore.mdを作り、名前をExplore、モデルをclaude-haiku-5-5、エフォートをlow、ツールをRead、Glob、Grep、Bashにします。Claude CodeはこのファイルをExploreエージェントとして扱い、ヘッドレス実行のツール結果にresolvedModel claude-haiku-5-5が表示されます。
CLAUDE_CODE_SUBAGENT_MODELだけで、すべてのサブエージェントがHaikuになりますか?
いいえ。ドキュメントによると、この変数だけでは組み込みのExploreエージェントとPlanエージェントは変わらず、ヘッドレス実行でもExploreはOpus 5.5のままでした。CLAUDE_CODE_SUBAGENT_MODEL_FORCEを1にして追加すると(リリース2.1.257以降)、Opusに固定したものも含め、すべてのサブエージェントにそのモデルが適用されます。
Haiku 5.5は、Claude Codeのどのタスクをこなせますか?
このテストでは、日常のサブエージェントのタスク7つすべてです。コード探索、失敗するテストの修正、lintの掃除、コミットメッセージの作成、小さな機能の追加、差分のレビュー、アーキテクチャの要約。テスト226件のリポジトリtinydbで、lowでもmediumでも70回中70回が合格しました。複雑なエージェント的コーディングは、Anthropic自身の言葉でも、SonnetかOpusに残します。
サブエージェントをHaiku 5.5にすると、プランのクォータはどれだけ節約できますか?
タスクごとにメーターで見えるより小さい量です。Haikuの140回では5時間ウィンドウは21%のまま、Sonnetの21回では21%から22%、Opusの21回では22%から23%に動き、週間ウィンドウは182回すべてで67%のままでした。大きな節約は、モデルの切り替えではなく、メインのコンテキストを小さく保つことから来ます。
Claude Codeの/usageの内訳は正確ですか?
ローカルの推定です。数値はあなたのマシンのセッション履歴から、バイナリに埋め込まれた重み(Fable 10、Opus 5、Haiku 1、それ以外は3、出力トークンに50を掛ける)で計算され、サブエージェントのトランスクリプトは出力トークンを過小に記録します。どのスキルやエージェントが履歴を食っているかは分かりますが、サーバーがクォータをどう課金するかは分かりません。

関連動画