Claude Codeサブエージェントで重い調査を並列化する|実運用パターン
サブエージェントの本質は「並列で速くなる」ことより、「本体の会話を汚さない」ことにある。当社が競合分析やコード探索をどう切り離して投げ、結論だけ回収しているかを、実運用ベースで公開します。
Radineer 編集部 ・ 自社の Claude Code 本番運用に基づく解説(2026 年 5 月時点)
Claude Code のサブエージェントとは、本体の会話とは別の文脈で重い作業を実行させ、結論だけを本体に戻す仕組みを指す。競合分析やコード探索といった大量の中間出力を伴うタスクを切り離すことで、本体の会話を結論に集中させ、必要なら複数を並列に走らせられる。
サブエージェントとは何か
サブエージェントは、本体の会話から「探索や調査を丸ごと外注する」ための別文脈だと考えると分かりやすい。本体が指示を出し、サブエージェントがその中だけで大量にファイルを読んだり検索したりして、最後に結論だけを本体へ返す。
途中で読んだ何十ファイル分のログや検索結果は、本体の会話には流れ込まない。本体が受け取るのは要約された結論だけだ。この「中間を本体に見せない」性質が、サブエージェントを使う一番の理由になる。
メイン文脈を汚さない、という最大の効能
長く使う会話ほど、文脈(コンテキスト)は有限の資源になる。本体の会話で重い調査をそのままやると、検索結果や中間出力で文脈が埋まり、肝心の判断に使える余地が減っていく。
当社はここを避けるためにサブエージェントを多用している。重い調査は本体会話と切り離して投げ、結論だけを受け取る。本体の文脈は「決めること」に集中したまま保てる。
速さより先に、この「本体を汚さない」効果を目的にサブエージェントを使うのが実運用の基本姿勢になる。
fan-out調査の投げ方
fan-out とは、ひとつの調査をいくつかの独立した観点に割って、それぞれを別のサブエージェントに同時に投げる使い方を指す。
当社はこの研修事業を立ち上げる際、競合サイトの構造分解をサブエージェントに並列で投げて結論を回収した。各サブエージェントに「この観点だけ調べて結論を返せ」と役割を絞って渡すのがコツで、観点が重ならないように割ると、戻ってくる結論もそのまま突き合わせやすい。
逆に「全部いい感じに調べて」のような曖昧な指示は fan-out に向かない。何をもって終わりかが決まらず、収束しないサブエージェントを量産することになる。
- 調査を独立した観点に割る(観点が重ならないように)
- 各サブエージェントに役割と「返してほしい結論の形」を明示する
- 戻ってきた結論を本体で突き合わせて判断する
worktree分離での並列開発
調査だけでなく、コードを書く作業も並列化できる。鍵になるのが git の worktree だ。
worktree を使うと、ひとつのリポジトリから独立した作業コピーを複数切り出せる。エージェントごとに別々の worktree を割り当てれば、同じファイルを同時に書き換えて衝突する事故を避けられる。当社はエージェントごとに隔離した作業コピーを与えて、並行して別々の変更を進めている。
同じディレクトリで複数エージェントを走らせると、互いの編集を踏み合って収拾がつかなくなる。並列で「書かせる」なら、worktree による物理的な分離をセットで考える。
バックグラウンド実行
時間のかかる調査やビルドは、バックグラウンドで走らせて本体は別の作業を進められる。投げっぱなしにして、終わったら結果を受け取る使い方だ。
これも「本体を待たせない=本体の文脈を止めない」という同じ思想の延長にある。重くて長い処理ほどサブエージェントやバックグラウンドに逃がし、本体は判断と指示に専念させる。
用途別・どのパターンを使うか
「本体を汚したくない」「並列で速くしたい」「書かせたい」で選ぶパターンが変わる。下表で整理する。
| やりたいこと | 使うパターン | 狙い |
|---|---|---|
| 重い調査で本体を汚したくない | 単発サブエージェント | 結論だけ本体に戻す |
| 複数観点を同時に調べたい | fan-out(並列サブエージェント) | 観点を割って一気に回収 |
| 複数エージェントに同時に書かせたい | worktree 分離 | 編集の衝突を物理的に防ぐ |
| 長時間の処理を待ちたくない | バックグラウンド実行 | 本体の手を止めない |
よくある落とし穴
- 並列度を上げるほどコストは掛け算で増える。サブエージェントを 5 本同時に走らせれば消費もおおむね 5 倍になる。やみくもに並べない。
- 収束しない指示を投げる。「いい感じに調べて」では終わりが決まらず、サブエージェントが延々と動き続ける。観点と返してほしい結論の形を必ず指定する。
- 書く作業を同一ディレクトリで並列化する。worktree で分離しないと編集を踏み合う。
- 結論を鵜呑みにする。サブエージェントの結論も一次情報に当て直して検証する。
よくある質問
サブエージェントを使う一番のメリットは速さ?
速さより先に「本体の会話を汚さない」ことが本質。重い調査の中間出力を本体に流し込まず、結論だけ受け取れるので、本体の文脈を判断に集中させられる。並列化による速さはその副次効果。
複数エージェントに同時にコードを書かせても大丈夫?
git の worktree でエージェントごとに作業コピーを分離すれば衝突を防げる。同一ディレクトリで並列に書かせると編集を踏み合うので、書く作業の並列化は worktree 分離とセットで考える。
並列で投げるほど得ですか?
並列度を上げるとコストは掛け算で増える。同時に走らせる本数だけ消費も増えるので、闇雲には並べない。コストの上限設計は別記事「Claude Codeのコスト管理」を参照。
うまく結論が返ってこないのはなぜ?
多くは指示が収束しないため。「いい感じに調べて」では終わりが決まらない。調べる観点と返してほしい結論の形を明示すると、結論が安定して回収できる。