AIにプルリクのレビューを任せる試み ~PR-Agent導入~

こんにちは、決済認証システム開発事業部の齊藤です。普段は主にバックエンドエンジニアとして開発業務に従事しております。

チーム開発において、Pull Request(以下、プルリク)を作成して、コードレビューを行うのは日常的なプロセスです。 しかし、他者の書いたコードを読み改善点を指摘をする作業は、コードの複雑さによって時間がかかる場合が少なくありません。

チームが忙しい状態だと、なかなかレビューに着手できずに溜まっていってしまうこともありますが、開発フローとしては、プルリクを投げたら速やかにレビューしてもらい、指摘箇所を修正する、という流れが実装者にとっても作業の分断が少なく理想的です。

そこで今回は、人力だと時間が掛かってしまいがちなレビューを効率化するために、まだ実験段階ではありますが、個人開発の範囲でPR-Agentというツールを導入し、AIプルリクレビューの使い勝手を検証してみました。

AIプルリクレビューとは?

「AIプルリクレビュー」とは、AIを使ってプルリクエスト(Pull Request)を自動でレビューするプロセスのことです。ソフトウェア開発におけるコードレビューをAIが支援または代行する仕組みです
単純な説明はAIに投げがち

AIプルリクレビューとは、AIがプルリクに対するレビュー作業を自動で行う、あるいは補助する仕組みです。

レビュー内容の例として、以下のような項目をチェックしてくれます。

コードの品質チェック
スタイル、構文ミス、不要なコードの指摘

セキュリティチェック
脆弱なコードや安全でない実装の警告

リファクタリングの提案
より効率的な記述方法の提案

テスト漏れの検知
変更に対応するテストの不足を指摘

機械的なコード品質チェックだけでなく、セキュリティやテストに関する指摘、リファクタリングの提案まで、多岐にわたるフィードバックが期待できます。 特に経験の浅いエンジニアが見落としがちな点もカバーしてくれるため、個人開発やレビュー工数を削減したい場合に補助ツールとして使えそうです。

PR-Agentの紹介と導入

プルリク作成時に自動でレビューを行う仕組みを構築したかったため、今回はGitHub Actionsに組み込めるPR-Agentを使ってみました。

PR-Agentとは

github.com

PR-Agentは、AIのフィードバックと提案を提供することで、プルリクエストを効率的にレビューし、処理することを目指しています

AIモデルは自由に設定でき、OpenAIやAnthropicなどのAPIキーを設定することで、任意のLLMを利用してレビューを行えます。

導入方法

導入は非常に簡単です。月額制のサブスクリプションプランもありますが、今回は自前のAPIキーを設定する方法で進めます。

LLMのAPIキー取得については割愛しますが、基本的にGitHub ActionsでPR-Agentを呼び出すように設定するだけで完了です。

# .github/workflows/pr_agent.yml
on:
  pull_request:
    types: [opened, reopened, ready_for_review]
  issue_comment:
jobs:
  pr_agent_job:
    if: ${{ github.event.sender.type != 'Bot' }}
    runs-on: ubuntu-latest
    permissions:
      issues: write
      pull-requests: write
      contents: write
    name: Run pr agent on every pull request, respond to user comments
    steps:
      - name: PR Agent action step
        id: pragent
        uses: qodo-ai/pr-agent@main
        env:
          OPENAI_KEY: ${{ secrets.OPENAI_KEY }}
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

GitHubのSettingsで、シークレットにOPENAI_KEYを作成し、取得したAPIキーを設定します。

これにより、GitHub上でプルリクを作成すると、自動的にAIによるレビューが開始されます。

使ってみて感じたメリット・デメリット

メリット

レビューの初速が上がる
チームでプルリクを出した際、レビューがなかなか進まず放置される経験はありませんか? AIレビューは即座にフィードバックを返すため、実装の記憶が新しく、作業環境を開いたまますぐに指摘対応に取り掛かれます。 数時間経って別の作業を始めてしまうと、作業の切り替えコストがかかるため、この迅速なフィードバックは修正作業の効率化に繋がります。

見落としがちな指摘を拾ってくれる
人間が見落としやすいtypo、エラーハンドリングの考慮漏れなども、完璧ではないものの、期待以上に的確に指摘してくれます。 例えば、処理は実装できているものの、正常系しか確認せずレビューを通してしまいがちな箇所でも、AIがエラーハンドリングの必要性を指摘してくれることで、気付けなかった点に気付け、品質向上に効果的でした。

初学者の補助に有効
初学者の頃は、同じ処理でも非効率だったり、可読性の低いコードを書いてしまいがちです。 人のレビューでは、新人に配慮して手心を加えることもありますが、AIは容赦なく「こうすればもっと良くなる」と冷静に指摘してくれます。 様々なコードの書き方を提示してくれるため、より良い方法がまだ分からない初学者にとって、強力な補助ツールになるでしょう。

デメリット

コメントが冗長・的外れな場合がある
通常のレビューであれば一言で済む指摘も、AIは「〇〇が△△なので、□□が推奨されます」といった冗長な表現になりやすいです。 このあたりはプロンプトを調整することで改善可能な部分もありそうですが、チーム内で共通認識が取れていたらしないような的外れな指摘があったりもします。

プロジェクトに特化したレビューはまだ難しい
プロジェクト固有のビジネスロジックや特殊な構成がある場合、AIレビューは一般的な知識に基づいてレビューを行うため、的外れな指摘が増える傾向にあります。 特殊な固有名詞をtypoと判断する可能性も考えられます。

誤解を招く提案をされる可能性
AIレビューは、もっともらしく正しいような指摘をすることがあります。そのため、指摘を鵜呑みにして修正してしまうと、かえって問題が発生する可能性があります。 レビュイーは、指摘が本当に正しいのかを必ず確認し、慎重に修正を進める必要があります。

今後の展望

AIによるレビューを実際に使ってみて、「思ったより使える。ただし、活用方法には注意が必要」という印象を受けました。AIが得意とする分野(一般的なコーディング規約など)と、苦手な分野(特有の仕様など)が明確に分かれているため、現状では人間のレビューを完全に代替するものではありません。もちろん得意な分野においても完璧なレビューの保証はないため、見落としがないか自身で常に注意を払う必要があります。

個人開発など、レビュアーがいなかったり、テストも自分で行うような状況では、少しでもチェックしてもらえることは安心材料になります。感覚的には、静的解析ツールの延長といった位置付けになりそうです。

今後、AIレビューの精度がさらに向上して、プロンプトの設定や設計資料の読み込みなども柔軟に対応できるようになれば、プロジェクトに特化したレビューも可能になり、より高いコード品質を維持していくことができそうです。

何も考えずにAIレビューの指摘をそのまま適用するようなエンジニアが多いと困りますが、自分で考え、AIの指摘を受け止めてより良いコードを模索するような実装ができれば、人間とAIによるハイブリッドなレビューが実現できそうです。

昨今、CursorやClaudeCodeなどのAIエージェントが活発化しており、コードを書くのもAI、レビューするのもAIといった流れが進めば、エンジニアは本格的に設計に特化する仕事へとシフトしていくことになるのではないでしょうか。

まとめ

今回の記事では、開発プロセスにおけるAIプルリクレビューの可能性と、実際に「PR-Agent」を導入してみた所感についてご紹介しました。

AIによるレビューには活用に注意すべき点もありますが、正しい判断ができるエンジニアであれば、まずは試してみる価値があるという実感が得られました。AIレビューのデメリットも挙げましたが、人間によるレビューにも同様の問題は発生し得ます。AIを過信せず、全てを鵜呑みにするような使い方さえしなければ、AIは有効なツールになり得るでしょう。

個人開発や少人数のチームでレビュー工数を削減したい場合、あるいはコード品質の底上げを図りたい場合には、AIレビューの導入を検討する価値は十分にあります。AIの進化は目覚ましく、今後さらに精度が向上し、よりプロジェクトに特化したレビューが可能になることが期待されます。

人間によるレビューとAIによるレビューを適切に組み合わせることで、開発効率とコード品質の両面を向上させるハイブリッドな活用が、今後の開発現場のスタンダードになるかもしれません。

テコテックの採用活動について

テコテックでは新卒採用、中途採用共に積極的に募集をしています。採用サイトにて会社の雰囲気や福利厚生、募集内容をご確認いただけます。ご興味を持っていただけましたら是非ご覧ください。

www.tecotec.co.jp