- AI ⚙️
AIコードレビューのプロンプト集|観点別テンプレートと出力形式
AIにコードレビューを頼むときは、「前提情報(差分の範囲・規約・対象外)」「観点」「出力形式」の3つをプロンプトに書くと、指摘の質がそろいます。 「このコードをレビューして」の1行だけでは、AIは何を優先し、どこまで見ればよいかを自分で決めるしかありません。
この記事では、8つの観点ごとに、確認項目の表とそのまま使えるプロンプトを対にして載せました。指摘を「重要度・ファイルと行・理由・修正案」の表で返させる出力形式と、誤検知を減らす前提情報の書き方もテンプレートにしています。後半では、同じ内容をチャット・Claude Code・GitHub Copilot のどこに置くかを整理します。
確認環境:差分を取り出す git コマンドは git 2.43.0(Linux)で実行。設定ファイルの名前・置き場所・項目は、Claude Code と GitHub Copilot の公式ドキュメント(2026年10月5日に閲覧)で確認し、掲載した設定ファイルの先頭部分(YAML)とプロンプトのタグの対応は Python 3.11 で構文を確認しています。この記事はプロンプト集で、モデルの出力例は載せていません。
AIコードレビューの観点と渡す情報の早見表
| 観点 | AIに見させること | 一緒に渡すと指摘が正確になる情報 | 重要度の目安 |
|---|---|---|---|
| バグ | 条件分岐、境界値、呼び出し元との整合 | 変更の目的、呼び出し元のコード | 高 |
| セキュリティ | 外から来た値の経路、認証・認可、秘密情報 | 入口になる処理、認証の仕組み | 高 |
| 例外処理 | 握りつぶし、後片付け、ログ | エラー処理の規約 | 高〜中 |
| テスト | 変更した分岐とテストの対応 | 既存テストの書き方 | 中 |
| 性能 | ループ内のI/O、取得量、インデックス | 想定するデータ量、テーブル定義 | 中 |
| 設計 | 責務、依存の向き、既存処理との重複 | 層の分け方、共通処理のファイル | 中 |
| 可読性 | 関数の長さ、入れ子、重複、コメント | フォーマッターの有無 | 低 |
| 命名 | 名前と中身の一致、一貫性 | 既存の名前の例、命名規約 | 低〜中 |
1回のレビューで頼む観点は2〜3個までにすると、それぞれを深く見てもらいやすくなります。全部を見たいときは、「バグ・セキュリティ・例外処理」と「それ以外」のように、回を分けて頼みます。
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「AIコードレビューのプロンプト集|観点別テンプレートと出力形式」
土台になるプロンプト(前提情報+出力形式)
観点が変わっても、前提情報と出力形式は共通です。先に土台を作り、<focus> の中だけを観点別プロンプトに差し替えて使います。
<role>
あなたは {{言語・フレームワークと版}} に詳しいレビュアーです。
</role>
<context>
変更の目的:{{何のための変更か。例:備品予約に割引コードを追加}}
差分の範囲:{{例:main ブランチとの差分。1つのプルリクエスト全体}}
差分に含まれないが関係するコード:{{例:呼び出し元の reservation_service.py を下に添付}}
</context>
<conventions>
{{チームの規約。例:例外は握りつぶさずログに残す/SQL は必ずプレースホルダーを使う}}
</conventions>
<out_of_scope>
- 自動生成ファイル、ロックファイル
- フォーマッターやリンターが検出する書式
- 今回の差分で変更していない行(変更の影響で問題になる場合を除く)
</out_of_scope>
<diff>
{{git diff の出力}}
</diff>
<focus>
{{観点別プロンプトをここに貼る。複数貼ってもよい}}
</focus>
<rules>
- 指摘は、差分の行を根拠として引用できるものだけにする
- 差分と添付から判断できないことは、指摘にせず「確認したいこと」に書く
- 同じ原因の指摘は1つにまとめる
- 指摘が無い観点は「指摘なし」と書く。無理に指摘を作らない
</rules>
<output_format>
1. 指摘の表(重要度の高い順)
| 重要度 | ファイル:行 | 観点 | 指摘 | 理由 | 修正案 |
重要度は次の3段階で付ける。
- 高:不具合・情報漏えい・データの不整合につながる。マージ前に直す
- 中:今は動くが、条件しだいで問題になる。直すか、理由を残す
- 低:読みやすさや好みの改善。対応は任意
2. 確認したいこと(差分からは判断できなかった点。箇条書き)
3. 総評(2文以内)
</output_format>
上の diff を、focus の観点でレビューし、output_format の形で出力してください。
前提情報の3点セット:差分の範囲・規約・対象外
誤検知(実際には問題のない指摘)の多くは、AIが前提を知らないことから生まれます。次の3つを書いておくと減らせます。
| 前提情報 | 書くこと | 書かないと起きやすいこと |
|---|---|---|
| 差分の範囲 | どのブランチとの差分か。差分の外で関係するコード | 「この関数は定義されていない」のような、見えていないことによる指摘 |
| 規約 | チームで決めている書き方、採用しているライブラリの版 | 規約どおりの書き方への指摘、別の版を前提にした提案 |
| 対象外 | 自動生成ファイル、書式、変更していない行 | 書式の指摘で表が埋まり、大事な指摘が目立たなくなる |
土台の <rules> に入れた「判断できないことは、指摘にせず『確認したいこと』に書く」も大切です。分からないことの行き先を用意しておくと、推測にもとづく指摘が表に混ざりにくくなります。
差分を取り出すコマンド
チャットに貼る差分は、git で取り出します。次のコマンドは、main ブランチから分かれた作業ブランチで実行した例です。
# 変更されたファイルの一覧と行数
git diff --stat main...HEAD
package-lock.json | 2 +-
src/cart.py | 5 +++--
tests/test_cart.py | 2 ++
3 files changed, 6 insertions(+), 3 deletions(-)
# ロックファイルを除いた差分
git diff main...HEAD -- . ':(exclude)package-lock.json'
diff --git a/src/cart.py b/src/cart.py
index 6e711fb..800532f 100644
--- a/src/cart.py
+++ b/src/cart.py
@@ -1,2 +1,3 @@
-def total(items):
- return sum(i["price"] for i in items)
+def total(items, discount=0):
+ subtotal = sum(i["price"] * i["qty"] for i in items)
+ return subtotal - discount
diff --git a/tests/test_cart.py b/tests/test_cart.py
new file mode 100644
index 0000000..bdfc0fd
--- /dev/null
+++ b/tests/test_cart.py
@@ -0,0 +1,2 @@
+def test_total():
+ pass
| やりたいこと | コマンド |
|---|---|
| ブランチ全体の差分(分岐した時点との比較) | git diff main...HEAD |
| 変更されたファイル名だけ | git diff --name-only main...HEAD |
| コミット前(ステージ済み)の差分 | git diff --staged |
| 前後の行を多めに含める(10行) | git diff -U10 main...HEAD |
| 特定のファイルを除く | git diff main...HEAD -- . ':(exclude)package-lock.json' |
| 特定のディレクトリだけ | git diff main...HEAD -- src |
変更の前後が少ないと、AIは周りの処理を知らないまま判断することになります。関数の途中だけが差分に出ているときは、-U で前後の行を増やすか、関数全体を別に添付すると、見えていないことによる指摘が減ります。
出力形式の指定:重要度3段階と表
指摘は、人が上から順に対応できる形で返してもらいます。土台のプロンプトでは、次の列を指定しています。
| 列 | 指定する内容 | 指定する理由 |
|---|---|---|
| 重要度 | 高・中・低の3段階と、それぞれの基準 | 基準を書かないと、すべて「中」に寄りやすい |
| ファイル:行 | 例:src/cart.py:2 | 該当箇所へすぐ移動できる |
| 観点 | バグ、セキュリティ など | 観点ごとに担当や対応を分けられる |
| 指摘 | 何が問題かを1文で | 長い説明は「理由」に分ける |
| 理由 | なぜ問題か。起きる条件や入力 | 受け入れるかどうかを人が判断できる |
| 修正案 | 直した後のコード、または方針 | そのまま試せる |
出力形式の指定例(表計算ソフトに貼りたいとき):
指摘は CSV で出力する。1行目は見出しとする。
重要度,ファイル,行,観点,指摘,理由,修正案
値にカンマや改行を含むときは、ダブルクォートで囲む。
出力形式の指定例(プログラムで処理したいとき):
<output_format>
次の JSON だけを出力する。前後に文章を付けない。
{
"findings": [
{
"severity": "high | medium | low",
"file": "ファイルのパス",
"line": 行番号,
"category": "bug | security | performance | readability | design | test | error-handling | naming",
"issue": "指摘(1文)",
"reason": "理由",
"suggestion": "修正案"
}
],
"questions": ["差分からは判断できなかった点"],
"summary": "総評(2文以内)"
}
指摘が無い場合は "findings": [] とする。
</output_format>
重要度の3段階は、チームで使っているラベルに合わせて言い換えてかまいません。大切なのは、段階の名前だけでなく「どういうものがその段階か」を書くことです。
観点別の確認項目とプロンプト
以下の各プロンプトを、土台の <focus> に貼って使います。{{ }} は自分の内容に書き換えてください。
1. バグ(正しさ):変更の目的どおりに動くか
| 確認項目 | AIに確かめさせる内容 |
|---|---|
| 条件分岐 | 条件の向き、以上と超えるの取り違え、抜けている分岐 |
| 境界値 | 0件、1件、上限ちょうど、上限+1、空文字、null |
| 計算 | 単位、丸め、ゼロ除算、桁あふれ |
| 状態 | 途中で止まったときのデータの状態、二重実行 |
| 呼び出し側 | 引数や戻り値の変更が、既存の呼び出し元と合っているか |
観点:バグ(正しさ)
- context の「変更の目的」を満たしているかを最初に確かめる
- 条件分岐の抜け、境界値(0件・1件・上限・空・null)での動きを確かめる
- 引数や戻り値を変えた関数は、添付した呼び出し元と合っているかを確かめる
- 問題がある場合は、問題が起きる具体的な入力値を1つ示す
2. セキュリティ:外から来た値の扱い、権限、秘密情報
| 確認項目 | AIに確かめさせる内容 |
|---|---|
| 入力の扱い | SQL・コマンド・HTML・ファイルパスへ、外から来た値をそのまま連結していないか |
| 認証・認可 | ログイン確認、本人のデータかどうかの確認が、追加した処理にもあるか |
| 秘密情報 | パスワード、トークン、APIキーがコードやログに出ていないか |
| エラー表示 | 内部の情報(スタックトレース、SQL)を利用者に返していないか |
| 依存ライブラリ | 追加・更新したライブラリと、その理由 |
観点:セキュリティ
- 利用者やほかのシステムから来る値が、SQL・コマンド・HTML・ファイルパスに渡る経路を差分からたどる
- 追加・変更したエンドポイントや処理に、認証と、本人のデータかどうかの確認があるかを確かめる
- パスワード・トークン・APIキー・個人を特定できる情報が、コード・ログ・エラー応答に出ていないかを確かめる
- 指摘には、値がどこから入り、どこで問題になるかの経路を書く
3. 性能:データが増えたときの動き
| 確認項目 | AIに確かめさせる内容 |
|---|---|
| 繰り返しの中のI/O | ループの中でDB問い合わせやAPI呼び出しをしていないか(N+1) |
| 取得する量 | 全件取得、不要な列の取得、ページ分けの有無 |
| 計算量 | 入れ子のループ、リストでの検索 |
| メモリ | 大きなファイルやデータを一度に読み込んでいないか |
| インデックス | 追加した検索条件や並び順に合うインデックスがあるか |
観点:性能
- 想定するデータ量は {{例:予約テーブル100万件、1回の一覧表示は50件}} とする
- ループの中のDB問い合わせ・API呼び出し・ファイル操作を挙げる
- 件数に比例して遅くなる処理を挙げ、どの件数から問題になりそうかの見立てを書く
- 速さの数値は推測で書かず、測り方(確かめるクエリやコマンド)を提案する
4. 可読性:あとから読む人に伝わるか
| 確認項目 | AIに確かめさせる内容 |
|---|---|
| 関数の長さと役割 | 1つの関数が複数のことをしていないか |
| 入れ子の深さ | 早期リターンで浅くできるか |
| 重複 | 同じ処理のコピーがないか |
| コメント | 「なぜ」が必要な箇所に書かれているか。コードと食い違っていないか |
| 定数 | 意味の分からない数値や文字列が直接書かれていないか |
観点:可読性
- 初めて読む人がつまずきそうな箇所を、理由つきで挙げる
- 重要度は原則「低」とし、誤解から不具合につながりそうなものだけ「中」にする
- 書式(インデント、空白、改行)はフォーマッターに任せるので指摘しない
- 修正案は、直した後のコードを数行で示す
5. 設計:責務の分け方と変更のしやすさ
| 確認項目 | AIに確かめさせる内容 |
|---|---|
| 責務 | 画面・業務ロジック・データ取得が混ざっていないか |
| 依存の向き | 下の層が上の層を参照していないか |
| 既存の仕組みとの重複 | すでにある共通関数やクラスで足りないか |
| 公開範囲 | 外から呼べる関数や項目が必要以上に増えていないか |
| 拡張 | 種類が増えたときに、変更箇所が1か所で済むか |
観点:設計
- このリポジトリの層の分け方は {{例:controller → service → repository}} とする
- 差分が、この分け方と依存の向きに合っているかを確かめる
- 既存の共通処理(添付した {{ファイル名}})で置き換えられる箇所を挙げる
- 作り直しの提案は、今回の変更の範囲で直せるものと、別の変更に分けるものを分けて書く
6. テスト:変更がテストで守られているか
| 確認項目 | AIに確かめさせる内容 |
|---|---|
| 対応 | 変更した分岐ごとに、対応するテストがあるか |
| 境界値・エラー系 | 正常系だけになっていないか |
| 確認内容 | 実行するだけで、結果を確かめていないテストがないか |
| 独立性 | 実行順や現在時刻、外部の状態に左右されないか |
| 名前 | 何を確かめるテストかが名前で分かるか |
観点:テスト
- 差分で変更・追加された分岐を列挙し、それぞれを通るテストが差分の中にあるかを表にする
- 足りないテストケースを、入力と期待する結果の形で挙げる
- 結果を確かめていない(検証の文が無い)テストを挙げる
- テストコードの書き方は conventions に合わせる
7. 例外処理:うまくいかなかったときの動き
| 確認項目 | AIに確かめさせる内容 |
|---|---|
| 握りつぶし | 捕まえた例外を、何もせずに捨てていないか |
| 範囲 | 捕まえる例外の種類が広すぎないか |
| 後片付け | ファイル、接続、ロックが、例外のときも解放されるか |
| 利用者への伝え方 | 次に何をすればよいかが分かるメッセージか |
| ログ | 調査に必要な情報(ID、入力の要点)が残るか。秘密情報が混ざっていないか |
観点:例外処理
- 外部への呼び出し(DB、API、ファイル)ごとに、うまくいかなかった場合の動きを差分からたどる
- 例外を捕まえて何もしていない箇所、広い種類でまとめて捕まえている箇所を挙げる
- 例外のときに、接続・ファイル・ロック・トランザクションが残らないかを確かめる
- 修正案には、ログに残す項目と、呼び出し元へ返す内容を書く
8. 命名:名前から中身が分かるか
| 確認項目 | AIに確かめさせる内容 |
|---|---|
| 意味 | 名前と、実際にしていることが合っているか |
| 一貫性 | 同じものを別の語で呼んでいないか(user と member など) |
| 真偽値 | is・has・can などで、真のときの意味が分かるか |
| 省略 | チームで通じない省略語がないか |
| 規約 | 言語やチームの命名規約(大文字小文字、単数・複数)に合っているか |
観点:命名
- 差分で追加・変更された変数・関数・クラス・テーブル・列の名前を対象にする
- 名前と実際の動きが食い違っているものを最優先で挙げる(重要度「中」)
- 既存の名前({{例:Reservation、cancelReservation}})と語の選び方がそろっているかを確かめる
- 修正案は、候補を2つまでと、選ぶ基準を書く
観点の組み合わせ方
| 変更の種類 | 頼む観点(1回め) | 頼む観点(2回め) |
|---|---|---|
| 新しい機能の追加 | バグ、テスト、例外処理 | 設計、命名 |
| 入力フォームやAPIの追加 | セキュリティ、バグ、例外処理 | テスト |
| 一覧・検索・集計の変更 | 性能、バグ | テスト |
| リファクタリング | バグ(動きが変わっていないか)、設計 | 可読性、命名 |
| 不具合の修正 | バグ、テスト(再発を防ぐテストがあるか) | 例外処理 |
チャット・Claude Code・GitHub Copilot での置き場所の違い
同じ「前提情報・観点・出力形式」でも、ツールによって書く場所が変わります。
| 項目 | チャット(ブラウザのAI) | Claude Code | GitHub Copilot コードレビュー |
|---|---|---|---|
| 差分の渡し方 | git diff の出力を自分で貼る | 自分でリポジトリを読む。差分をコマンドで取得できる | プルリクエストの差分を読む |
| 毎回共通の規約 | 毎回プロンプトに貼る | CLAUDE.md(リポジトリ直下か .claude/ の中) |
.github/copilot-instructions.md |
| 特定のパスだけの規約 | 該当するときだけ貼る | .claude/rules/ の Markdown(先頭に paths を書く) |
.github/instructions/名前.instructions.md(先頭に applyTo を書く) |
| レビューの手順・出力形式 | 土台のプロンプトを貼る | スキル .claude/skills/名前/SKILL.md |
上の指示ファイルに書く |
| 観点ごとの専門レビュアー | 観点を変えて別の会話で頼む | サブエージェント .claude/agents/名前.md |
― |
| 呼び出し方 | メッセージを送る | /スキル名。同梱の /code-review もある |
プルリクエストのレビュアーに Copilot を指定、または自動レビューを設定 |
| 個人だけの設定 | ― | ~/.claude/CLAUDE.md、CLAUDE.local.md |
― |
チャットで使う場合
土台のプロンプトに差分を貼って送ります。リポジトリを読めないため、差分の外にある関係コード(呼び出し元、型の定義、テーブル定義)を自分で添付することが、指摘の正確さを左右します。秘密情報(パスワード、APIキー、個人を特定できる情報)は、貼る前にダミーの値へ置き換えます。
Claude Code で使う場合
Claude Code には、差分をレビューするスキル /code-review(/review は別名)と、ブランチの変更をセキュリティの観点で調べる /security-review が同梱されています。チームの観点と出力形式でそろえたいときは、自分たちのスキルを追加します。
スキルは .claude/skills/スキル名/SKILL.md に置きます。次の例を .claude/skills/team-review/SKILL.md として保存すると、/team-review で呼び出せます。
---
name: team-review
description: チームの観点と出力形式で、現在のブランチの差分をレビューする
disable-model-invocation: true
argument-hint: "[追加の指示]"
allowed-tools: Bash(git diff *) Bash(git log *) Read Grep Glob
---
## 差分
!`git diff main...HEAD -- . ':(exclude)package-lock.json'`
## 変更されたファイル
!`git diff --name-only main...HEAD`
## 依頼
上の差分をレビューしてください。追加の指示:$ARGUMENTS
- 観点:バグ、セキュリティ、例外処理、テストの順に確かめる
- 対象外:自動生成ファイル、書式、差分で変更していない行
- 差分だけで判断できないときは、関係するファイルを読んでから判断する
- 出力:| 重要度 | ファイル:行 | 観点 | 指摘 | 理由 | 修正案 | の表。
重要度は 高・中・低 の3段階。指摘が無い観点は「指摘なし」と書く
| 項目 | 意味 |
|---|---|
name |
コマンド名。省略するとディレクトリ名になる |
description |
何をするスキルか。Claude が自動で使うかどうかの判断にも使われる |
disable-model-invocation: true |
Claude が自動で呼び出さないようにする(人が呼んだときだけ動く) |
argument-hint |
入力候補に表示される引数のヒント |
allowed-tools |
スキルの実行中、確認なしで使えるツール |
$ARGUMENTS |
コマンドの後ろに書いた文字列に置き換わる |
行頭の ! とバッククォートで囲んだコマンド |
スキルを渡す前にコマンドを実行し、その出力に置き換わる |
観点を1つに絞った専門のレビュアーは、サブエージェントとして .claude/agents/ に置けます。先頭に name と description、必要なら使えるツールを書き、その下の本文がサブエージェントへの指示(システムプロンプト)になります。
---
name: security-reviewer
description: 差分をセキュリティの観点だけでレビューする。認証・入力の扱い・秘密情報を変更したときに使う
tools: Read, Glob, Grep
---
あなたはセキュリティの観点だけを見るレビュアーです。
外から来る値が SQL・コマンド・HTML・ファイルパスに渡る経路、認証と認可の確認、
秘密情報の扱いを確かめ、指摘を「重要度・ファイル:行・理由・修正案」の表で返してください。
差分から判断できないことは、指摘にせず「確認したいこと」として挙げてください。
毎回のレビューに共通する規約(命名、エラー処理、使うライブラリ)は、スキルではなく CLAUDE.md に書いておくと、レビュー以外の作業でも同じ規約が使われます。
GitHub Copilot コードレビューで使う場合
Copilot のコードレビューは、リポジトリのカスタム指示を読みます。リポジトリ全体に効かせる内容は .github/copilot-instructions.md に書きます。
# コードレビューの方針
## 観点の優先順位
1. バグ(変更の目的どおりに動くか、境界値)
2. セキュリティ(外から来た値の扱い、認証・認可、秘密情報)
3. 例外処理とテスト
4. 設計、性能、可読性、命名
## 規約
- SQL は必ずプレースホルダーを使う
- 例外を捕まえたら、ログに残すか、呼び出し元へ伝える
- 公開する関数には型ヒントを付ける
## 指摘の書き方
- 重要度(高・中・低)、理由、修正案を必ず書く
- 書式の指摘はしない(フォーマッターが担当する)
- 自動生成ファイルとロックファイルは対象外
特定のパスだけに効かせたい内容は、.github/instructions/ に 名前.instructions.md というファイルを作り、先頭の applyTo に対象のパスを glob 形式で書きます。
---
applyTo: "src/api/**/*.py"
---
# API 層のレビュー観点
- エンドポイントごとに、認証と、本人のデータかどうかの確認があること
- 入力値の検証をしてから service を呼ぶこと
- エラー応答に、内部の情報(スタックトレース、SQL)を含めないこと
excludeAgent を書くと、その指示を使わない相手を指定できます。指定できる値は "code-review" と "cloud-agent" です。次の例は、コードレビューでだけ使い、クラウドエージェントには使わせない指示です。
---
applyTo: "**/*.sql"
excludeAgent: "cloud-agent"
---
# SQL のレビュー観点(Copilot コードレビュー向け)
- 追加した検索条件と並び順に合うインデックスがあること
- 全件を更新・削除する文には、件数を確かめる手順がコメントにあること
押さえておきたい点は次の2つです。
- Copilot は、プルリクエストの変更側のブランチ(head ブランチ)にある指示ファイルを読みます。 指示ファイルを変えるプルリクエストでは、その変更後の内容でレビューされます。
- Copilot のレビューは、既定では必須の承認の数に数えられません。人のレビューと組み合わせて使う前提の仕組みです。
誤検知を減らすためのチェックリスト
| 確認すること | 対応 |
|---|---|
| 差分の範囲を書いたか | 「main との差分」「このプルリクエスト全体」のように明記する |
| 差分の外の関係コードを渡したか | 呼び出し元、型やテーブルの定義を添付する。ツールに読ませる場合は読むよう指示する |
| 規約を渡したか | チームの決まりを箇条書きで。指示ファイルに置けば毎回貼らずに済む |
| 対象外を書いたか | 自動生成、書式、変更していない行 |
| 重要度の基準を書いたか | 3段階それぞれの意味を1行ずつ |
| 判断できないときの行き先を作ったか | 「確認したいこと」の欄を出力形式に入れる |
| 「指摘なし」を認めたか | 指摘が無い観点は「指摘なし」と書かせる |
| 観点を絞ったか | 1回に2〜3個まで |
AIの指摘は、受け入れる前に人が確かめます。理由の列を読んで、問題が起きる入力や条件が具体的に書かれているかを見ると、取り入れるかどうかを判断しやすくなります。
よくある質問
Q. 観点は1つずつ頼むのと、まとめて頼むのとどちらがよいですか? A. 差分が小さければ、関係の近い観点を2〜3個まとめて頼むと効率的です。差分が大きいときや、セキュリティのように見落としを減らしたい観点は、単独で頼むと深く見てもらいやすくなります。
Q. 指摘が多すぎて読み切れません。 A. 対象外(書式、自動生成、変更していない行)を書き、重要度の基準を明記したうえで、「重要度が高と中のものだけ」「最大10件」のように出力形式で絞ります。可読性と命名は、別の回に分けるのも有効です。
Q. ChatGPT と Claude で、プロンプトを書き分ける必要はありますか? A. この記事の土台は、どちらにもそのまま貼って使える書き方です。タグで区切る形が合わないと感じたら、タグを Markdown の見出しに置き換えてください。内容(前提情報・観点・出力形式)が同じであれば、区切りの形式はどちらでも伝わります。
Q. AIのレビューがあれば、人のレビューは省けますか? A. AIは差分と渡された情報から読み取れる範囲を見ます。仕様として正しいか、チームの方針に合うかは、人が判断する部分です。AIには観点ごとの確認を任せ、人は目的と設計の判断に時間を使う、という分担がおすすめです。
まとめ
- プロンプトには「前提情報・観点・出力形式」の3つを書く。土台を1つ作り、観点だけを差し替える
- 前提情報は「差分の範囲・規約・対象外」の3点セット。見えていないことによる指摘と、書式の指摘を減らせる
- 出力は「重要度・ファイル:行・観点・指摘・理由・修正案」の表。重要度は3段階の基準まで書く
- 観点はバグ・セキュリティ・性能・可読性・設計・テスト・例外処理・命名の8つ。1回に頼むのは2〜3個まで
- 判断できないことは「確認したいこと」へ、指摘が無ければ「指摘なし」と書かせると、推測の指摘が混ざりにくい
- 置き場所はツールで違う。Claude Code は CLAUDE.md・スキル・サブエージェント、Copilot は .github/copilot-instructions.md と .github/instructions/ のファイル
- AIの指摘は人が確かめてから取り入れる。理由の列に具体的な条件が書かれているかを見る
参考・出典
- Claude Code Docs「Extend Claude with skills」 https://code.claude.com/docs/en/skills
- Claude Code Docs「Create custom subagents」 https://code.claude.com/docs/en/sub-agents
- Claude Code Docs「How Claude remembers your project」 https://code.claude.com/docs/en/memory
- Claude Code Docs「Commands」 https://code.claude.com/docs/en/commands
- GitHub Docs「Adding repository custom instructions for GitHub Copilot」 https://docs.github.com/en/copilot/how-tos/configure-custom-instructions/add-repository-instructions
- GitHub Docs「About GitHub Copilot code review」 https://docs.github.com/en/copilot/concepts/agents/code-review
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「AIコードレビューのプロンプト集|観点別テンプレートと出力形式」
株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。
WE ARE HIRING
RJCで一緒に開発しながら、
成長を楽しみませんか?
RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!
- 127日年間休日
- 12時間平均残業時間
- 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!
ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。