PR前にミスをなくす!Cursor Agent Review・CodeRabbitでセルフレビューを効率化

PR前にミスをなくす!Cursor Agent Review・CodeRabbitでセルフレビューを効率化

はじめに

AI の進化により実装速度が上がった一方で、「これ実装中に気づけたのでは…」という指摘をする・受けることが増えていませんか?

この記事では、そんなミスを減らすためのセルフレビューと、それを効率化するAI コードレビューツール(Cursor Agent Review、CodeRabbit)の使い方を紹介します。

エンジニアの中でも、このような方にぜひ読んでいただきたい記事です!

  • レビューで細かい指摘をよく受ける方
  • レビューをもっと効率化したい方
  • AI ツールを活用した開発効率化に興味がある方

記事執筆時点での環境

  • macOS
  • Cursor(2.2.20)
  • CodeRabbit 拡張機能(Free プラン)

この記事の構成

  • セルフレビューとは何か、なぜ重要か
  • セルフレビューで確認すべきポイント
  • AI ツールを活用した効率的なセルフレビューの方法
  • 具体的なAIツールの使い方(Cursor Agent Review、CodeRabbit)

そもそもセルフレビューとは

セルフレビューとは、その名の通り、レビュアーにチェックしてもらう前に自分で書いたコードをレビューすることです。 

最初は「自分で見ても見落としがあるのでは…」と不安に思うかもしれませんが、私の場合はとても効果的でした。

自分で書いたコードでも時間を置いて見直すと、「あれ?これおかしくない?」と気づくことがたくさんあります。

たとえば「デバッグログの消し忘れ」「不要なコードの残り」「タイポ」「想定外の入力で落ちる可能性」など。こうした“ちょっとしたミス”は、次のようなコストにつながりやすいです。

  • レビュアーの負担が大きくなる
  • PRが積み重なり、コンフリクトを起こさない管理が難しくなる
  • 手戻りが発生して余計に時間がかかる

もちろん自分ではどれだけ注意しても気づけないミスというのはあるものですが、セルフレビューで気付ける程度のミスでレビュアーに負担をかけてしまうのは避けたいものです。

私自身、実務で度々不要なコードの消し忘れといった、ケアレスミスによる手戻りを発生させてしまったことがあります。 

ある日、デバッグ用にログを仕込んだ後に消し忘れるなど、細かいミスがある状態で PR を出してしまい、レビュアーに指摘されたことがありました。

そのとき「あ、しまった…」「申し訳ない」という思いをしたのをきっかけに、それ以降入念にセルフレビューを行うようになりました。

個人的に感じたセルフレビューの利点としては

  • 不具合・抜け漏れを早期に発見できるようになった
  • レビュアーの負担を下げることができ、手戻りが減った
  • 実装意図を自分で再確認できるため、質問に自信を持って回答できるようになった
  • レビュー力が上がり、自他問わずコードを見る目が養われた

といった点が上げられます。

私の場合、入念にセルフレビューを行うようになってから、タイポやデバッグ用ログの消し忘れといったケアレスミスはほぼなくなりました。

さらに、セルフレビューをすることでレビュー力が向上しているのを感じました。

自分でコードを見直す習慣がつくと、「この変数名は適切か?」「この関数は責務を持ちすぎていないか?」といった視点が自然と身につきます。

その視点で他人のコードを見ることでより的確な指摘ができるようになるので、チーム全体のコード品質向上にもつながっていると感じています。

これらはレビュアーの負担軽減や、チーム全体のレビュー効率が向上するので、PR が積み重なったり手戻りが発生したり、といった問題の解消にもつながります。

また、実装意図を再確認できると言うのはとても重要です。 

しっかりと実装意図を確認した上で、チームメンバーから「このコードはなぜこう書いたのか」と聞かれた時にすぐ答えられるようにしておきましょう。

セルフレビューは何を確認すればいい?

セルフレビューだからといって特別なことをする必要はありません。基本的には自分が他者のコードをレビューするときに見ることを確認すれば大丈夫です。

もちろん、プロジェクトによって重点的に確認すべき点は異なりますが、一般的には以下のような観点から確認すると良いでしょう。

仕様・要件を満たしているか

  • 仕様変更・例外ケースを取りこぼしていないか
    例:エッジケース(空配列、null 値など)に対応できているか

ロジックが適切か

  • 条件分岐・ループに漏れや重複がないか
  • 想定外の入力で破綻しないか
    例:`null`や`undefined`の可能性がある値にアクセスする前に存在チェックをしているか

可読性・保守性

  • 変数名・関数名が役割を正確に表しているか
  • 1つの関数が責務を持ちすぎていないか
    例:`data` という変数名ではなく、`accountData`など、具体的な役割を示す名前になっているか

この他にも「自分はよくこの点を指摘される」ということがあれば、そこを重点的に確認するとより良いと思います!

とはいえ、セルフレビューは時間がかかりますし、客観的に自分のコードを見るというのは難しいものです。

そこで役立つのが、AI コードレビューツールです。客観的にコードを評価してもらうことで、効率的にレビューを行うことができます。 

では、具体的にどのように AI を活用すればよいのでしょうか。
次のセクションでは、AI の得意分野と苦手分野を理解した上で、効果的に活用する方法を説明します。

AIを活用したセルフレビューの基本方針

AI コードレビューツールを活用することでセルフレビューにかかる時間を大幅に短縮し、チームのレビュー負荷を下げることができます。

ただし AI は万能ではないため、得意分野と苦手分野を理解した上で活用することが重要です。

個人的に AI にレビューさせていて感じた AI の得意分野・苦手分野は以下の通りです。

AIが得意なこと:
ロジックが適切か、可読性や保守性が高いかなど一般的な知識で指摘できる範囲

  • 例:変数名が適切か、関数が長すぎないか、条件分岐に漏れがないか

AIが苦手になりやすいこと:
仕様・要件などプロジェクトに依存する知識が必要な範囲

  • 例:この仕様変更がビジネス要件を満たしているか、この実装方法がプロジェクトのアーキテクチャ方針に沿っているか

私の経験では、得意分野に関してはプロジェクト内の知識がなくてもいいため、「確かに修正した方がいいな」と感じる指摘をしてくれることが多かったです。 

一方で苦手分野に関しては、プロジェクト固有の知識を持っていない、文脈理解が難しいといった原因からか、期待するような指摘はあまりありませんでした。 
(ツールのバージョンやプロジェクトの特性によって、結果が異なる可能性があることをご了承ください。)

そのため、プロジェクトに依存しない分野は AI に任せて、「仕様・意図・責任を伴う判断」といったプロジェクトに依存する分野に、人間の時間を割くのが有効だと考えています。

ここで注意ですが、AI に任せるとはいっても確認を疎かにするのは危険です。 

AI が間違った出力をする可能性もありますし、実装意図の再確認やレビュー力の向上といったセルフレビューの利点が薄まってしまいます。

恥ずかしながら私は AI の提案を十分に確認していないのに適用してしまい、後で提案が間違っていたことに気づいて慌てて修正した経験があります。

このような経験から、最後は必ず自分の目で確認することを強くおすすめします。

では、具体的にどのツールを使えばよいのか。
次のセクションでは、実際に私が使用している AI コードレビューツールを紹介します。

具体的なAIコードレビューツールの使い方

ここからは私が実際に使用しているAIコードレビューツール(Cursor Agent ReviewとCodeRabbit)をご紹介します。

Cursor Agent Review

まずはCursor Agent Reviewです。

Cursorを使っている方であれば追加のインストールが不要なので、ぜひすぐに試してみてください。

設定はCursor SettingsのAgentsタブから変更することができます。

設定項目説明
Start Agent Review on Commitコミット時に自動でレビュー実行
Include Submodules in Agent Reviewレビューに Git サブmodule の変更を含める
Include Untracked Files in Agent Reviewレビューに未追跡ファイルを含める
Default Approach高速な分析(Quick)と、より徹底的でコストのかかる分析(Deep)のどちらかを選択

レビューの実行方法

使用するにはGit管理タブからFind Issuesボタンを押すだけです。

ボタンを押すとレビューの進捗が表示されます。

レビューが完了するとIssuesが表示されます。

issueをクリックするとコード変更がdiff形式で確認でき、Fixを押せばChatにissue内容を記載してくれるので、そのままAgentによる修正が実行できます。

CodeRabbit(拡張機能)

続いてCodeRabbitの紹介です。

これは、CursorやVS CodeなどIDEで無料で使用できるCode Rabbitの拡張機能です。
セキュリティポリシーによりCursorを使用できない、無料で使いたい、といった方にはオススメです。

インストール後はまずCodeRabbitへのログインが必要になります。
インストールの詳細な流れについてはドキュメントをご覧ください。

設定はサイドバーの歯車アイコンから行うことができます。

Agent Type

レビュー後のissueに対して「Fix with AI」を選択した際の修正案を適用する方法を設定できます。

デフォルトの「Native」であればIDEに沿った方法で修正してくれるので、特に変更の必要はないと考えていますが、Claude CodeやCodexなどの CLIを使用して修正したい場合はこちらから変更してください。

Auto Review Mode

コミット後に自動でレビューを行うか設定できます。

私はFreeプランなので、rate limitを考慮しデフォルトのpromptにしています。

設定説明
disabledコミット後自動レビュー無効化
prompt(デフォルト)コミットする度にレビューするか確認するダイアログを表示
autoコミットごとに必ず自動でレビューを実行

Self Hosted Url

セルフホスト型CodeRabbitインスタンスへの接続を設定できます。
私は使用しないので設定していませんが、詳細についてはドキュメントをご覧ください。

レビューの実行方法

実行方法は

  1. Auto Review Mode(auto)による自動レビュー
  2. Auto Review Mode(prompt)によるダイアログから手動レビュー
  3. サイドバーから手動レビュー

の3つがあります。

私はAuto Review Modeをpromptにしているので、レビューしたいタイミングに応じて2と3を使っています。

サイドバーから手動レビューする場合はレビュー対象を選択することができます。

基本的にReview all changesで問題ありませんが、変更したファイルの量に応じて使い分けるのがおすすめです。

  • Review uncommitted changes: 未コミットの変更のみをレビュー
  • Review committed changes: コミット済みの変更のみをレビュー
  • Review all changes: ベースブランチとの差分すべてをレビュー

ペンマークからベースブランチを変更することも可能です。

レビューを実行すると画像のように進捗を確認することができ、レビューが完了するとサイドバーにissueが追加され、コード上で詳細なコメントを確認できます。

レビューに対しては提案された修正を直接適用することも、「Fix with AI」を選択してAgent Typeで設定した方法で修正することもできます。

ツール比較表

Cursor Agent Review と CodeRabbit の主な違いを以下の表にまとめました。どちらのツールを使うか迷った際の参考にしてください。

項目Cursor Agent ReviewCodeRabbit
インストールCursorに標準搭載拡張機能としてインストールが必要
対応IDECursorのみCursor, VSCodeなど
料金Cursorのtokenを使用Freeプランあり(制限あり)
判断基準Cursorを利用している方無料で使いたい、Cursorが使えない

まとめ

この記事では、AI による実装速度の向上に伴い増加するレビュー時間と、それに伴うチームのレビュー負荷の問題を解決するために、セルフレビューと AI コードレビューツールの活用方法を紹介しました。

私は基本的に CodeRabbit を使用し、利用制限がきたら Cursor Agent Review を使用するといった方法をとっています。 

プロジェクトや環境によって最適なツールは異なる可能性がありますが、どちらも利用したことがないという方は、まずは無料の CodeRabbit を使用してみることをおすすめします。 

少しでも興味が湧いた方は、ぜひ Cursor Agent Review や CodeRabbit など AI コードレビューツールを実際の開発で試してみてください!

Cursor Commands
活用術 ― レビューとPR作成の自動化プロンプト