Claude Codeのサブエージェント機能
概要
Claude Codeのサブエージェントは、特定のタスクを処理するために設計された専門化されたAIアシスタントです。カスタマイズされたシステムプロンプト、ツール、および独立したコンテキストウィンドウを持ち、より効率的な問題解決を可能にします。
1. サブエージェントとは何か
サブエージェントは、Claude Codeがタスクを委任できる事前設定されたAIパーソナリティです。各サブエージェントの特徴:
- 特定の目的と専門分野を持つ
- 独立したコンテキストウィンドウを使用(メインの会話とは分離)
- 特定のツールセットで設定可能
- カスタムシステムプロンプトで動作を制御
Claude Codeがサブエージェントの専門分野に一致するタスクに遭遇すると、そのタスクを専門化されたサブエージェントに委任し、独立して作業して結果を返します。
2. サブエージェントの種類と保存場所
サブエージェントは、YAMLフロントマターを持つMarkdownファイルとして2つの場所に保存されます:
| タイプ | 場所 | スコープ | 優先度 |
|---|---|---|---|
| プロジェクトサブエージェント | .claude/agents/ |
現在のプロジェクトのみ | 最高 |
| ユーザーサブエージェント | ~/.claude/agents/ |
すべてのプロジェクト | 低い |
名前が競合する場合、プロジェクトレベルのサブエージェントが優先されます。
3. 使用方法・設定方法
推奨方法:/agentsコマンド
/agentsコマンドを使用すると、包括的な管理インターフェースが提供されます:
- 利用可能なすべてのサブエージェントを表示
- ガイド付きセットアップで新規作成
- 既存のサブエージェントを編集
- サブエージェントの削除
- ツール権限の管理
ファイル構造
各サブエージェントは以下の必須フィールドを持つMarkdownファイルで定義:
| フィールド | 必須 | 説明 |
|---|---|---|
name |
はい | 小文字とハイフンを使用した一意の識別子 |
description |
はい | サブエージェントの目的の自然言語による説明 |
tools |
いいえ | 特定のツールのカンマ区切りリスト(省略時は全ツール継承) |
ツール設定オプション
- 全ツール継承:
toolsフィールドを省略(MCPツール含む) - 個別指定:カンマ区切りリストで特定のツールのみ許可
4. 具体的な使用例
コードレビューアー
デバッガー
- エラーの特定と解決
- ログ分析
- 問題の根本原因調査
データサイエンティスト
- データ分析とモデリング
- 統計的分析
- データ可視化
サブエージェントの呼び出し方法
自動委任:Claude Codeが以下に基づいて自動的に適切なサブエージェントを選択
- リクエスト内のタスクの説明
- サブエージェントのdescriptionフィールド
- 現在のコンテキストと利用可能なツール
明示的な呼び出し:コマンドで特定のサブエージェントを名指しで要求
5. メリットと利点
主な利点
- 専門性の向上:タスク固有の最適化されたアプローチ
- コンテキスト効率:メインコンテキストの保持をサポート
- モジュラー設計:特定の責任を持つ専門化されたエージェント
- チーム協力:プロジェクトサブエージェントをバージョン管理で共有可能
高度な機能
ベストプラクティス
- Claudeで生成されたエージェントから始める:堅実な基盤を構築
- 焦点を絞った設計:単一で明確な責任を持つサブエージェントを作成
- 詳細なプロンプト:具体的な指示、例、制約を含める
- ツールアクセスの制限:必要最小限のツールのみ許可
- バージョン管理:チームでの共有と協力改善のために活用
補足情報
- 記事の長さ: 約2,645文字
- 対象読者: Claude Codeのユーザー、特にワークフローの効率化を求める開発者
- パフォーマンス考慮事項: コンテキスト効率の向上とレイテンシの増加のトレードオフあり
サブエージェント機能は、Claude Codeの強力な機能拡張手段として、特定のタスクに特化した効率的なワークフローの構築を可能にします。