
Atsushi Nakatsugawa
June 23, 2026
1 min read
Bring agentic code review to your existing PR workflowの意訳です。
3週間前にチームへClaudeのライセンスが配布され、PRの量が急増した状況を想像してみてください。AIの支援によって、チームは人間のレビューキューが受け止められるよりも速くPRを作れるようになり、ボトルネックはコードを書くことからコードを読むことへ移りました。
エージェント型コードレビューは、リポジトリのコンテキストを使って、コードベース全体における意図やファイル横断の影響を評価します。そのため、コード作成の速度が上がった後の、自然な次の一手になります。導入が成功するかどうかは、運用の組み立て方にかかっています。既存のPRフローにAIエージェントを組み込むとき、ブランチ保護を壊さず、3週間後にレビュアーの信頼を失わないようにするにはどうすればよいのでしょうか。エージェントはPRの流れに収まる必要があり、チームはそれがレビューを本当に改善しているかを測定する必要があります。
検証が制約になると、チームはトレードオフに直面します。厳密にレビューすると、人間の確認がボトルネックになります。一方で、レビューを緩めると品質がリスクになります。
レビューの負荷は、いまやPRの量、AIコードの手直し、問題密度として測定できるようになっています。プラットフォーム全体のマージ済みPRは、2024年の月平均3,500万件から2025年には4,320万件へ増えました。AI生成コードは、人間が書いたコードよりレビューしにくいと感じられることもあります。
Stack Overflowの2025年開発者調査では、66%の開発者が「ほぼ正しい」AI生成コードの修正により多くの時間を費やしていると回答しています。また、AIの正確性への信頼は、過去数年の約40%から2025年には29%へ低下しました。この負荷はコードの中にも表れています。State of AIの調査では、AIが共同作成したPRは1PRあたり平均10.83件の問題があり、人間だけによるPRの6.45件を上回りました。
レビューを改善しないままコーディングエージェントを追加すると、キューはさらに膨らみます。AIによるコード作成はボトルネックをレビューへ移したため、チームには、すべてのシニアエンジニアを最終確認者にせずに、その出力を受け止められるレビューシステムが必要です。
Taskrabbitは、この順序を明確にしました。同チームはAIコーディングエージェントを採用する前にレビューを改善し、CodeRabbitで週300件のPRを扱いながら、マージまでの時間を10日から7日へ、25%短縮しました。
LinterやSASTツールはすでにパイプラインで動いているため、最初の問いは、エージェントがその上に何を追加できるのかです。
静的解析はルールやパターンを検出します。プログラマーの意図を理解するには、より多くのコンテキストが必要です。これは、問題がワークフローのロジックにある場合に重要になります。認可チェックの欠落、エッジケースの分岐、数ファイル離れた呼び出し元と呼び出し先の相互作用が、その変更が安全かどうかを左右することがあるからです。AI支援レビューでは、多くの重要な判断が、構文よりもコードの意味に依存します。
多くの場合、より優れたAIレビューには差分だけではなく、周辺のコンテキストが役立ちます。CodeRabbitはPR、IDE、CLI、Slackを横断してレビューするため、一次フィードバックはワークフローがすでに存在する場所に届きます。コードグラフ、リンクされたチケット、過去のPR、チームの意思決定によって、エージェントはデプロイ前にランタイムエラー、nullポインタ例外、競合状態、ロジックの欠陥を把握できます。これにより、変更行だけを確認するレビューを超えられます。
エージェント型レビューにも限界があり、それを率直に示すことが信頼につながります。分析は、レビューセッションでエージェントが利用できるコンテキストに依存します。レビューセッションには、一部の依存関係や生成された成果物が含まれない場合があります。AIエージェントが提供するのは一次レビューです。マージ権限は人間のレビュアーが持ち続けます。
AIエージェントを既存のPRフローへ組み込む場所は2つあります。導入時にどちらを選ぶかが重要です。この2つのパターンは、GitHubとGitLabのブランチ保護の仕組みにきれいに対応します。
GitHubのPRレビューモデルはCommentステータスをサポートしています。ドキュメントでは「承認や変更要求をせずにフィードバックを共有する」と説明されており、必須承認にはカウントされません。AIエージェントがCommentタイプのレビューだけを投稿する場合、マージ対象には触れずに、検出事項をPRへ追加できます。
GitHubのブランチ保護では、マージ前に指定されたステータスチェックを通過している必要があります。チームは、AIエージェントにコミットステータスまたはチェック結果を投稿させ、そのチェックをブランチ保護ルールで必須にすることで、ゲートへ組み込めます。
GitLabでは、同等の制御は保護ブランチにおけるコードオーナー承認と必須承認ルールを通じて行います。
まずは、エージェントがコメントとステータスチェックを投稿するように導入します。ただし、最初は必須チェックには含めません。誤検出率が安定してから、そのチェックを必須に昇格させます。これにより、人間のコードオーナー承認を確認者として残しつつ、エージェントを可視化できます。スキップされたチェックは処理成功を報告し、マージをブロックしません。そのため、必須ではないチェックは検証中のコストになりません。
あるコードレビューボットに関する研究では、PR作成者が自動コメントの73.8%に対応したことが分かりました。また、その研究では自動レビュー後、人間のレビューが始まる前に88件のコミットが記録されました。自動フィードバックは、人がPRを開く前に作成者へ届いていたのです。エージェント型レビューも同じ流れを取れます。
新しいPRを自動でレビューし、コミットが追加されるたびにフィードバックを更新し、リンクされた課題の要件に対して厳格な確認を求めるチームにはPre-Merge Checks(マージ前チェック)を使います。
人が差分を開く前に、エージェントで定型的な検出事項を片付けます。そのうえで、レビュアーの注意をコンテキスト、オーナーシップ、リスクに向けます。この捉え方は、人間のレビューが何のためにあるのかを示してきた長年の研究とも一致します。
人間のレビューに価値があるのは、コンテキストと判断を移転できるときです。Bacchelli & BirdによるMicrosoftでの研究では、欠陥の発見はレビューの目的として掲げられ続けているものの、「レビューは予想ほど欠陥に関するものではない」とされています。むしろ、知識移転とチームの状況把握をもたらし、「コンテキストと変更の理解」があらゆるレビューの中心だと述べています。レビューのこうした部分は、差分を超えた共有コンテキストに依存します。ツールによって正しさのチェックを静的解析や自動テストへ移すことはできますが、確認作業そのものが不要になるわけではありません。Sadowski氏らによるGoogleのケーススタディは、「ツールによって、人間によるコード確認の価値が完全になくなることはないかもしれない」と述べています。
同じ原則は、Human in the loopのレビューフローにも見られます。Microsoft Engineeringは、これをAIによるコードレビューの設計原則として説明しています。エージェントは候補となる問題を表面化し、レビュアーが判断します。
責任という点は、自動化では引き受けられません。リリースするのは引き続き開発者です。人間のレビュアーが来る前に、エージェントが差分を整理します。そうすることで、人間の注意を、人にしか答えられない設計上の問いへ向けられます。
導入前に3つの数字を選び、1か月間観察します。レビュー待ち時間は最初に動くため、そこから始めます。LinearBは、PR作成からコードレビューが始まるまでの時間を「レビュー開始までの待機時間」と定義しています。約2,000チームを対象にした同社のレビュー開始までの待機時間に関するベンチマークでは、エリート水準では7時間未満、推奨目標は1時間以内です。常時稼働する一次レビュアーは、この数字に直接効きます。最初の実質的なフィードバックが数分で届くようになるからです。
次に、変更失敗率と欠陥流出率を追跡します。レビューが速くなっても、本番環境のバグが隠れて増えていては意味がありません。DORA(DevOps Research and Assessment)は、即時対応が必要になったデプロイの割合である変更失敗率を追跡しています。また、Jellyfishは欠陥流出率を品質診断の指標として挙げています。速いレビューに意味があるのは、本番環境へ到達するバグがそれに伴って増えない場合だけです。
3つ目の数字は、レビュアー時間の再配分です。これは、コメントタイプの分布を時系列で追跡するなど、自分たちで計測する必要があるかもしれません。
コメントに、細かな指摘、正しさ、セキュリティ、テスト、設計といったタグを付け、人間のレビューが後半の3つへ移っているかを観察します。レビューのタイミングを生産性の指標として扱う前例はあります。
開発者生産性を測定するモデルであるSPACEフレームワークは、コードレビューのタイミングを「効率と流れ」の観点に位置づけています。また、レビューが遅いことのコストは現実にあります。LinearBは、レビュー待ちで数日止まった小さなPRには、80%の割合で形式的な承認、つまり「問題ないと思います(LGTM)」というコメントが付いたことを明らかにしています。

freeeのエンジニアリングチームは、CodeRabbit導入を570シート、285リポジトリへ拡大する中で、6か月間に32.8週間分のレビュアー時間を削減しました。
AIエージェントをゲートへ接続する前に、誤検出率を検証してください。そのうえで、関係の薄いコメントによって人々がエージェントを無視するようになる前に、チームが感度を調整できることを確認します。ここを誤ると、エージェントは聞いてもらえなくなります。
GoogleのTricorderプラットフォームは、コードレビュー時の解析について、誤検出の上限を示しています。「開発者は、そのチェックが少なくとも90%の割合で本物の問題を指摘していると感じるべきである」というものです。Googleの説明では、開発者の信頼が制約として扱われています。
信頼はすぐに損なわれることがあります。エンジニアが、エージェントのフィードバックは間違いや些細な指摘が多いと学んでしまうと、慎重に調査するのをやめてパターンだけで読み飛ばすようになる可能性があります。だからこそ、誤検出が悪い習慣を作る前の、導入前の期間が重要です。
実践的な検証手順のひとつは、スプリント中に代表的な検出事項をサンプリングし、シニアエンジニアに真陽性、偽陽性、判断が分かれるものへ分類してもらい、重要度ごとの精度を追跡することです。セキュリティの検出事項には、より広い許容幅があります。Googleのソフトウェアエンジニアリングに関するガイドラインでは、重大なセキュリティ問題を特定する解析であれば、レビュアーはより高い誤検出率を許容するとされています。
設定可能な感度は、誤検出への対策になります。パスベースの指示では、選んだパスにだけカスタムルールを適用できます。そのため、高リスクなディレクトリではレビュー量を増やし、それ以外では減らせます。AST-grepルールは、場所ではなくコードの形に依存するチェックに対して、構造的なパターンマッチングを追加します。CodeRabbit Learningsは、PRコメントから設計上の選択を保存し、以降のレビューに適用します。そのため、エージェントの指摘はぶれるのではなく改善していきます。
AIはかつてない速度でコードを書きます。そしてState of AIレポートも、同じ緩和策を示しています。先にコンテキストを与え、その後で独立して検証することです。
CodeRabbitのDavid Lokerは、こう端的に述べています。
「AIはアウトプットを加速しますが、同時に特定の種類のミスも増幅します」
コンテキストを十分に持つAIエージェントを、感度を調整した一次レビュアーとして組み込み、人間がゲートを保持する。これが、レビューを新しいボトルネックにせず、エージェント時代の速度でリリースする方法です。すべての行は、いまもマージに値するかを確認されます。
CodeRabbitを使って、コードレビュー時間とバグを50%削減しましょう。CodeRabbitは、GitHubとGitLabで最もインストールされているAIアプリで、14日間の無料トライアルを利用できます。ぜひ今すぐお試しください。