
AIにコードレビューの一次チェックを任せる|範囲と注意点
「レビュー、お願いします」の通知が、また増えていく。 自分のレビュー待ちで、誰かの作業が止まっている。そう思うと、後回しにしづらいですよね。でも、まとまった時間が取れず、夜にようやく開く——そんな日が続くと、レビューがチームのボトルネックになってきます。
そんなとき、「一次チェックだけでもAIに任せられないか」と考えるのは自然なことです。 実際、命名の揺れ、明らかな抜け、ありがちなミスのような機械的に拾える指摘は、AIが得意とする所です。ここを先に片づけておけば、人は「設計として正しいか」「この変更で大丈夫か」という、人にしか判断できない所に集中できます。
ただし、これは「レビューをAIに代わってもらう」話ではありません。 レビューには、AIに任せていい層と、人が責任を持って見る層がある。その線引きを曖昧にしたまま任せると、「AIが見たから大丈夫」という危うい安心が生まれます。この記事では、その境界を分解して、どこまで任せ、どこから自分で見るのかを、コピーして使えるプロンプトとチェックリスト付きで整理します。
結論:AIに任せていいのは、①規約・スタイル ②明らかなバグ・抜けの拾い出し ③可読性・命名の指摘 ④テストやエラー処理の漏れの指摘まで。人が必ず見るのは、①その変更が設計・仕様として正しいか ②セキュリティ・データ・お金に関わる判断 ③この変更を本当に入れていいかの最終承認。AIは「見落としを減らす一次フィルタ」、人は「通していいかを決める最終ゲート」。役割を分ければ、レビューは速くなっても、品質の責任は薄まりません。
レビューが遅いのは、あなたの能力の問題ではありません。 人が足りない、時間が取れない、依頼が同時に来る——たいていは構造の問題です。だから「もっと速くレビューしよう」と自分を追い込む前に、機械でいい所を機械に渡して、人の時間を中身に回す。今日はその設計を、一緒に考えていきましょう。
なぜ「全部AIに」でも「全部人で」でもないのか

レビューを「AIに任せるか、人がやるか」の二択で考えると、たいてい無理が出ます。 全部AIに任せれば、設計の妥当性や、このコードが本当に仕様を満たしているかという判断まで委ねてしまう。逆に全部人でやれば、命名の揺れやスタイルの指摘まで人の時間を使い、肝心の中身を見る余力が削られる。
だから、二択ではなく二層で考えます。
- 下の層(機械的に拾える):規約違反、タイポ、明らかな抜け、よくあるミスのパターン、命名の一貫性、テスト・エラー処理の有無。正解が比較的はっきりしていて、文面から拾えるもの。
- 上の層(判断が要る):この設計でいいのか、仕様に合っているのか、セキュリティやデータの扱いとして妥当か、この変更を入れていいのか。前後の文脈・事業判断・責任が絡むもの。
AIが得意なのは、下の層を速く・漏れなく・疲れずに拾うことです。 人が消耗するのは、本当はこの下の層です。同じような指摘を毎回手で書き、見落としては後で気づく。ここをAIに渡すと、人は上の層——自分にしか判断できない所にエネルギーを残せます。
ポイントは、AIは下の層を「拾う」だけで、通していいかを決めるのは上の層を見た人だということ。一次チェックは、最終承認の代わりにはなりません。
AIに任せていい範囲(一次チェックの守備範囲)
ここからは、具体的に「任せていい」ものを並べます。 共通するのは、判断より照合に近いということ。基準があって、それに照らして拾えるものです。
1. 規約・スタイルの一貫性
命名規則、フォーマット、import の順序、コメントの書式といったチーム規約への準拠は、AIの得意分野です。 規約をプロンプトに渡せば、それに照らして揺れを指摘してくれます。人が毎回これを手で書くのは、消耗のわりに価値が出にくい作業です。Linter やフォーマッタで機械化できる部分はそちらに任せ、ツールでは拾いにくい「意図の伝わる命名か」といった所をAIに見てもらう、という分担も有効です。
2. 明らかなバグ・抜けの拾い出し
null・未定義の考慮漏れ、戻り値の未チェック、例外の握りつぶし、配列の境界、条件分岐の抜け——こうしたありがちな型のミスは、AIが一次で拾いやすいものです。 ただし「拾いやすい」であって「拾いきる」ではありません。AIが挙げた指摘は候補として扱い、本当にバグかは人が確認します。それでも、人が見る前に候補が並んでいれば、見落としは確実に減ります。
3. 可読性・命名・重複の指摘
「この関数は何をしているか名前から分からない」「同じ処理が2か所にある」「ネストが深くて追いにくい」といった読みやすさの指摘も、一次チェック向きです。 これらは指摘されれば「確かに」と分かるのに、書いた本人やレビュアーが見落としがちな所。AIに通すと、自分の目が慣れて見えなくなった部分を言葉にしてくれます。
4. テスト・エラー処理・ドキュメントの「漏れ」の指摘
「この分岐のテストが無い」「異常系のハンドリングが無い」「公開関数なのに説明が無い」といった、あるべきものが無いという指摘。 これは前回のAIにテストケースを洗い出させる|観点の与え方とも地続きで、抜けの炙り出しはAIの強い所です。何を足すかは人が決めますが、「足りないかもしれない場所」を並べてもらえると、判断が速くなります。
この4つに共通するのは、間違っていても害が小さく、人が最終確認する前提で使えるということ。だから安心して一次フィルタに回せます。
人が必ず見る範囲(AIに渡してはいけない判断)

ここが、この記事のいちばん大事な所です。 一次チェックをAIに任せても、次の3つは人が責任を持って見ます。これらは「正解の照合」ではなく、「通していいかの判断」だからです。
1. 設計・仕様としての正しさ
このコードは確かに動くかもしれない。でも、そもそもこのやり方でいいのか。仕様を本当に満たしているのか。既存の設計と矛盾しないか。将来の変更を苦しくしないか。 AIは、このリポジトリの設計思想、過去の議論、事業の方向性を十分には知りません。だから「コードとして正しい」とは言えても、「この設計判断が正しい」とは判断しきれない。ここは、文脈を知っている人の領域です。
2. セキュリティ・データ・お金に関わる判断
認証・認可、個人情報や機密データの扱い、課金・決済、外部への送信、権限の境界——間違えたときの被害が大きく、後戻りしにくい領域。 AIは一般的な脆弱性パターンの指摘はできますが、「このデータをここに置いていいか」「この権限設計は自社の規程に合っているか」は、組織の事情を知る人にしか決められません。機密情報の線引きは社内データをAIに渡すときの情報漏えい・取り扱いの線引きにも整理しています。ここを「AIが指摘しなかったから安全」と扱うのが、いちばん危ない誤用です。
3. この変更を入れていいかの最終承認
そして、承認(マージ)の判断は、必ず人がします。 AIの一次チェックを参考にするのは構いません。でも「AIがOKと言ったから通す」ではなく、「自分が見て、入れていいと判断したから通す」という形を崩さない。これは責任の所在の問題です。AI生成物の責任の扱いは曖昧になりがちですが、承認者は人であるという一点だけは、曖昧にしてはいけません。
この3つは、効率化の対象ではなく、そもそも人の仕事です。一次チェックを速くするのは、ここに時間を残すためでもあります。
任せる/見るの早見表
迷ったときのために、一覧にしておきます。あくまで目安なので、現場の事情に合わせて調整してください。
| 観点 | 一次チェックをAIに | 最終判断は人が | ひとことで |
|---|---|---|---|
| 命名・スタイル・規約準拠 | ◎ | △ | 照合はAI、意図は人 |
| タイポ・明らかな抜け | ◎ | ○ | 候補出しはAI、確定は人 |
| 可読性・重複・複雑さ | ◎ | ○ | 指摘はAI、直すかは人 |
| テスト・エラー処理の漏れ | ◎ | ○ | 漏れ出しはAI、要否は人 |
| 設計・仕様の妥当性 | △ | ◎ | 文脈が要る=人 |
| セキュリティ・データ・課金 | △ | ◎ | 被害が大きい=人 |
| マージの承認 | × | ◎ | 責任は必ず人 |
◎=任せやすい/○=人が確認しつつ活用/△=参考程度/×=任せない、の目安です。 表の上半分(機械的に拾える層)をAIに寄せ、下半分(判断が要る層)に人の時間を残す。これが一次チェックの設計です。
AIに一次チェックを頼むときのプロンプトの型
「この差分をレビューして」とだけ頼むと、AIは何を重視すべきか分からず、当たり障りのない指摘を並べがちです。 観点・前提・出力形式を渡すと、一次チェックとして使える指摘が返ってきます。Claude Code・Cursor・GitHub Copilot のようなエージェント型なら、人がコードを貼らなくても、ブランチや PR の差分を自分で読み、必要ならテストまで走らせて一次指摘を出します。人はその指摘を、PR・差分ビューの上で仕分け・承認する——という流れです。
渡すと良いもの:
- 変更の意図(何のための変更か、何を直したか)
- チームの規約(命名・スタイル・禁止事項。要点だけでも)
- 重点的に見てほしい観点(バグ・可読性・テスト漏れなど)
- 出力の形(指摘ごとに「場所・問題・理由・直し方の案」)
- 判断は求めない宣言(「マージ可否は判断しなくていい」と明示)
聞き方の例:
この変更(ブランチ/PR の差分)を自分で読んで、レビューの一次チェックとして指摘を出してください。
必要ならテストを走らせ、結果も添えて構いません。
最終的なマージ可否の判断はしなくて大丈夫です。指摘の洗い出しだけお願いします。
## 変更の意図
(何のための変更か、何を直したかを1〜3行で)
## 見てほしい観点
- 明らかなバグ・抜け(null/例外/境界/戻り値の未チェックなど)
- 可読性・命名・重複
- テストやエラー処理の「漏れ」
- チーム規約との不一致(下記)
## チーム規約(要点)
- (命名・スタイル・禁止事項など)
## 出力の形
指摘ごとに、次の形でお願いします。
- 場所(ファイル/関数/行のあたり)
- 何が気になるか
- なぜ気になるか
- 直し方の案(断定でなく提案として)
確信が持てないものは「要確認」と添えてください。
ポイントは2つ。 1つは「マージ可否は判断しなくていい」と最初に外しておくこと。AIに最終判断をさせない設計を、プロンプトの段階で作ります。 もう1つは「確信が持てないものは要確認と添えて」と頼むこと。AIは自信のない指摘も断定口調で書きがちなので、確度を表に出させると、人が取捨選択しやすくなります。
AIの一次チェックを受け取ったあとの進め方
エージェントが差分を読んで指摘を出したら、全部に従うのでも、全部疑うのでもなく、仕分けます。PR や差分ビューの上で、指摘を一つずつ差分と突き合わせていく——ここが人の仕事です。
- 明らかに正しい指摘(タイポ、抜け、規約違反)→ そのまま直す。
- 正しそうだが文脈次第の指摘(「この設計は…」)→ 自分の知っている事情に照らして、採るか判断する。AIは背景を知らないので、ここは鵜呑みにしない。
- 的外れ・誤解に基づく指摘(仕様を誤読しているなど)→ 落とす。なぜ的外れかが説明できれば、自分の理解も深まる。
- AIが触れなかった所→ ここがいちばん大事。AIが何も言わなかった=問題が無い、ではありません。設計・セキュリティ・仕様の妥当性は、AIが沈黙していても人が見ます。
AIレビューの指摘をどう取捨選択するかは、それ自体が一つの判断軸です。 「指摘の数」ではなく「自分が納得して採れたか」で見る。AIに指摘されたから直す、ではなく、指摘をきっかけに自分で考えて決める。この形を保てれば、一次チェックは「楽をする道具」ではなく「見落としを減らす相棒」になります。
ありがちな落とし穴と、その回避
一次チェックをAIに任せるとき、つまずきやすい所を先に潰しておきます。
- 「AIが見たから大丈夫」と承認する:いちばん危ない誤用。AIは一次フィルタで、承認は人の仕事。最終ゲートを譲らない。
- AIの沈黙を「問題なし」と読む:AIが指摘しなかった=安全、ではない。特に設計・セキュリティは、沈黙していても人が見る。
- 指摘を全部そのまま直す:文脈次第の指摘を鵜呑みにすると、かえって設計が崩れる。採るかは自分で判断。
- 規約や意図を渡さず頼む:当たり障りのない一般論しか返らない。観点と前提を渡して初めて使える。
- 機密コードを線引きせず外部AIに読ませる:手で貼っても、エージェントにリポジトリを読ませても、情報の取り扱いの線引きは同じ。「この差分を外部AIに渡してよいか」を確かめ、社内規程に従う(→情報漏えい・取り扱いの線引き)。
- AIの指摘口調を確度と勘違いする:断定的でも確信があるとは限らない。「要確認」を添えさせ、人が確度を判断する。
- 人のレビューを丸ごと置き換えようとする:一次チェックは人のレビューの前段であって、代わりではない。役割を混ぜない。
落とし穴のほとんどは、「一次チェック」と「最終承認」を混同した瞬間に生まれます。 AIは前段、人は最終ゲート。この一線を保つだけで、多くは避けられます。
チームで使い始めるときの小さな注意
一人で使うぶんには手軽ですが、チームで使うときは、もうひとつ気をつけたい所があります。 それは、「AIに一次チェックを通したか」をレビューの省略の言い訳にしないこと。AIを通したことが、人のレビューを軽くしていい理由にはなりません。むしろ「一次チェックで機械的な所は片づいている前提で、人は中身に集中する」という役割の合意を、チームで共有しておくと安全です。
また、AIの一次チェックを必須の関門にしないほうが、最初はうまくいきます。 「使うと楽になる補助」として入れ、効果を見てから広げる。小さく試して合意を取る進め方は、ツール導入全般に通じる話です。いきなり全PRに強制すると、AIの的外れな指摘への対応がかえって負担になり、形だけ通す運用になりがちです。
明日からやること(小さく始める3つ)
いきなり仕組みを作ろうとせず、まずこの3つから。
- 次に自分が書いたコードを、人に出す前にAIで一次チェックする:他人のレビューより、まず自分のコードで試すと、的外れな指摘の感触がつかめます。
- プロンプトに「マージ可否は判断しなくていい」を1行入れる:AIを最終判断から外す癖を、最初からつけておきます。
- 返ってきた指摘を4つに仕分ける:直す/文脈次第/落とす/AIが触れなかった所。最後の「触れなかった所」を、自分で必ず見ます。
この3つだけでも、「レビューが詰まってつらい」夜が、少し進めやすくなります。
コピーして使う「一次チェック運用テンプレ」
レビューでAIを使うとき、上から順に確認してください。一度に全部でなく、必要な所だけで十分です。
# AIレビュー一次チェック
## ① 渡す前(情報の取り扱い)
- このコードを外部AIに渡してよいか(機密・個人情報・契約):
- 渡してよい範囲(一部だけ/ダミー化が必要か):
## ② 頼むときに渡すもの
- 読ませる差分(ブランチ/PR)を指定したか:
- 変更の意図(1〜3行):
- 見てほしい観点(バグ/可読性/テスト漏れ/規約):
- チーム規約の要点:
- 「マージ可否は判断しない」を明記したか:
- 「確信が持てないものは要確認と添えて」を入れたか:
## ③ 受け取った指摘の仕分け(PR・差分ビュー上で)
- 直す(明らかに正しい):
- 文脈次第(自分で判断して採る/採らない):
- 落とす(的外れ・仕様誤読):
- AIが触れなかったが人が見る所(設計/セキュリティ/仕様):
## ④ 最終ゲート(人が決める)
- 設計・仕様として正しいか、自分で確認したか:
- セキュリティ・データ・お金の観点を、自分で見たか:
- 入れていいと、自分の判断で言えるか:
レビュー前後のチェックリスト
任せる前と、承認する前に、さっと確認します。全部に○が要るわけではなく、関係する所だけで十分です。
AIに渡す前
- このコードを外部に渡してよいか、取り扱いを確認したか
- 変更の意図と観点、規約を渡したか
- 「マージ可否は判断しない」一次チェックとして頼んだか
指摘を受け取ったとき
- 指摘を「直す/文脈次第/落とす」に仕分けたか
- 文脈次第の指摘を、鵜呑みにせず自分で判断したか
- AIが触れなかった所(設計・セキュリティ・仕様)を、自分で見たか
承認する前
- 設計・仕様として正しいと、自分で確認したか
- セキュリティ・データ・お金の観点を、人として見たか
- 「AIが見たから」ではなく「自分が見て入れていいと判断した」と言えるか
最後に
レビューが詰まって、自分のところで誰かの手が止まる。 その状況を一人で抱えるのは、しんどいものです。人を増やせるわけでも、時間が急に増えるわけでもない。その構造は、すぐには変わらないかもしれません。
でも、機械的に拾える所をAIに渡して、人の時間を判断に回す。そう役割を分けるだけで、同じレビューでも、見るべき所に向き合う余白が生まれます。

全部を変えなくて大丈夫です。今日ひとつ、自分のコードをAIに一次チェックさせてみる。それだけで、レビューとの付き合い方が少し変わります。 AIが書いたコードを受け取る側の型はAI生成コードのレビュー・検証チェックリストに、リファクタリングの差分を確認する型はリファクタリングをAIに任せるときの差分の確認方法に整理しています。任せる所と、自分で決める所。その線引きさえ持っていれば、AIはレビューの頼れる前段になります。