新卒エンジニアのプルリクエスト with AI駆動

はじめに

12月に開催されました「【AI駆動開発まつり】AI駆動開発 の現場テクニックを徹底紹介!(KennEjimaさん招待講演)」で登壇を行いました!

発表資料はこちらになります。「新卒エンジニアのプルリクエスト with AI駆動

自分がエンジニアとしてスタートした際に、真っ先に感じた不安として、

  • 自分の書くコードに自信が持てない
  • 自分が先輩のコードをレビューした際に、尊敬ゆえに指摘すべきか判断に迷ってしまう

といったものがありました。

今回は、AIを味方につけて、自分の行いに自信を持てるようになるアプローチを、レビュイーレビュアーの2つの視点から紹介します。


レビュイー:AIファーストでのレビュー

一つ目は、AIを「最初のレビュアー」として活用することです。

AI相手であれば、初歩的なミスを何度指摘されても恥ずかしくありませんし、修正と再レビューを何度繰り返しても誰かの時間を奪うことはありません。

もたらされる効果

  • 「最低ライン」の担保: AIのチェックを通すことで、「少なくとも最低限の品質は満たしている」という安心感が生まれます。
  • レビュアーの負荷軽減: 構文エラーや単純なロジックミスはAIが事前に潰してくれるため、ベテランエンジニアはアーキテクチャや設計思想など、より本質的で価値あるフィードバックに集中できます。
  • 学習サイクルの高速化: 指摘を待つ時間が減り、「なぜこの実装がよくないのか」をその場で確認・修正できます。

具体例:AIにPRを事前レビューしてもらう

実際には、同じPRに対して複数のAIレビュー手段を使い分けることができます。目的は「どれが最強か」を決めることではなく、自分が人にレビューを依頼する前に、論点をできるだけ洗い出しておくことです。

GitHub CopilotによるPRレビュー

最も手軽なのが、普段の開発環境に近いところでGitHub Copilotを活用する方法です。

  • PR全体の差分を見ながら、変更の意図に対して不自然な実装がないか確認できる
  • 命名、重複処理、例外処理漏れ、テスト不足などの観点を素早く洗い出せる
  • 修正後に再度確認を依頼しやすく、セルフレビューの反復がしやすい

「まず自分で見直す」「その後にCopilotでもう一段確認する」という流れを挟むだけでも、レビュー依頼時の安心感はかなり変わります。

GitHub AppsのClaudeによるレビュー

GitHub Appsとして組み込まれたClaude Code GitHub Actionsのレビューでは、PR上でよりレビュー体験に近い形でコメントを受け取れます。

  • PRコメントの形で指摘を受けられるため、人間レビューに近い導線で確認しやすい
  • 差分の一部だけでなく、変更全体の整合性や説明不足に気づきやすい
  • 「この関数の責務は重すぎないか」「この条件分岐で抜け漏れはないか」といった、少し踏み込んだ観点の壁打ちに使いやすい

人に見せる前に、AIから“レビューコメント形式”で一度指摘を受けておくと、本番のレビューで何を聞かれそうかの予行演習にもなります。

ChatGPT Codex Connectorによるレビュー

ChatGPT Codex Connectorを使うと、PRの差分や周辺情報を渡しながら、対話形式でレビューを深掘りできます。

  • 「このPRのリスクが高い箇所を優先順位付きで挙げてください」といった依頼がしやすい
  • 「レビュー観点を5つに絞る」「初心者向けに厳しめに見る」など、依頼の仕方を柔軟に変えられる
  • 単に指摘を受けるだけでなく、「どう直すべきか」「代替案は何か」まで会話を続けられる

特に、レビューコメントを受けても腹落ちしないときに、対話しながら背景を理解できるのが強みです。自分の中で納得感を持ってから修正できるため、学習効果も高まります。

AIレビューを使うときのポイント

AIレビューは便利ですが、出てきた指摘をそのまま鵜呑みにしないことも大切です。

  • 指摘の採用理由を自分の言葉で説明できるか確認する
  • 設計・仕様との整合性は最終的に人間が判断する
  • 複数のAIで重なる指摘は、優先して見直す候補にする

AIを「正解をくれる存在」としてではなく、見落としを減らしてくれる最初の壁打ち相手として使うと、非常に相性がいいと感じています。


レビュアー:レビューのサポート

二つ目は、レビューをする際のテクニックです。

今回は、AIにGitHub CLIを使ってもらう一例をご紹介します。

CLI連携による「文脈」の強化

コーディングAgentは、GitHub CLIを通してPRの文脈を効率よく収集できます。

  • gh pr view: PRの概要や説明文をAIに読み込ませる
  • gh pr diff: 具体的な変更差分をAIに解析させる
  • gh api: 特定のレビューコメントや関連情報をAIに参照させる

これにより、AIは「どのファイルのどこが、どのような意図で変更されたか」という深い文脈(コンテキスト)を理解した上で、より的確なレビューが可能になります。

GitHub CLIのより詳細な使い方

実務では、単に差分を見るだけではなく、PRの概要・変更ファイル・レビュー履歴・CI結果までまとめて渡すことで、AIのレビュー精度が上がります。

1. PRの概要を取得する

まずはPR本文やタイトル、マージ先ブランチなどを確認します。

gh pr view 123

これによってAIに対して、

  • 何のための変更なのか
  • どのブランチに向けた変更なのか
  • 誰がどんな意図でPRを書いたのか

を先に渡せます。差分だけを見せるよりも、レビューの前提が揃います。

2. 変更差分を取得する

差分全体を確認するには以下を使います。

gh pr diff 123

大きなPRでは、差分を丸ごと一度に見るのではなく、

  • まずは全体のリスクを見てもらう
  • 次に重要ファイルを重点的に見てもらう
  • 最後にテスト不足や影響範囲を確認する

というように分割すると扱いやすくなります。

3. 変更ファイル一覧を把握する

PRでどのファイルが触られているかを一覧で確認すると、レビュー観点の抜け漏れを防げます。

gh pr view 123 --json files

これを見れば、

  • アプリケーションコードだけでなくテストも更新されているか
  • 設定ファイルやインフラ定義まで影響していないか
  • ドキュメント更新が必要な変更か

といった観点をAIに渡しやすくなります。

4. レビューコメントや会話履歴を確認する

既に別のレビュアーがコメントしている場合、その内容を見た上でAIに追加観点を出してもらうのが有効です。

gh api repos/OWNER/REPO/pulls/123/comments

Issueコメント込みで見たい場合は、PRの会話全体を取得します。

gh api repos/OWNER/REPO/issues/123/comments

これにより、

  • すでに指摘済みの論点を重複してレビューしない
  • 未解決の懸念点だけに絞って確認する
  • レビュアー間で論点が分かれている箇所を重点的に見る

といった使い方ができます。

5. CI結果やチェック状況を確認する

AIにレビューしてもらう前後で、CIや各種チェックの状態も合わせて見ると効果的です。

gh pr checks 123

テスト失敗やLintエラーがある場合は、それを前提にAIへ「失敗原因の推測」や「影響範囲の整理」を依頼できます。

6. 実際の依頼のしかた

GitHub CLIで集めた情報をそのまま投げるのではなく、AIへの依頼文に観点を入れると精度が上がります。たとえば以下のような形です。

  • 「このPRの変更意図を踏まえて、設計上の懸念を3点挙げてください」
  • 「バグになりそうな条件分岐、例外処理漏れ、テスト不足の観点でレビューしてください」
  • 「既存コメントと重複しない観点だけを挙げてください」
  • 「新人エンジニアにも伝わるように、指摘理由を平易に説明してください」

単に「レビューして」と頼むよりも、何を重視して見てほしいかを伝えることで、実務で使えるレビューになりやすいです。

中立的な視点の価値

人間同士のレビューでは、どうしても「先輩と後輩」という関係性やバイアスが働きますが、AIにはそれがありません。

  • バイアスの軽減: 相手がベテランか新人かに関係なく、純粋にコードのロジックを客観的に分析します。
  • 死角の発見: 人間が疲労で見逃しがちなエッジケースやケアレスミスを、機械的な精度で発見してくれます。
  • 透明性の確保: AIの提案を採用した箇所や、AIとの対話内容はコメントなどで明記し、透明性を保ちやすくなります。

まとめ

私の体験からのまとめとしては、

  1. AIに事前レビューを依頼する: まずはAIに見せて、不安や単純ミスを解消する
  2. 自信を持ってPRを出す: 「最低ラインを超えている」という確信を持って、人間のレビュアーに依頼する
  3. レビュアー側もAIを活用する: GitHub CLIなどで文脈を整え、より本質的なレビューに集中する

という流れになります。

結局、どれだけAIを活用したとしても、完璧なコードを書くことはできませんし、ミスは残ります。しかし、「自分の書いたコードに自信を持つ」ための土台を作ることは、AIの活用によって十分に実現できると感じています。

ぜひ次のプルリクエストから、このAI駆動のアプローチを取り入れてみてください。

Author

クリエーションライン2025年度新卒
現在はNext.jsのプロジェクトに参画中

y-fukunagaの記事一覧

新規CTA