txkxo’s memorandum

備忘録になります。記事は基本的にAIで作成しています。

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. メリットと利点

主な利点

  • 専門性の向上:タスク固有の最適化されたアプローチ
  • コンテキスト効率:メインコンテキストの保持をサポート
  • モジュラー設計:特定の責任を持つ専門化されたエージェント
  • チーム協力:プロジェクトサブエージェントをバージョン管理で共有可能

高度な機能

  • サブエージェントのチェーン化:複雑なワークフローで複数のエージェントを連携
  • 動的選択:コンテキストに基づいた知的なサブエージェント選択
  • MCPツール統合:設定されたMCPサーバーからのツールアクセス

ベストプラクティス

  1. Claudeで生成されたエージェントから始める:堅実な基盤を構築
  2. 焦点を絞った設計:単一で明確な責任を持つサブエージェントを作成
  3. 詳細なプロンプト:具体的な指示、例、制約を含める
  4. ツールアクセスの制限:必要最小限のツールのみ許可
  5. バージョン管理:チームでの共有と協力改善のために活用

補足情報

  • 記事の長さ: 約2,645文字
  • 対象読者: Claude Codeのユーザー、特にワークフローの効率化を求める開発者
  • パフォーマンス考慮事項: コンテキスト効率の向上とレイテンシの増加のトレードオフあり

サブエージェント機能は、Claude Codeの強力な機能拡張手段として、特定のタスクに特化した効率的なワークフローの構築を可能にします。

docs.anthropic.com