Claude Codeのサブエージェント活用術【並列処理で開発を加速】

Claude Codeのサブエージェントが並列で動作するイメージ図 生成AI

Claude Code サブエージェントを使うと、3つの調査を同時進行し、テスト実行とドキュメント作成を並行処理できます。一人が複数人分の開発力を手に入れられるこの機能を、具体的なコマンド例と公式の根拠を交えて解説します。コンテキストの汚染に悩んでいた方は、ぜひ最後まで読んでください。

関連記事: Claude Code基本コマンド一覧【保存版チートシート】も合わせてご参照ください。

Claude Code サブエージェントとは?通常のClaude Codeとの違い

Claude Code サブエージェントのコンテキスト分離の仕組みを示す図
サブエージェントはメイン会話と独立したコンテキストウィンドウで動作する

Claude Code サブエージェントとは、特定タスクを専門的に処理するAIアシスタントです。各サブエージェントは独自のコンテキストウィンドウで動作し、カスタムシステムプロンプト・特定ツールへのアクセス・独立した権限を持ちます。

通常のClaude Codeでは、会話が長くなるほどコンテキストウィンドウに情報が蓄積されます。そのため、アウトプットの品質が下がってしまう場面があります。筆者も「一つのスレッドでやり取りすると余計な情報が混じる」という問題を感じていました。実際にサブエージェントを試したところ、なんとなく良いアウトプットが出るような気がしました。

これは「気のせい」ではありません。Anthropicの公式エンジニアリングブログでも根拠が示されています。

Context Rot(コンテキスト腐敗)という現象

Anthropicの公式エンジニアリングブログ(Effective Context Engineering for AI Agents)では、「Context Rot(コンテキスト腐敗)」という概念が解説されています。

具体的には、コンテキストウィンドウのトークン数が増えるほど、モデルが情報を正確に再現する能力が低下します。これは、各トークンが他のすべてのトークンに注意を払うアーキテクチャ上の特性によるものです。そのため、コンテキストが長くなると処理精度が落ちます。

同ブログでは、モデルは「注意予算」を持つとも指摘されています。つまり、提供するトークンを慎重に選別し、最小限の高品質情報を厳選することが不可欠です。

サブエージェントがContext Rotを防ぐ仕組み

公式ドキュメント(Claude Code Sub-agents)では、サブエージェントの主目的が以下のように説明されています。

Preserve context by keeping exploration and implementation out of your main conversation

Claude Code 公式ドキュメント

つまり、探索・調査といった処理はサブエージェント内に閉じ込め、メインの会話コンテキストをクリーンに保つ設計です。各サブエージェント呼び出しは新鮮なコンテキストで新しいインスタンスを作成します。加えて、中間のツール呼び出しと結果はサブエージェント内に留まり、最終メッセージのみがメインの会話に返されます。

組み込みサブエージェントの種類

Claude Codeには以下の組み込みサブエージェントが用意されています。

名前モデル主な用途
ExploreHaiku(高速・低コスト)コードベースの検索・調査(読み取り専用)
Planメイン会話を継承計画モードでのコードリサーチ(読み取り専用)
General-purposeメイン会話を継承複雑な多段階タスク・コード修正
Bashメイン会話を継承ターミナルコマンドの実行

特にExploreエージェントは軽量なHaikuモデルを使うため、高速かつ低コストで調査を完了できます。

Claude Code サブエージェントの起動方法と基本操作

Claude Code サブエージェントの起動には、大きく2つの方法があります。一つはClaudeに自然言語で指示する方法、もう一つはカスタムサブエージェントをファイルで定義する方法です。

自然言語での指示(最も簡単)

Claude Codeのチャットで以下のように指示するだけで、Claudeが自動的に適切なサブエージェントに委任します。

# 並列調査の例
このプロジェクトのアーキテクチャ、テストカバレッジ、依存関係を
別々のサブエージェントで並列調査してください

# 特定のサブエージェントを明示する例
code-reviewerサブエージェントを使って最近の変更をレビューしてください

# バックグラウンドで実行する例
テストスイートをサブエージェントで実行して、失敗したテストのみ報告してください

/agentsコマンドでカスタムサブエージェントを作成する

独自のサブエージェントを作成するには、Claude Code内で次のコマンドを実行します。

/agents

インタラクティブなインターフェースが起動します。そこから「Create new agent」→「User-level」の順で選択すると、ユーザーレベルのサブエージェントを作成できます。なお、ユーザーレベルで作成したサブエージェントは ~/.claude/agents/ に保存され、すべてのプロジェクトで利用可能になります。

マークダウンファイルによる手動定義

より細かく制御したい場合は、YAMLフロントマター付きのMarkdownファイルで定義します。保存場所によってスコープが変わります。

  • .claude/agents/:プロジェクト固有(チームで共有可能)
  • ~/.claude/agents/:全プロジェクトで利用可能

コードレビュー専用サブエージェントの定義例を示します。

---
name: code-reviewer
description: コード品質・セキュリティ・保守性をレビューする専門エージェント。コード変更後に積極的に使用する。
tools: Read, Grep, Glob, Bash
model: sonnet
---

あなたはシニアコードレビュアーです。変更されたコードを分析し、以下の観点でフィードバックしてください。

- コードの可読性と命名規則
- 重複コードの有無
- エラーハンドリングの適切さ
- セキュリティ上の問題(APIキーの露出など)
- テストカバレッジ

フィードバックは優先度別(Critical / Warning / Suggestion)で整理してください。

なお、サブエージェントはサブエージェントをネストして起動できません。入れ子の委任が必要な場合はAgent Teamsを利用します。

効果的なタスク分解の考え方

Claude Code サブエージェントを使ったタスク分解と並列処理のフロー図
独立したタスクをサブエージェントに分散させることでメインコンテキストをクリーンに保つ

Claude Code サブエージェントを最大限に活用するには、タスクを適切に分解することが鍵です。すべての作業をサブエージェントに投げればよいわけではありません。向き・不向きがあります。

サブエージェントに向いているタスク

以下の条件を満たすタスクはサブエージェントへの委任に適しています。

  • 大量の中間出力が発生する:テスト実行、ログ解析、大規模なファイル検索など
  • 他のタスクと独立している:A調査とB調査が互いの結果に依存しない場合
  • 特定のツール制限が必要:読み取り専用で動かしたい調査タスクなど
  • 自己完結できる:サブエージェントが最終的なサマリーを返せるタスク

メイン会話で処理すべきタスク

一方で、以下の場合はメイン会話で処理した方がよい結果が得られます。

  • 頻繁な行き来が必要:設計の議論や反復的な修正
  • 前の処理結果を次に引き継ぐ:計画→実装→テストという一連の流れ
  • 素早いピンポイント修正:1ファイルの小さな変更
  • 低レイテンシが重要:サブエージェントは起動時にコンテキストを収集するため若干のオーバーヘッドがある

並列処理で活きるタスク分解の例

以下は3つのExploreサブエージェントを並列起動してプロジェクト調査を行う実際の指示例です。

# 実際に試したプロンプト例
このプロジェクトについて、以下を別々のサブエージェントで並列調査してください:
1. アーキテクチャの全体像と主要コンポーネント
2. テストカバレッジと未テストの領域
3. 外部依存関係とそのバージョン状況

各サブエージェントは要約のみを返してください。

実際のテストでは、3つのExploreエージェントが約2分で完了し、合計53回のツール呼び出しが並列実行されました。各エージェントの詳細な操作ログはサブエージェント内に隔離され、メインコンテキストには要約のみが返ってきます。

実務で効果が出るユースケース5選

Claude Code サブエージェントが実際の開発フローでどう役立つか、具体的なユースケースを5つ紹介します。

1. テスト実行と失敗レポートの抽出

テストスイートをサブエージェントで実行して、失敗したテストとエラーメッセージのみを返してください

テストの詳細な実行ログはすべてサブエージェント内に留まります。そのため、メイン会話に数千行のログが流れ込みません。その結果、コンテキストを大幅に節約できます。

2. コードレビューの自動化

code-reviewerサブエージェントを使って、最近のコミット(git diff HEAD~1)をレビューしてください

読み取り専用のサブエージェントに委任することで、誤って変更が加わるリスクを排除できます。さらに、Sonnetモデルに設定したサブエージェントを使うことで、メイン会話のモデルとは独立した高品質なレビューが得られます。

3. ドキュメント生成とコーディングの並行処理

# バックグラウンドで実行する例
バックグラウンドでdoc-writerサブエージェントを起動して、
src/api/ディレクトリのAPIドキュメントを生成してください。
その間、私はメイン会話で別の実装を続けます。

バックグラウンドサブエージェントを使うと、ドキュメント生成と機能実装を並行して進められます。具体的には、実装の手が止まることなくドキュメントが出来上がるため、開発効率が大幅に向上します。

4. 複数モジュールの独立した調査

認証モジュール・データベースレイヤー・APIエンドポイントを
それぞれ別のサブエージェントで並列調査して、
パフォーマンス上の問題点を洗い出してください

独立した調査を並列で走らせることで、順次実行に比べて大幅な時間短縮が可能です。具体的には、3モジュール調査が1モジュール調査とほぼ同じ時間で完了します。

5. 読み取り専用DBクエリの安全な実行

---
name: db-reader
description: 読み取り専用のDBクエリを実行する。データ分析・レポート生成に使用する。
tools: Bash
hooks:
  PreToolUse:
    - matcher: "Bash"
      hooks:
        - type: command
          command: "./scripts/validate-readonly-query.sh"
---

フック機能を使えば、SELECT文以外のSQLを自動ブロックする安全なDBアクセス専用エージェントを作れます。これにより、誤ったUPDATEやDELETEを実行するリスクがゼロになります。

サブエージェントのコスト管理

Claude Code サブエージェントはトークンを追加で消費するため、コスト管理が重要です。ただし、適切に使えばメインコンテキストの肥大化を防げます。その結果、トータルコストをむしろ抑えられるケースも多くあります。

モデル選択によるコスト最適化

サブエージェントに使用するモデルは個別に指定できます。タスクの複雑さに応じて最適なモデルを選びましょう。

  • Haiku:コードベース探索・単純な検索タスクに最適。高速かつ低コスト
  • Sonnet:コードレビュー・データ分析など、機能とコストのバランスが取れたタスク向け
  • Opus:複雑なアーキテクチャ設計・高度な推論が必要なタスク専用
  • inherit:省略した場合のデフォルト。メイン会話のモデルを継承する

たとえば、単純な調査タスクにはHaikuを指定するだけで、同等の精度を保ちながらコストを大幅に削減できます。

コスト確認コマンド

Claude Codeでは以下のコマンドでコストを確認できます(APIユーザー向け)。

# 現在のセッションのトークン使用量を確認
/cost

# 使用パターンの統計を確認(Pro/Maxサブスクライバー向け)
/stats

公式ドキュメントによると、Claude Codeの平均コストは開発者1人あたり1日6ドル、90%のユーザーは1日12ドル以下に収まっています(2026年3月現在)。Claude Code自体の基本的な特徴や料金プランについてはClaudeとは?特徴・使い方・料金を初心者向けに解説もご参照ください。

コスト削減のポイント

  • 調査タスクにはHaikuを指定model: haikuを明示する
  • 返す情報を絞る:「要約のみ返してください」と指示してサブエージェントからの返答を最小化する
  • タスクを自己完結させる:中途半端な結果を返させると再依頼が発生し、かえってコストが増える
  • バックグラウンドタスクは完了後にクリーンアップ:アクティブなエージェントはアイドル状態でもトークンを消費する

Coworkとの違い・使い分け

Claude CodeのサブエージェントとCoworkはどちらも「複数のAIに作業を任せる」仕組みですが、設計思想が異なります。詳細はCoworkとは何か・基本ガイドもご参照ください。

Coworkとサブエージェントの主な違い

比較項目サブエージェントCowork
インターフェースターミナル(Claude Code)クラウドベースのUI
コミュニケーションメインエージェント→サブエージェント(一方向)チームメンバー間で双方向
コンテキスト単一セッション内で動作独立したセッション間で連携
ユースケースコーディング・自動化タスクビジネスチームの業務フロー

Agent Teamsとの関係

サブエージェントをさらに発展させた仕組みが「Agent Teams」です。サブエージェントは「結果だけ返す作業者」ですが、Agent Teamsは「議論しながら協調する独立したメンバー」として動作します。

公式ドキュメントでは以下のように使い分けが明示されています。

  • サブエージェント:単一セッション内での作業分散に適している
  • Agent Teams:セッションをまたぐ持続的な並列作業・チームメンバー間の直接通信が必要な場合に使う

使い分けの判断基準

  • 今すぐ使えるサブエージェント:Claude Codeの基本機能として追加設定不要で利用できる
  • Agent Teamsは実験的機能:環境変数 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 を設定して有効化が必要。トークン消費も多くなる(プランモード時は通常の約7倍)
  • コーディングタスクはClaude Code:ファイル操作・テスト・デプロイ自動化などはサブエージェントが最適
  • ビジネスフローはCowork:文書作成・リサーチ・社内業務の自動化はCoworkが向いている

さらに進んだ使い方:Agent Teams

サブエージェントをさらに発展させたのが「Agent Teams」機能です。これは2025年以降に対応した機能で、複数のエージェントがチームとして協調しながらタスクリストを共有・並列作業します。

Agent Teamsでは共有タスクリストを介してチームメイト同士が調整し、互いに直接通信することが可能です。複雑な大規模プロジェクトや、コンテキストウィンドウを超える長期タスクに特に効果的です。

詳細な使い方は別記事「Claude Code Agent Teamsの使い方」で解説予定です。

あわせて読みたいおすすめ書籍

Claude Codeのサブエージェント・AIエージェント活用をさらに深めたい方には、以下の書籍がおすすめです。

まとめ:Claude Code サブエージェントで開発を加速しよう

Claude Code サブエージェントについて、仕組みから実践的な使い方まで解説しました。要点を整理します。

  • Context Rot(コンテキスト腐敗)を防ぐ:コンテキストが長くなるほどモデルの精度が下がるという公式の知見があり、サブエージェントはこれを構造的に解決する
  • 各サブエージェントは独立したコンテキストで動作:中間処理の詳細はサブエージェント内に隔離され、要約のみがメインに返る
  • 4種類の組み込みサブエージェントが最初から使える:Explore(Haiku)・Plan・General-purpose・Bash
  • 並列処理で時間短縮:独立した調査タスクは複数のサブエージェントに同時に投げることができる
  • コスト管理が重要:調査タスクにはHaikuを使い、返す情報を絞ることでコストを最適化できる
  • カスタムサブエージェントで組織のナレッジを蓄積.claude/agents/に定義ファイルを置いてチームで共有できる

まずは「テスト実行をサブエージェントに任せる」という小さな一歩から始めてみてください。コンテキストがすっきりし、アウトプットの質が向上することを実感できるはずです。

カスタムサブエージェントの詳しい作り方はカスタムサブエージェントの作り方の記事で解説しています。あわせてご覧ください。

とつ

某SIer企業勤務。
生成AI(ChatGPT、Claude、Gemini)に強い関心を抱き、業務に積極的に活用している。本アカウントでは、最新技術の実践例と活用法を発信する。
また、仕事以外では家事育児やヘルスケアにおいても、生成AIの可能性を模索し、日常生活での利活用に努める。

老け顔から「とっつあん」とあだ名で呼ばれ、それが「とつ」といつしか略されるようになったのがハンドルネームの由来。
「リベラルアーツ大学」をきっかけに、稼ぐ力を養いたいという思いからBlogサイトの運営を開始し、Blogの成長とともにAWSのスキルアップにも注力している。
家族は妻と7歳長男、3歳次男。

とつをフォローする
生成AI
スポンサーリンク
シェアする
とつをフォローする

コメント

タイトルとURLをコピーしました