Claude Code のエージェント機能を使いこなす — サブエージェントからチームまで
Claude Code はターミナルから直接 AI を呼び出せるコマンドラインツールですが、単なる対話ツールではありません。タスクを分割し、複数のエージェントを並列で動かし、バックグラウンドで処理を続けさせる — そんなエージェント機能が、開発の進め方を大きく変えています。
ここではClaude Code のエージェント機能を3つの層に分けて実践的に解説します。サブエージェント(タスク委譲)、バックグラウンドタスク(非同期実行)、そして エージェントチーム(複数セッションの協調)です。
サブエージェントとは
サブエージェントは、メインの Claude Code セッションから特定のタスクを委譲できる専門エージェントです。それぞれが独自のコンテキストウィンドウで動作し、独立した権限とツールアクセスを持っています。
なぜサブエージェントが必要か
Claude Code のコンテキストウィンドウには限りがあります。大規模なプロジェクトで作業していると、コードの探索、テストの実行、ドキュメントの検索といった作業がコンテキストを圧迫し、本来の作業に使える余裕が減ってしまいます。
サブエージェントはこの問題を解決します。調査や検索といったタスクをサブエージェントに委譲すれば、その中での試行錯誤や大量のログ出力はメインの会話履歴に残りません。メインセッションのコンテキストを節約しつつ、複雑なタスクを並列で進められます。
ビルトインのサブエージェント
Claude Code には、あらかじめ用意されたサブエージェントがあります。
Explore エージェント。 コードベースの探索に特化した高速・読み取り専用のエージェントです。ファイル検索、コード検索、コードベース全体の構造理解に使われます。Claude がコードを読んで理解する必要がある場面で自動的に呼び出されます。
Plan エージェント。 実装計画の策定に使われます。コードベースを探索し、関連ファイルを特定し、アーキテクチャ上のトレードオフを検討したうえで、ステップバイステップの実装プランを返します。
汎用エージェント。 複雑な調査やマルチステップのタスクに対応する汎用的なエージェントです。コードの検索、ファイルの読み取り、Web 検索など、幅広いツールにアクセスできます。
カスタムサブエージェントの作り方
プロジェクト固有の作業パターンがある場合、カスタムサブエージェントを作成できます。/agents コマンドを使うか、手動で Markdown ファイルを作成します。
定義ファイルは YAML フロントマターを備えた Markdown 形式です。
---
name: test-runner
description: "テストを実行し、失敗した場合は原因を分析して修正案を提示する"
tools: ["Bash", "Read", "Grep"]
model: sonnet
---
# テスト実行エージェント
テストスイートを実行し、結果を分析してください。
失敗があった場合は、エラーメッセージとスタックトレースから
原因を特定し、具体的な修正案を提示してください。tools フィールドでエージェントが使えるツールを制限できます。テスト実行エージェントなら Bash、Read、Grep があれば十分で、Write や Edit は不要かもしれません。最小限の権限を与えることで、予期しない変更を防げます。
model フィールドでは使用するモデルを指定できます。調査系のタスクには高速な Haiku、複雑な判断が必要な場面では Opus というように、タスクの性質に応じて使い分けるのがコツです。
実践パターン:Opus で考え、Sonnet で動かす
コストと品質のバランスを取る実践的なパターンとして、メインセッションを Opus(高精度な判断・設計)で実行し、実際のコード生成やテスト実行は Sonnet のサブエージェントに委譲する方法があります。
[Opus] 設計・レビュー・判断
├── [Sonnet] フロントエンドの実装
├── [Sonnet] API エンドポイントの実装
└── [Sonnet] テストの作成と実行
Opus の高い判断力でアーキテクチャを設計し、実装の詳細は Sonnet の高速な処理に任せることで、品質を保ちながらコストと時間を最適化できます。
バックグラウンドタスク
基本的な使い方
Claude Code でタスクを実行中に Ctrl+B を押すと、そのタスクをバックグラウンドに移動できます。メインのセッションは空き状態になり、別の作業を進められます。
これは特に、ビルドやテスト実行のような時間のかかる処理で威力を発揮します。テストが走っている間に、別のファイルの修正を進めたり、次の機能の設計を相談したりできます。
サブエージェントの非同期実行
サブエージェントを起動すると、それ自体がバックグラウンドで動作します。複数のサブエージェントを同時に起動して、結果を後からまとめて受け取ることも可能です。
たとえば、リファクタリング作業で:
- サブエージェント A:影響を受けるテストの特定と修正
- サブエージェント B:ドキュメントの更新
- サブエージェント C:型定義の整合性チェック
これらを並列で実行し、すべてが完了してからメインセッションで結果を統合できます。
タスクの確認と管理
バックグラウンドタスクの状態は随時確認できます。完了したタスクの結果を取り込んだり、まだ実行中のタスクの進捗を見たりできます。
エージェントチーム(実験的機能)
概要
2026年2月にリリースされたエージェントチームは、Claude Code のエージェント機能の中で最も野心的な機能です。複数の Claude Code セッションをチームとして協調させ、大規模なタスクに取り組むことができます。
サブエージェントとの違い
サブエージェントとエージェントチームの最大の違いはコミュニケーションにあります。
サブエージェントは単一セッション内で動作し、結果をメインエージェントにのみ返します。サブエージェント同士はメッセージを交換できず、途中の発見を共有したり、メインエージェントを介さずに連携したりすることはできません。
エージェントチームはこのボトルネックを取り除きます。1つのセッションがチームリーダーとして機能し、他のセッション(チームメイト)はそれぞれ独自のコンテキストウィンドウで独立して作業しながら、互いに直接コミュニケーションできます。
どんな場面で使うか
エージェントチームが特に効果を発揮するのは、以下のような場面です。
大規模なリファクタリング。 フロントエンド担当、バックエンド担当、テスト担当をそれぞれ別のセッションに割り当て、互いの進捗を踏まえながら並行作業を進めます。
フルスタック機能開発。 API 設計、データベーススキーマ、UI コンポーネントをそれぞれのチームメイトが担当し、インターフェースの変更をリアルタイムで共有しながら開発します。
コードレビューと修正。 一人がレビューを行い、指摘を受けたもう一人が即座に修正する、というペアプログラミング的なワークフローも可能です。
注意点
エージェントチームは現在、実験的機能として提供されています。大規模なタスクに使う際は、チームリーダーへの明確な指示と、チームメイトの役割定義が成功の鍵です。曖昧な指示だとチームメイト同士の作業が重複したり、矛盾した変更を行ったりする可能性があります。
コンテキスト管理のベストプラクティス
エージェント機能を最大限に活かすには、コンテキストの管理が重要です。
CLAUDE.md を活用する
プロジェクトルートに CLAUDE.md ファイルを配置することで、Claude に対してプロジェクト固有の情報を常に提供できます。コーディング規約、アーキテクチャの概要、頻繁に使うコマンドなどを記述しておくと、サブエージェントも含めてすべてのセッションがこの情報を参照します。
タスクの粒度を意識する
サブエージェントに委譲するタスクは、「自己完結できる粒度」にする点が肝心です。一つのタスク内で別のタスクの結果に依存する部分があると、並列実行の恩恵を受けられません。
良い分割例:
- ファイル A のリファクタリング(独立して完結)
- テストの追加(独立して完結)
- ドキュメントの更新(独立して完結)
悪い分割例:
- API の型定義を変更(→ 他のタスクがこれに依存)
- API を使うコンポーネントの修正(→ 上の結果待ち)
適材適所でモデルを選ぶ
すべてのタスクに最高性能のモデルを使う必要はありません。
- Opus: アーキテクチャ設計、複雑な判断、最終レビュー
- Sonnet: 一般的なコーディング、テスト作成、ドキュメント生成
- Haiku: 簡単な検索、ファイルの読み取り、定型的な変換
全体を振り返って
Claude Code のエージェント機能は、単一の対話を超えた「チーム開発」のような体験を個人開発者にもたらします。
サブエージェントでコンテキストを節約し、バックグラウンドタスクで待ち時間を解消し、エージェントチームで大規模なタスクに取り組む。これらの機能を組み合わせることで、一人でも驚くほどの開発速度を実現できます。
まずはビルトインのサブエージェントから使い始めて、慣れてきたらカスタムサブエージェントを作ってみてください。プロジェクト固有の作業パターンをエージェントに教え込むことで、Claude Code は単なるツールから、プロジェクトを深く理解したチームメイトへと進化していきます。