subagent を並列 (fan-out) で投げる判断基準¶
結論¶
並列にするのは全条件を満たす時だけ:
- 3個以上 の独立タスクがある
- タスク間で 状態を共有しない
- ファイル境界が明確 (書き込みが衝突しない)
- 各 subagent の 出力が長大 (親 context を汚したくない)
満たさないなら単一 subagent or 親で直接やった方が安く速い。
なぜ?¶
並列起動はトークンを N倍 消費する。失敗パターンとして「3並列で進めれば速い」が 7x コスト に膨れた事例が多数報告されている。
特に注意:
- 設計判断のような依存タスクは順序が必要 → 並列にしない
- 同じファイルを編集する2つ以上の subagent → 衝突する
- 出力が短い(grep結果1行とか) → 親で Bash 直接の方が速い
fan-out が効くケース¶
- リサーチ: 4ソース(HN/dev.to/Reddit/blog)を別 subagent に分担 ← このレポの
research-trendsskill が好例 - 巨大コードベース探索: ディレクトリごとに Explore subagent
- クロスモデルレビュー: 同じ diff を Claude / Codex / Gemini に並列投入し結果合議
- 多ファイル type generation: スキーマから 10 個の型定義を生成、ファイル衝突なし
fan-out しないケース¶
- 「実装 → テスト → ドキュメント更新」のような順序ありの工程
- 1つの設計判断を各モデルにバラバラに任せる (結論が割れて統合不能になる)
- 短時間の grep / read 系 (親で直接やる)
投げる時の書き方¶
並列投げは1メッセージ内で複数 Task 呼び出しを同時に書く(別メッセージに分けない)。
主要なコツ: - 各 subagent に 「他の subagent と何を分担しているか」 を伝える - 出力フォーマットを 構造化 (Markdown表 or JSON) で固定し、親側でマージしやすく - 期待語数を上限指定(例: 1500-2000語)。爆発防止
マージ戦略 3 種¶
- 多数決: 結果が割れたら過半数を採用
- Opus 最終判断: 3 つの差分を親 Opus が読んで決定
- テスト通ったパッチ採用: コード変更系で確実
出典¶
- _research/trends/2026-05-11-vibe-coding-trends.md (Subagent Fan-Out / 7x コスト)
- _research/multi-llm/2026-05-11-subagent-other-llm.md (cross-model review)
- https://www.mindstudio.ai/blog/claude-code-split-and-merge-pattern-sub-agents
- https://claudefa.st/blog/guide/agents/sub-agent-best-practices