「プルリクレビュー、何を見たらいいかわからない…」 「自分の指摘に自信が持てなくて、なかなかApproveできない…」
開発経験が浅いエンジニアにとって、プルリクエスト(以下、プルリク)のレビューは大きな壁として立ちはだかりますよね。
私は2020年からインフラエンジニアとしてキャリアをスタートし、去年の10月に開発エンジニアに転身しました。まだまだ開発エンジニアとしての経験が浅い中で、特に悩んだのがこのプルリクレビューです。
しかし、世はまさにAI時代。その流れに乗りAI搭載のコードエディタ「Cursor」を導入したことで、私のレビュー品質は劇的に向上しました。
この記事では、開発経験1年未満の私が、どのようにしてCursorの力を借りて品質の高いプルリクレビューを実現しているのか、その具体的な手法と実際に使っている「レビュー自動化ルール」を余すところなくご紹介します。
開発経験が浅いエンジニアが抱えるプルリクレビューの悩み
経験豊富なエンジニアなら当たり前に気づける観点も、経験が浅いと見落としてしまいがちです。
- 何から見ればいいのか分からない
- 潜在的なバグやエッジケースに気づけない
- 自分の指摘が正しいのか不安で、コメントするのをためらってしまう
- レビューに時間がかかりすぎて、他のタスクを圧迫してしまう
これらの悩みは、多くの駆け出しエンジニアが共感するのではないでしょうか。レビュアーとしてチームに貢献したい気持ちはあるのに、スキルと経験が追いつかないもどかしさを、私もずっと感じていました。
救世主はAIコードエディタ「Cursor」だった!
そんな悩みを解決してくれたのが、AIコードエディタ「Cursor」です。
Cursorは、コードベース全体を理解した上で、コーディングやレビュー、デバッグなどを強力にサポートしてくれるツールです。
プルリクレビューのサポート機能としても優秀です。これを使うことで、自分一人では決して気づけなかったであろう改善点や潜在的なバグを、AIが的確に指摘してくれるようになりました。
Cursorを使った「3ステップ」高品質レビュー術
重要なのは、AIに丸投げしないことです。AIを「優秀なアシスタント」として活用し、レビューの質を高めていくのがポイントです。
私が実践しているのは、以下の3ステップレビュー術です。
ステップ1:AIにプルリクの概要を解析させる
まずは、プルリクの全体像を掴むことが重要です。大量の差分ファイルを一つ一つ読む前に、AIに「このプルリクの目的は何か」「主な変更点はどこか」「考えられる影響範囲はどこか」を要約してもらいます。
これにより、レビューの方向性が定まり、どこを重点的に見るべきかが明確になります。
ステップ2:AIにレビュー観点を列挙させる
次に、具体的なレビュー観点をAIに洗い出してもらいます。
- 潜在的なバグやエッジケース
- コードの品質や保守性(命名規則、不要なコードなど)
- パフォーマンスに関する懸念
など、シニアエンジニアのような多角的な視点でコードをチェックし、問題点をリストアップしてくれます。これにより、レビューの抜け漏れを劇的に減らすことができます。
ステップ3:観点ごとにAIと壁打ちしながらレビューを進める
AIが列挙した観点に基づき、一つ一つ自分の目でコードを確認していきます。もしAIの指摘内容で分からないことがあれば、「なぜこのコードが問題なの?」「もっと良い書き方はない?」と対話形式で深掘りしていきます。
AIの指摘を鵜呑みにするのではなく、あくまでAIはアシスタントという意識を持つことが大切です。AIの提案を基に自分で思考し、納得感を持ってレビューコメントを作成することが、自身の成長にも繋がります。
【コピペOK】私が実際に使っているCursorレビュー自動化ルール
ここでは、私が日々のレビューで実際にCursorに読み込ませている「レビュー自動化ルール」を特別に公開します。
この「ルール」とは、AIに事前に記憶させておく振る舞いの定義のようなものです。CursorのProject Rules機能などに設定しておくことで、AIは常に経験豊富なシニアエンジニアとして振る舞ってくれます。
そして、レビューの際にはこの「ルール」を前提として、チャット欄で具体的な指示(プロンプト)を送り、AIと対話しながら進めていきます。
AIレビューを使いこなすための3つのヒント
- ヒント1:この「ルール」を育てる
- このルールは、そのままでも十分に利用可能ですが、あくまで出発点です。書かれていない観点はレビューから抜け落ちるため、あなたの独自のチェック項目を追加し、ルール自体を改善・育成していくことが非常に重要です。
- ヒント2:「対話」でプロジェクトの仕様を伝える
- 汎用的なルールだけでは、プロジェクト固有の仕様までは判断できません。レビューの際は、チャットで関連する仕様などをAIに伝え、対話しながらレビューの精度を高めていきましょう。
- ヒント3:AIを「強力なアシスタント」にしよう
- 上記2点を意識することで、AIはコードの正しさだけでなく、仕様に関する指摘の精度も上がり、より強力な開発アシスタントへと成長します。
実行のための事前準備
- ghコマンド(GitHub CLI)がインストール済みであること
- GitHub認証が済んでいること
## 前提ルール このファイルを参照したら、「Pull Request解析ルールに則って報告します!」と報告してください。 あなたは私の優秀な開発アシスタントです。 現在チェックアウトしているGitブランチに関連するGitHubに存在するプルリクエストのレビューを自動化するため、以下の手順を順番に実行してください。 ### 手順 1. **現在のブランチ名を取得:** まず、ターミナルで `git branch --show-current` を実行し、現在のブランチ名を取得してください。 2. **プルリクエストの情報を取得:** 次に、ステップ1で取得したブランチ名を使い、`gh pr view` コマンドで関連するプルリクエストのメタデータ(タイトル、本文、作成者、レビュワーなど)を取得してください。JSON形式で取得するとより扱いやすいでしょう。 例: `gh pr view --json title,body,url,author,reviewRequests,isDraft,state,additions,deletions,changedFiles` 3. **プルリクエストの差分を取得:** 同様に `gh pr diff` コマンドを実行し、コードの差分をすべて取得してください。 4. **レビューと要約の生成:** 最後に、ステップ2と3で取得した**すべての情報(PRのメタデータとコード差分)**をコンテキストとして、以下の `{レビュー指示}` に従って分析し、結果だけを出力してください。ステップ1〜3のコマンド実行結果(生データ)は最終的な出力に含めないでください。 --- {レビュー指示} あなたは、経験豊富なシニアソフトウェアエンジニアです。 提供されたプルリクエストの情報とコード差分を基に、以下のタスクを実行してください。 #### タスクリスト 1. **PRの要約:** このPRの「目的」「主な変更点」「考えられる影響範囲」を抽出し、レビュワーが概要を素早く理解できるよう、箇条書きで分かりやすく要約してください。 2. **レビュー観点での指摘:** コードの差分を精査し、シニアエンジニアの視点から以下の観点でレビューしてください。問題点や改善提案があれば、具体的なファイル名と行番号を添えて指摘してください。 * **潜在的なバグやエッジケース:** - 仕様の考慮漏れ、null安全でないコード、リソースリーク、競合状態など、障害に繋がりうる箇所はないか。 * **コード品質と保守性:** - 命名は適切か(変数名、関数名)。誤字脱字はないか。 - 不要なコメントやデバッグコード、利用されていないコードが残っていないか。 - 複雑すぎるロジックや、将来の変更を困難にするような実装はないか。 * **特に注意してレビューすべき点:** - 変更による影響範囲が広い箇所や、ロジックが複雑で慎重な確認が必要な箇所を特定し、その理由を提案してください。 #### 出力フォーマット 必ず以下のMarkdown形式で、セクションを分けて出力してください。 --- ## 1. PRの要約 - **目的:** (このPRが解決しようとしている課題) - **主な変更点:** - (変更点1) - (変更点2) - **影響範囲:** (影響が及ぶ可能性のある機能やモジュール) ## 2. レビュー観点での指摘 (指摘事項がない場合は「特にありません。」と記載してください。) - **観点:** (例: 潜在的なバグ) - **ファイル:行番号:** `src/utils/formatter.js:15` - **指摘:** (具体的な指摘内容) - **提案:** (具体的な改善案) ## 3. 特に注意してレビューすべき点 - (慎重なレビューが必要な箇所とその理由) ---
AIレビューの限界と「人間にしかできないこと」
Cursorは非常に強力ですが、まだまだ現段階では万能ではありません。特に、最終的な画面の動作確認は、必ず人間の手でやる必要があります。
AIはコードのロジックや構文をチェックするのは得意ですが、
- ボタンをクリックした後の実際の挙動
- UIデザインの崩れや違和感
- ユーザー体験(UX)として自然かどうか
といった点は判断できません。
コードレビューはAIにサポートしてもらい、人間は人間ならではの視点(実際の動作確認やユーザー目線でのチェック)に集中する。この「AIと人間の協業」こそが、開発の品質と速度を両立させる鍵だと考えています。
まとめ:Cursorでレビュー恐怖症を克服し、チームに貢献しよう
今回は、開発経験1年未満の私がCursorを活用してプルリクレビューの品質を高めている方法をご紹介しました。
- 経験が浅くても、Cursorを使えば品質の高いレビューは可能
- AIに丸投げせず、「概要解析→観点列挙→AIと壁打ち」の3ステップで進めるのが効果的
- AIが生成したレビューを基に自分で考え、最終的な動作確認は必ず自分で行う
Cursorは、経験の浅さをカバーしてくれる強力な武器になります。レビューに対する苦手意識を克服し、自信を持ってチームに貢献するための一歩として、あなたもAIを活用したレビューに挑戦してみてはいかがでしょうか。
最後まで読んでいただきありがとうございました。この記事が、あなたのエンジニアライフの参考になれば幸いです。