概要
claude code に /agents コマンドが追加されたので簡単に使ってみる
主に公式情報の要約と, 実動作の画面を記述します
/agents コマンドとは
sub agent を作成する機能
sub agent とは
司令塔である Claude Code がタスクに応じて呼び出すことができる, 得意分野を持つ専門 agent
特徴
- メインから独立した独自のコンテキストウィンドウを持つ
- 以下ユーザー設定
- 特定の目的と専門分野
- 許可された特定のツール
- Rread, Write などの permission
- sub agent 固有のカスタムシステムプロンプト
いつ動作するのか?
設定された専門分野に合致するタスクと遭遇した際, 自動で対応するサブエージェントを実行する.
サブエージェントは独立して作業を行い, 結果を返す
公式情報
/agents で実際に sub agent を作成して動かす
-
ここでは sample にある reivew 機能を作成
-
sub agent 概要が提示される
-
code review を実行してください
と指示を与える
sub agent file の保存先
種類 | 場所 | スコープ | 優先度 |
---|---|---|---|
sub agents |
.claude/agents/ |
Available in current project | Highest |
User sub agents |
~/.claude/agents/ |
Available across all projects | Lower |
file 形式
実際に作成されたファイル
以下の構造を持つ
---
name: your-agent-name
description: このサブエージェントをいつ呼び出すべきかの説明
tools: tool1, tool2, tool3 # オプション - 省略した場合は全てのツールを継承
---
ここにサブエージェントのシステムプロンプトを書きます。複数段落にわたって記述可能で,
サブエージェントの役割, 能力, 問題解決へのアプローチを明確に定義してください。
具体的な指示やベストプラクティス, サブエージェントが従うべき制約事項なども
含めると良いでしょう。
設定項目
項目 | 必須 | 説明 |
---|---|---|
name |
はい | 小文字とハイフンを使った一意の識別子。 |
description |
はい | サブエージェントの目的を自然な言葉で説明したもの。 |
tools |
いいえ | 特定のツールをカンマ区切りでリストアップ。省略した場合, メインスレッドから全てのツールを継承します。 |
tools list
sub agent の呼び出し
設定ファイル側での設定
Claude Code は文脈に応じて動的にサブエージェントを選択する
最良の結果を得るために, description 項目は具体的で行動を促すような内容する
また, description に以下を含めると効果的
- 積極的に使用(use PROACTIVELY)
- 必ず使用(MUST BE USED)
明示的な呼び出し
コマンドで言及することで, 特定のサブエージェントを指名する
- test-runner サブエージェントを使って, 失敗したテストを修正して
- code-reviewer サブエージェントに, 最近の変更を見てもらって
- debugger サブエージェントに, このエラーを調査するよう頼んで
sub agent example
ベストプラクティス
- まずは Claude に土台を作成して貰いカスタマイズしていく
- 単一の明確な役割を持つサブエージェントを作成する
- システムプロンプトは, 具体的な指示, 例, 制約を含める
- ガイドが詳しければ詳しいほど, サブエージェントはより良く機能する
- サブエージェントの目的に必要な tool だけを許可する
- バージョン管理に含め, チームで共同で改善・利用する
高度な利用方法
サブエージェントの連鎖(チェイニング)
複数のサブエージェントを順次実行可能
まず code-analyzer サブエージェントでパフォーマンスの問題を見つけて, 次にoptimizer サブエージェントでそれを修正して
パフォーマンスに関する考慮事項
- コンテキストの効率性
- エージェントはメインのコンテキストをきれいに保つのに役立ち, より長いセッションを可能する
- 遅延
- サブエージェントは呼び出されるたびにまっさらな状態から始まるため, 必要な文脈を収集する際に遅延が生じることがある
所管
特定の文脈を与えた sub agent を作成しておくと便利かもしれません