サブエージェントとは何か:Claude Codeの「分身の術」

Claude Codeには、メインのエージェントとは別にサブエージェント(Task tool)を起動する機能がある。これは簡単に言えば「Claude Codeの分身」だ。メインのClaude Codeが全体の指揮を取りながら、個別のタスクをサブエージェントに委任できる。

なぜこれが重要かというと、Claude Codeにはコンテキストウィンドウ(一度に扱える情報量)の制限があるからだ。大規模なプロジェクトでは、すべての情報をメインエージェントに詰め込むと、パフォーマンスが低下する。サブエージェントを使えば、各タスクが独立したコンテキストで動作するため、効率的に並列処理ができる。

この記事では、サブエージェントの仕組みから実践的な活用パターンまでを解説する。

サブエージェントの基本的な仕組み

項目メインエージェントサブエージェント
役割全体の指揮・統合個別タスクの実行
コンテキストプロジェクト全体を把握割り当てられたタスクに集中
ファイルアクセスすべてのファイルすべてのファイル(読み取り中心)
ツール使用全ツール利用可能一部制限あり(編集不可の場合も)
並列実行1つのみ複数同時起動可能

サブエージェントはCLAUDE.mdの内容を引き継がないため、必要な指示はタスクの説明に含める必要がある。また、サブエージェントの実行結果はメインエージェントに返され、メインエージェントがそれを統合して最終的な出力を生成する。

実践パターン1:コードベース調査の並列化

従来のアプローチ(逐次処理)

大規模プロジェクトで「認証システムの現状を把握したい」という場合、従来はメインエージェントが1つずつファイルを読んで分析していた。数百ファイルのプロジェクトでは、これだけでコンテキストウィンドウの大部分を消費してしまう。

サブエージェントを使ったアプローチ(並列処理)

サブエージェントを使えば、調査を分割して並列実行できる。

サブエージェント担当タスク調査対象
エージェントA認証ミドルウェアの調査src/middleware/auth*
エージェントBユーザーモデルの調査src/models/user*
エージェントCAPIルートの認証パターン調査src/routes/**

各サブエージェントが独立して調査を行い、結果をメインエージェントに報告する。メインエージェントはそれらを統合して、認証システム全体の分析レポートを生成する。

実践パターン2:テストの並列生成

テストコードの生成は、サブエージェントの最も効果的な活用シーンの一つだ。

例えば「すべてのAPIエンドポイントに対するテストを書いて」という指示に対して、メインエージェントがエンドポイントの一覧を把握し、各エンドポイントのテスト生成をサブエージェントに委任する。

対象テスト内容想定所要時間
/api/usersCRUD操作 + バリデーション約30秒
/api/postsCRUD + 権限チェック約30秒
/api/authログイン・ログアウト・トークン更新約30秒
/api/uploadsファイルアップロード・バリデーション約30秒

逐次処理なら2分かかるところが、並列実行で30秒程度に短縮できる。しかも各サブエージェントは対象のエンドポイントに集中できるため、テストの品質も向上する。

実践パターン3:リファクタリングの分業

大規模なリファクタリングでは、変更箇所が多岐にわたるため、サブエージェントによる分業が効果的だ。

例えば「ESLintのルールを更新して、プロジェクト全体を修正」というタスクでは、メインエージェントがESLintの設定を更新し、各ディレクトリの修正をサブエージェントに委任する。ただし、この場合はサブエージェントに書き込み権限を与える「Explore」タイプではなく「Bash」タイプを使い、メインエージェントが最終的な変更を適用するパターンが安全だ。

サブエージェントを効果的に使うためのコツ

コツ詳細
タスクの粒度を適切に大きすぎるとサブエージェントのコンテキストが溢れ、小さすぎるとオーバーヘッドが無駄に。1つのサブエージェントに1つの明確な責務を持たせる
指示を具体的にCLAUDE.mdは引き継がれないため、コーディング規約や制約事項はタスク説明に含める
読み取り専用を基本にサブエージェントによるファイル編集は競合のリスクがある。調査・分析を中心に使い、書き込みはメインエージェントが担当するのが安全
結果の検証を忘れずにサブエージェントの出力をそのまま信用せず、メインエージェントが整合性を確認する

サブエージェントが向いているタスク・向いていないタスク

向いているタスク向いていないタスク
コードベースの調査・分析単一ファイルの修正
テストの並列生成密に結合した変更
ドキュメント生成対話的なデバッグ
複数ファイルの独立した変更コンテキストが少ないタスク
大規模リファクタリングの分業人間の判断が頻繁に必要なタスク

まとめ:サブエージェントで開発の「スループット」を上げる

サブエージェントは、Claude Codeの生産性を次のレベルに引き上げる機能だ。特に大規模プロジェクトでは、コードベースの調査、テスト生成、リファクタリングの分業など、多くのシーンで威力を発揮する。

ポイントは「タスクの独立性」を意識すること。互いに依存しないタスクを切り出してサブエージェントに委任し、メインエージェントが結果を統合する——このパターンをマスターすれば、開発の「スループット」は飛躍的に向上する。

まずは「コードベースの調査」から始めてみてほしい。プロジェクトの特定の領域をサブエージェントに分析させ、レポートとして受け取る。この体験だけでも、サブエージェントの可能性を実感できるはずだ。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です