今日から使えるClaude Code Subagents: コードレビュー専用 Subagent
はじめに
みなさん サブエージェント機能、活用していますか?
もう十分語られきってるとは思いますが、本記事では様々あるサブエージェントの使い方の中でも特にコードレビューに特化したサブエージェントについて、実際の業務でよく使ってる実例なので紹介します。
サブエージェントとは?
一応前提の共有コーナー。
サブエージェントは特定のタスクを自律的に処理するための専門化された AI エージェントです。Claude Code には以下のbuilt-in サブエージェントがあります:
- Explore: コードベース探索に特化
- Plan: 実装計画の設計に特化
- General-purpose: 汎用的な複雑タスクに対応
これに加えてカスタムエージェントの作成が可能です。これを使っていきます!
サブエージェントの最大のメリット: コンテキスト保全
サブエージェントの最大のメリットは、独立したコンテキストウィンドウで動作する ことだと思っています。
メイン会話が汚染されない
通常の会話でレビュー依頼をしたり、 /review のbuilt-in コマンドでは、レビュー結果がメイン会話コンテキストに混ざります。
サブエージェントがない場合は別のsessionを立ててコンテキストを分離するなどの運用が必要になりますね。
自分の開発しながら飛んできたレビュー依頼を捌くためにコンテキスト分離や引き継ぎを毎回考えるのはつらたん...
長時間セッションでの優位性
PR レビューでは、大量の差分やファイル内容がコンテキストに含まれます。サブエージェントを使うと:
- ✅ メイン会話のコンテキストを節約: レビュー詳細は独立したウィンドウで処理
- ✅ 高レベルな会話に集中: 「この設計どう思う?」など、本質的な議論に専念
- ✅ 複数タスクの並行: レビューしながら次の実装を議論可能
これはコードレビューが頻繁に発生する開発現場でめっちゃ助かります。
専門化された振る舞い
サブエージェントには、タスクに特化したシステムプロンプトとツールセットを定義できます:
- レビュー観点: セキュリティ、パフォーマンス、テストなど、プロジェクト固有の基準
- フィードバック形式: 優先度別の構造化された出力
- 使用ツール: レビューに必要な Read, Grep, Bash のみに制限(Write は除外してコードを変更させない)
これにより、毎度毎度指示せずとも使いまわせる形式になり、品質を保ったレビューができます。
組み込みコマンド /review との違い
Claude Code には、/review という組み込みスラッシュコマンドがあります。同じくコードレビューを行うコマンドですが、サブエージェントとは以下の点で違いがあります:
| 項目 | サブエージェント |
/review コマンド |
|---|---|---|
| 起動方法 | 自動委譲 or 明示的指定 |
/review で明示的に呼び出し |
| コンテキスト | 独立したコンテキストウィンドウ | 現在の会話に追加プロンプト |
| 会話の分離 | 完全に分離(メイン会話を汚染しない) | メイン会話に統合(コンテキストに残る) |
| カスタマイズ性 | システムプロンプト・ツール・モデルを自由に設定 | 文章でいちいち指示を出せばまぁ... |
| ツール制限 | エージェント固有のツールセット | 進行中のセッションによる |
使い分けの指針
一応 /review のユースケースもあるっちゃあるので整理すると、
サブエージェントが向いているケース:
- 長時間の開発セッションで複数回レビューする
- プロジェクト固有のレビュー基準を適用したい
- 一貫した品質・形式が求められるタスク
- メイン会話のコンテキストを節約したい
/review コマンドが向いているケース:
- 一度だけサッと確認したい
- カスタマイズ不要のシンプルなレビュー
- すでに短い会話で、コンテキスト汚染を気にしない場合
な感じです。
重要: 前述の「コンテキスト保全」の観点から、繰り返しレビューを行う場合はサブエージェントが圧倒的に実用的。
サブエージェントを使うことで:
✅ 一貫した基準: 全ての PR で同じ観点からレビュー
✅ 網羅的なチェック: セキュリティからドキュメントまで包括的に
✅ 効率化: 自動レビューで人間は本質的な判断に集中
ミニマム構成
/agents コマンドで新規に作成する方法もありますが、以下のmarkdownを .claude/agents/code-reviewer.md (プロジェクト用) または ~/.claude/agents/code-reviewer.md (全プロジェクト共通) に保存するだけでOKです:
---
name: code-reviewer
description: コード変更をレビュー。品質とセキュリティをチェック。
tools: Read, Grep, Glob, Bash
model: inherit
---
経験豊富なコードレビュアーとして動作してください。
レビュー時は以下を確認:
- セキュリティ上の問題がないか
- パフォーマンスのボトルネックがないか
- テストが適切か
- コードの可読性
優先度をつけてフィードバックしてください:
- Critical: 必須修正
- Major: 強く推奨
- Minor: 検討推奨
これでレビュー時に作成したサブエージェント code-reviewer が使えます。
エージェントは自動で使い分けされます:
> 最近の変更をレビューしてください
Claude が自動的に code-reviewer サブエージェントを選んでレビューしてくれます。
明示的に指定したい場合:
> code-reviewer サブエージェントを使ってこの PR をチェックしてください
おわりに
実務向けにカスタマイズしたversion(レビュー観点や出力形式を詳細に定義)は こちら で公開しています。Google Engineering Practices準拠レビュー版で運用していて個人的には現状かなり満足しています。
他にも複数サブエージェント運用しています。みなさんも良いサブエージェントライフを!
Discussion