AI生成コードの人間レビュー5観点|ツールでは見つからない設計ミスの防ぎ方
代表取締役 上坂大地郎

結論: AI生成コードの品質を担保するには、AIレビューツールだけでは足りない。構文や型の正しさはツールが拾えるものの、「そもそも要件を満たしているか」「チームの暗黙ルールに合っているか」の判断は人間に残る。この記事では、人間のレビューアーが集中すべき5つの観点を整理する。
この記事の要点:
- CodeRabbitの470リポジトリ分析で、AI生成コードには人間が書いたコードの1.7倍の欠陥が見つかっている(CodeRabbit, 2025)
- GoogleではCEO Sundar Pichai氏が2026年4月に「新規コードの75%がAI生成」と発表しており、レビュー側の仕組みが追いついていない
- 人間が見るべきは「要件適合」「暗黙仕様」「テスト妥当性」「依存・セキュリティ」「設計一貫性」の5つの観点
対象読者: AIコーディングツール(GitHub Copilot、Claude Code、Cursorなど)を日常的に使い始めたが、レビューの進め方を見直せていないエンジニア・テックリード
読了後にできること: 5つの観点を使って、次のPRレビューから「AIが通した差分」に対して何を確認すべきかが明確になります。PRテンプレートの改善例もコピーして使えます
この記事は、AIコードレビューツールの選定を解説した「AIコードレビューツール比較|バグ率1.7倍時代に選ぶ4製品と導入手順」の姉妹記事です。ツールを導入した後の「人間のレビューアーはどこに集中すべきか」を掘り下げます。
AI生成コードに「人間のレビュー」がまだ要る理由
AIコーディングツールの普及速度は速いです。Google CEOのSundar Pichai氏は2026年4月、新規コードの75%がAI生成であると公表しました(Fast Company, 2026-04-24)。2025年秋は50%、2025年4月は30%超だったので、1年で倍以上に伸びています。
一方、AI生成コードの品質には課題が残っている。CodeRabbitが470件のオープンソースPRを分析した結果、AI生成コードには人間が書いたコードの1.7倍の欠陥が見つかっています(Shiplight, 参照日2026-08-21)。この数値は特定のオープンソースプロジェクト群を対象にした分析であり、環境や条件で変動する。「AI生成コード=高品質」と無条件に信頼できる段階にはまだない。
GitClearの2026年調査(6億2300万行のコード変更を分析)では、AI導入後のコードベースに次の変化が見られています。
指標 | 変動(GitClear報告値) |
|---|---|
コピペ(within-commit copy/paste) | +41%(vs 2022) |
コードブロック複製 | +81%(vs 2023) |
エラーマスキング構造 | +47% |
リファクタリング(行移動) | 21% → 3.8%に減少 |
レガシー保守 | -74%(vs 2023) |
(GitClear, "The Maintainability Gap: 2026 AI Code Quality Research", 参照日2026-08-21)
コードの量は増えたものの、再利用やリファクタリングが大幅に減り、コピペが増えている傾向が見えます。AIは「動くコード」を速く書けますが、「保守しやすいコード」を書くインセンティブを持っていません。

AIツールが得意なこと、人間が判断すること
AIレビューツール(CodeRabbit、GitHub Copilot code review、Greptileなど)は、パターンマッチングに基づく指摘が得意です。構文エラー、型の不一致、コードスタイル違反、既知の脆弱性パターン(SAST)、テストカバレッジの計測——これらはAIが高速かつ網羅的に処理できる。
一方で、AIツールには原理的に苦手な領域がある。
AIが得意な領域
- 構文・型チェック: コンパイルエラー、型の不一致を網羅的に検出
- スタイル・フォーマット: チームのlintルールに合っているかを自動判定
- 既知パターンの検出: SASTツールが持つ脆弱性パターンDB、デッドコード検知
- テストカバレッジ: 行・ブランチのカバー率を数値化
人間にしか判断できない領域
- 要件適合: チケットが求めていることを本当に満たしているか
- 暗黙仕様: コードに書かれていないチームの規約、口頭で合意した制約
- テストの妥当性: テストが「通る」だけでなく「仕様を検証している」か
- 依存追加の妥当性: 新しいライブラリを入れる理由と代替案
- 設計との整合: 既存アーキテクチャへの影響、不要な抽象化
aviator.co は「AIがAIのコードをレビューする」構成の限界を指摘しています。AI生成コードとAIレビューは同じ訓練データに基づくため、同じブラインドスポットを共有しやすいという構造的な問題があります(aviator.co, 参照日2026-08-21)。

5つの観点 — レビューで人間が見るべき領域
ここからが記事の核です。テックエイド社の4観点(要件適合・暗黙仕様・テスト設計・依存範囲)に、GitClearの調査で浮かび上がった「設計一貫性」を加えた5観点を紹介します。
観点1: 要件適合 — チケットと差分を突き合わせる
AI生成コードで最も見落とされやすいのが、要件との不一致です。
AIは与えられたプロンプトに忠実ですが、プロンプトの解釈が間違っていれば、間違ったまま正しく動くコードを生成します(FIXIT, 参照日2026-08-21)。構文的にはパスしますが、ビジネス要件を満たしていません。
確認手順:
- PRの差分を開く前に、チケットの受け入れ条件(Acceptance Criteria)を手元に開く
- 受け入れ条件を1つずつ差分と突き合わせる
- 受け入れ条件に書かれていない「暗黙の前提」がないかを確認する(次の観点2で深掘り)
判断基準: 受け入れ条件のうち1つでも差分でカバーされていなければ、「実装漏れ」として修正を依頼します。
観点2: 暗黙仕様 — コードに書かれていないルールを見る
チームには、コードやドキュメントに明記されていないルールがあります。命名規則の細かいニュアンス、「このディレクトリにはこの種のファイルしか置かない」という慣習、Slackで口頭合意した仕様変更など。
AI生成コードは、プロンプトに書かれていない制約を知りません。テックエイド社は「差分から『消えたもの』を1つずつ説明する」レビュー手法を紹介しています(テックエイド, 参照日2026-08-21)。AIが生成した差分に「既存コードの削除」が含まれている場合、その削除が意図的なのか、AIが既存の文脈を理解できなかっただけなのかを確認します。
確認手順:
- 差分の「削除行」を全てチェックする。意図的な削除か、AIの文脈理解不足かを判別する
- 新規ファイルの配置が、チームのディレクトリ構成ルールに合っているか見る
- 変数名・関数名が、プロジェクトの既存パターンに揃っているか照合する
観点3: テスト妥当性 — 「テストが通る」だけで安心しない
DevelopersIO は「AI生成テストは『テストは通る』ので採用してしまいがちだが、壊れやすく、読みにくく、変更しづらい」と指摘しています(DevelopersIO, 参照日2026-08-21)。
AI生成テストの典型的な問題は、実装の追認になっていることです。コードの実装をそのまま写したテストは、実装が変わると壊れるだけで、仕様の検証にはなっていません。
metacto社は「AI生成テストは実装の詳細を追認しがちで、振る舞いの検証になっていない」と警告しています(metacto, 参照日2026-08-21)。テストの説明(describe/it の文言)を仕様書の言葉で書いてからコードを書くアプローチが有効です。
確認手順:
- テストの
describe/itが仕様書の言葉で書かれているか確認する - 境界値テスト(ゼロ、空配列、最大値、null)が含まれているか洗い出す
- テストを削除しても本番コードが壊れないかを想像する。壊れないなら、そのテストは実装の追認
観点4: 依存とセキュリティ — 不要な追加と既知の穴
AI生成コードは、プロンプトの要求を満たすために新しいライブラリを追加することがあります。人間のエンジニアなら「標準ライブラリで書ける」と判断する処理に、サードパーティの依存を入れてしまうケースです。
確認手順:
package.json、go.mod、requirements.txt等の変更差分を開く- 新規追加された依存ごとに「標準ライブラリで代替できないか」を検討する
- 追加された依存のメンテナンス状況(最終リリース日、Issue数、ライセンス)を調べる
npm audit/pip audit/govulncheck等で既知のCVEを洗い出す
信頼境界を超えるコード(認証・認可・支払い・本番アクセス)については、AIレビューだけでなく人間のApproveを必須とする運用が推奨されています(aviator.co, 参照日2026-08-21)。
観点5: 設計一貫性 — コピペ増殖とアーキテクチャの崩れ
GitClearの調査で最も顕著だったのが、コピペの増加とリファクタリングの減少です。コピペは2022年の9.4%から2026年前半には15.7%に増え、リファクタリング(行移動)は21%から3.8%に減りました。
AIは「目の前のタスクを最短で解決する」ことに最適化されているため、既存の共通関数を探して再利用するよりも、新しいコードを生成する傾向があります。
確認手順:
- 新しく生成されたコードに、既存コードベースとの重複がないか grep で検索する
- 新しい抽象化(クラス、モジュール、ユーティリティ関数)の追加が、既存の設計方針と整合しているか見る
- PRの変更範囲がチケットのスコープを超えていないか確認する。スコープ外の変更は別PRに分割を依頼する
レビューの仕組み化 — CIパイプラインに組み込む手順
5つの観点を毎回頭の中で思い出すのは現実的ではありません。仕組みに落とします。
PRテンプレートにチェック項目を追加する
GitHubの .github/PULL_REQUEST_TEMPLATE.md に、AI生成コード向けのチェック項目を追加します。
## AI生成コードのレビューチェック
このPRにAI生成コードが含まれる場合、以下を確認してください。
- [ ] 受け入れ条件と差分を突き合わせた
- [ ] 削除行が意図的な変更か確認した
- [ ] テストが仕様を検証している(実装の追認ではない)
- [ ] 新規依存の追加理由と代替案を確認した
- [ ] 既存コードとの重複がないことを確認した
### AI生成の背景(記入必須)
- 使用ツール:
- 主なプロンプト(概要):
- 対応チケット:
このテンプレートにより、レビューアーは差分を開く前に「何を確認すべきか」が分かり、PR作成者は「AIに何を指示したか」を共有できます。
AI自動チェックと人間レビューの2段階を設計する
CIパイプラインに、次の4段階を設けます。
- PR作成時: テンプレートによるチェック項目の提示とプロンプト情報の共有
- CI自動実行: Lint、型チェック、テスト実行、SASTスキャン。ここで落ちるものは人間に回さない
- AIレビュー: CodeRabbit等がパターンベースの指摘を自動コメント
- 人間レビュー(5観点): AIが通した差分に対し、5観点で判断。マージ権限は人間が持つ
自動で落とせるものを自動で落とすことが、人間の負荷を下げるカギです。Lint違反やテスト失敗のPRをレビューする時間は、5観点のチェックに回すべきです。

セルフレビューを習慣にする
PR作成者自身が、提出前に5観点をざっと流すセルフレビューを行うと、レビューアーの負荷が大幅に減ります。特にAI生成コードでは、生成直後に「プロンプトで指示したことが全て反映されているか」を本人が確認することで、要件漏れの大半を防げます。
【要注意】レビューが形骸化する5つのパターンと回避策
5観点を導入しても、運用が形骸化すると意味がありません。よく見るパターンと回避策を整理します。
パターン | 何が起きるか | 回避策 |
|---|---|---|
❌ AIが通したからApprove | AIの指摘ゼロ=品質OKと誤解する | AI指摘ゼロは人間の5観点チェックの開始条件と位置づける |
❌ 差分が大きいのでざっと見 | 要件漏れ・設計崩れを見逃す | 300行超のPRは分割を依頼してからレビューする |
❌ テストが通っているからOK | テストが実装の追認になっている | テストの |
❌ コードが読みやすいから問題ない | AI生成コードは表面的な可読性が高い | 読みやすさと要件適合は別の軸。チケットとの突き合わせを省略しない |
❌ 新しい依存が入っても動けばOK | 依存ツリーが肥大化し、脆弱性リスクが増える | 追加理由と標準ライブラリでの代替可否を確認する |

初日からできる3つの改善ステップ
大きな仕組み変更がなくても、今日からできることがあります。
ステップ1: PRテンプレートを追加する(所要時間10分)
前のセクションで紹介したテンプレートを .github/PULL_REQUEST_TEMPLATE.md にコピーするだけで始められます。チームへの共有は、次のスタンドアップで「PRテンプレートにAIレビューのチェック項目を足したので見てください」と伝えるだけです。
ステップ2: 直近のPRを1本、5観点で振り返る(所要時間30分)
過去1週間のマージ済みPRから1本を選び、5観点でレビューし直す。「このPRでは何が見えていなかったか」を把握すれば、チームのレビュー精度の現状が分かります。振り返りの結果をチームに共有すると、5観点の意味が具体例つきで伝わる。
ステップ3: 信頼境界コードの人間Approve必須ルールを設定する(所要時間15分)
GitHubのCODEOWNERSまたはブランチ保護ルールで、認証・認可・支払い・インフラ設定に関わるディレクトリへの変更に、特定のレビューアーのApproveを必須にします。「AIが通した=マージしてよい」にならない仕組みをコードレベルで入れます。
よくある質問
Q1: 5観点を全てのPRでチェックする必要がありますか?
全ての観点が全てのPRに該当するわけではありません。小さなバグ修正なら「要件適合」と「テスト妥当性」の2つで十分な場合もあります。信頼境界に関わるコード(認証、支払い、本番アクセス)では5観点を全て見る、それ以外では優先度の高い観点に絞る、という運用が現実的です。
Q2: AI生成コードかどうかを見分ける方法はありますか?
確実な方法はありません。GitHubのCopilotは生成コードにラベルを付けませんし、CLIツール(Claude Code等)で生成してからペーストされたコードも区別できない。「PRテンプレートで生成背景を自己申告する」仕組みを入れると、判別の手間を省いてレビューの焦点を揃えられます。
Q3: AIレビューツールと5観点の両方を使う必要がありますか?
AIツールと5観点は役割が異なります。AIツールが構文・パターン・スタイルを網羅的に拾い、人間が要件・仕様・設計の判断に集中する——この分業が効率的です。詳しくは「AIコードレビューツール比較|バグ率1.7倍時代に選ぶ4製品と導入手順」を参照してください。
Q4: テックリードでなくても5観点のレビューはできますか?
「要件適合」と「テスト妥当性」はチケットの受け入れ条件が手元にあれば、ジュニアエンジニアでも確認できます。「暗黙仕様」と「設計一貫性」はプロジェクト経験が必要なので、最初はシニアメンバーとペアでレビューするのが効果的です。
Q5: レビュー時間が増えませんか?
PRテンプレートの導入とCIの自動チェック強化で、「人間が見なくてよい差分」を事前に落とせる。テックエイド社は、AI自動チェック導入後に「レビュー1回あたりの指摘密度は上がったが、往復回数は減った」と報告しています。仕組み化のポイントは、人間が見る量を減らすこと——見ないことではない。
まとめ — 今日確認すること、来週仕組みにすること
今日: 直近のマージ済みPRを1本選び、この記事の5観点でもう一度見直す。要件漏れ、テストの追認、不要な依存が入っていないかを確認する。
来週: PRテンプレートにAIレビューのチェック項目を追加し、チームに共有する。信頼境界コードの人間Approve必須ルールをブランチ保護で設定する。
その先: AIレビューツール(AIコードレビューツール比較を参照)を導入し、構文・パターンの指摘を自動化する。人間のレビューを5観点に集中させる。PRのAI生成率と修正依頼率を月次で計測し、レビュー精度の変化を追跡する。
次に読むなら: ツール選定がまだなら「AIコードレビューツール比較|バグ率1.7倍時代に選ぶ4製品と導入手順」へ。AIコーディングツール自体の選び方は「Cursor vs Claude Code|開発者が両方使う理由と7項目比較」で整理しています。
参考・出典
- CodeRabbit 470リポジトリ分析(AI generated code has 1.7x more bugs)(https://www.shiplight.ai/blog/ai-generated-code-has-more-bugs) — Shiplight(参照日: 2026-08-21)
- The Maintainability Gap: 2026 AI Code Quality Research(https://www.gitclear.com/the_ai_code_quality_maintainability_gap) — GitClear(参照日: 2026-08-21)
- Sundar Pichai: AI now generates 75% of Google's new code(https://www.fastcompany.com/91531519/google-ceo-says-75-of-the-companys-code-is-ai-generated) — Fast Company(参照日: 2026-08-21)
- AI生成コードのレビューが甘くなる前に|要件・暗黙仕様・テスト・依存で手戻りを減らす4観点(https://techaide.jp/blog/ai-generated-code-review-four-perspectives/) — テックエイド(参照日: 2026-08-21)
- AI生成コードのレビュー設計 — 何を人間が見るべきか(https://fixit.co.jp/insights/ai-code-review-design/) — FIXIT(参照日: 2026-08-21)
- AIが生成したテストコードを負債にしないためのレビュー観点(https://dev.classmethod.jp/articles/ai-generated-test-code-review-tips/) — DevelopersIO(参照日: 2026-08-21)
- AI が書いたコードをレビューする時、人間が見るべき5つの観点(https://zenn.dev/miyan/articles/ai-code-review-human-value-2026) — Zenn miyan(参照日: 2026-08-21)
- AI Code Review Limits: Why AI Reviewing AI Fails(https://www.aviator.co/blog/ai-code-review-is-still-a-review/) — aviator.co(参照日: 2026-08-21)
- AI-Generated Code Review Checklist & Standards(https://www.metacto.com/blogs/establishing-code-review-standards-for-ai-generated-code) — metacto(参照日: 2026-08-21)

