シングルエージェントとマルチエージェントの使い分け
1つのエージェントが必要な文脈を全部持てるなら分けない。分けるのは「メインの文脈と独立している」「大量のファイルを読む」「広く探索する」作業だけ。分けると4つのコストが発生する。
どんな時に使う?
- なんとなくサブエージェントを増やして、かえって遅く・高くなっている
判断基準
- シングル向き: 小さい・単純なタスク/密な文脈が必要なタスク/1体で一貫して完了できるタスク
- マルチ向き: メイン文脈と独立した作業/大量のファイル読み込み/広い探索/独立部分に分けられる大きな調査
マルチにすると払うコスト
- 文脈の受け渡し(他のエージェントの知識は自動では伝わらない)
- 重複作業(境界が曖昧だと同じことをする)
- 事実確認(サブの出力を無検証で信じない)
- 編排(誰が何をし、どう合わせるかを誰かが決める)
手順
- 委任前に「独立しているか・境界は明確か・誰が検証するか」をチェック
- 繰り返す工程なら、分割→役割→検証→統合を宣言的に書いて再利用(例: Pi の pi-workflow は JSON spec で記述)
注意点
- 「読むのはマルチ、書くのはシングル」という整理(Harrison Chase 氏の記事)とも一致する。
出典
- @yibie 2026-07-14(r/PiCodingAgent の要約): @yibie · 2026-07-14
- 関連: Claude Code: スキルをサブエージェントで動かす2つの方法(context: fork / skills: 先読み)