サブエージェントの作り方
サブエージェントを作るには、/agents コマンドを使います。
- 「Create New Agent」を選択してEnterキーを押す
- 現在のプロジェクト内だけで使う場合は「Project」を、パソコン全体で使う場合は「Personal」を選択する
- 「Generate with Claude」を選択すると、Claude Codeがサブエージェントを自動生成してくれる
どんなサブエージェントを作るべきか
一般的なサブエージェントの例として、以下のようなものがあります。
- コードレビュー用のサブエージェント(メインコンテキストを汚さずにレビューだけに特化)
- セキュリティチェック用のサブエージェント
- プランを立てるためのサブエージェント
基本的に、メインで使っているコンテキストとは関係のない調査や実装を行うときにサブエージェントを使うのが効果的です。
実際にサブエージェントを作る
今回の例では、Next.jsのベストプラクティスに則った実装になっているかをチェックするコードレビュー用のサブエージェントを作成します。
作成時の設定項目は以下の通りです。
- 名前・説明: どういったサブエージェントなのかを記載
- モデル: レビュー用途の場合はSonnetよりもOpusの方が適している
- カラー: サブエージェント起動時の表示色
- MCPサーバー: 必要に応じて指定
- スキル: 付与したいスキルがあれば指定可能
スキルをサブエージェントに追加する
例えば、Vercelが公式で出している「vercel-react-best-practices」というスキルをサブエージェントに渡すことで、より精度の高いコードレビューが可能になります。
メインコンテキストでスキルを呼び出すこともできますが、コンテキスト汚染につながるため、レビューに関してはサブエージェントで走らせた方がきれいにClaude Codeを使えます。
スキルは skills.sh で検索・インストールできます。
サブエージェントの起動方法
サブエージェントを起動するときは、スラッシュコマンドではなく @ マークで指定します。
@ベストプラクティスレビュアー 起動してください
サブエージェントに色がついた状態で立ち上がり、メインコンテキストを汚染することなくサブエージェント用のコンテキストで動作します。処理が終わったら要約をメインコンテキストに返します。
コードレビューの実行結果
今回の例では、約3分程度でレビューが完了しました。以下のような指摘が得られました。
- APIルートの入力バリデーション不足
- SDKの互換性の問題
- エラーハンドリングの改善
- バンドルサイズの増加(不要なクライアントコンポーネント)
- SEOの観点での改善点
AIの一発の出力には限界があるため、こういったコードレビューのサブエージェントをバックグラウンドで走らせることで、セキュリティ的にもパフォーマンス的にもしっかりした製品を作れるようになります。
ハーネス設計への発展
サブエージェントを複数作成し、最初の要件だけ人間が渡して、あとは自律的に実装とレビューをフィードバックループで行うという「ハーネス設計」に発展させることができます。サブエージェント作成はその基礎となる知識です。