Claude Code 2.1.318で新しい設定が増えました。サブエージェントのeffort(CLAUDE_CODE_SUBAGENT_EFFORT)です。検索をExploreサブエージェントに任せてeffortを上げれば、もっと見つけてくれそうです。
そこで288回測りました。答えは変わらず、コストだけが増えました。
- 見つけた割合:全条件で97〜100%。差は2ポイント未満でした。
- 1回あたりのコスト:Haiku 5.5は74〜116%増。Opus 5.5は143〜221%増。
- 時間:2〜3倍。
- サブエージェントのモデル:常にメインと同じでした。Opusが呼べばサブエージェントもOpusです。
測り方
オープンソースのリポジトリ6つ(undici、fastify、cachetools、Python-Markdown、anyio、zod)で「すべての箇所を探す」質問を12問作りました。たとえば「lib/でRequestAbortedErrorを生成している箇所をすべて挙げ、囲んでいる関数を書け」です。
正解は正規表現とパーサーで事前に抽出しました。全部で151項目です。Claude Code 2.1.318をヘッドレスで動かし、読み取りと検索のツールだけを許可しました。Haiku 5.5とOpus 5.5で3回ずつです。12 × 2 × 4 × 3 = 288回。
| 条件 | 変えた点 |
|---|---|
| 指示なし | 質問だけ |
| サブエージェント low / medium / high | 「検索はサブエージェント(Explore)で行い、最終回答は自分で書いて」を追加し、サブエージェントのeffortをlow・medium・highに設定 |
最初の実行の前に、質問・正解(sha256)・判定基準(15ポイント)をGitHubに事前登録しました。
結果
| 条件 | Haiku 見つけた割合 | Haiku 1回あたり | Opus 見つけた割合 | Opus 1回あたり |
|---|---|---|---|---|
| 指示なし | 98% | 0.0056ドル | 100% | 0.16ドル |
| サブ low | 97% | 0.0098ドル(+74%) | 99% | 0.39ドル(+143%) |
| サブ medium | 98% | 0.011ドル(+87%) | 99% | 0.51ドル(+221%) |
| サブ high | 99% | 0.012ドル(+116%) | 100% | 0.48ドル(+204%) |
effortを上げても検索はよくなりませんでした。Opusではmediumのほうがhighより高くつきました。
指示がないとき、Claude Codeが自分からサブエージェントを呼んだことは一度もありませんでした。今回の72回で0回、前回の504回でも0回です。
意外な発見:ヘッドレスだと答えが遅れて出る
2.1.318ではExploreエージェントがバックグラウンドで動きます。そのためclaude -pで動かすと、1回の実行でresultイベントが複数出ます。
- 「検索エージェントはバックグラウンドで動いています。結果が戻ったら一覧をまとめます。」
- 実際の答え。
- ときどき「調査は終わり、やることがないので自律ループを止めました。」
サブエージェントを使った216回のうち210回は、最初のresultに答えがありませんでした。最初の結果だけを読むスクリプトだと、答えの0〜9%しか受け取れません。最後の結果だけを読んでも取りこぼすことがあります。最後が「ループを止めた」というメッセージのことがあるからです。Haikuの4回は答えたあと20分間終了しませんでした。
私も最初は最後の結果だけを採点していて、これに気づきました。そこで全resultをつなげて採点するよう変更し、理由を事前登録に記録しました。両方の採点を公開しています。
CIやスクリプトからClaude Codeにサブエージェントを使わせるなら、resultイベントはすべて読んでください。
まとめ
- 普通のコード検索に「サブエージェントを使って」は入れない。コストと時間が増えるだけでした。
- Opusでサブエージェントを使うと、サブエージェントもOpusです。
- サブエージェントのeffortはデフォルトのままに。自分の作業で効果を確かめたときだけ変えましょう。
限界
指示なしでも両モデルともほぼ全部見つけていたので、伸びしろは小さかったです。リポジトリは中規模なので、巨大なモノレポでは違うかもしれません。指示文は1種類、バージョンも1つ、各条件3回です。
データ
288回すべて(3通りの採点、コスト、時間、サブエージェントの呼び出しとモデル、全回答テキスト)をCC BY 4.0で公開しています。
