エンジニアの方ならPull Request(PR)レビューをすると思いますが
- 忙しくてPRレビューに時間を取れない
- 本質的なコードの変更点に絞ってレビューしたい
- レビューを効率化したい
という方もいるのではないでしょうか?
この記事では、そのような方に向けてAIを使ったPRレビューサービス3選を紹介します。
今後、PRレビューにAIを導入する企業は増えていくと思います。この機会に、どのようなサービスがあるかキャッチアップしましょう!
AIを使ったPull Requestレビューサービス3選
さっそく、AIを使ったPRレビューサービス3選を紹介します。
CodeRabbit
CodeRabbit は、AIを活用したコードレビュープラットフォームです。
CodeRabitのPRレビュー機能(ai-pr-reviewer
)はOSSとして公開されていますが(上記のGitHubのリンク参照)、それとは別にプロフェッショナル版としてサブスクリプション型サービスも提供されています。
以下ではプロフェッショナル版の「CodeRabbit Pro」を主に説明しますが、OSSとの違いについても触れます。
機能の概要
以下のような機能があります。各機能の詳細は公式サイトをご確認ください。
PRの概要の自動生成
PRの概要を作成します。PRの生成時に作成され、PRが更新されるたびに概要も更新されます。
PRの自動レビュー
各ファイルで変更されたコード行に対するPRのレビューコメントとして、AIによるレビューが投稿されます。
AIとのチャット
AI(CodeRabbit)に質問し、コードを生成したり、変更に対するフィードバックを得たりできます。
issueの検証
PRで行なった変更が、PRにリンクされたGithubまたはGitlabのissueに対して妥当か検証され、検証結果がPRのコメントに投稿されます。
プルリクエストのレビューステータス
PRに対するコミットが増加するたびにレビューステータスが更新されます。
レビューステータスには、レビューされたコミットID、調査および無視されたファイル、および各レビューに対して生成された実用的なフィードバックと追加のコメントが表示されます。
費用
無料プランと有料プランがあります。
料金は変更される可能性があるので、公式サイトで確認するようにしてください
導入方法
公式サイトをご参考ください。
特徴
CodeRabbit Proでは、レビュー中に収集されたデータは保存されず、レビュー後、直ちに破棄されます。モデルのトレーニングにも使用されません。
CodeRabbitのサポートチームによるサポートを受けられます
ダッシュボード上でPRに関するアクティビティ等を確認できます
その他
CodeRabbit Pro(サブスクリプション型サービス)とOSSの違いについて
公式サイトによると違いとして以下が紹介されています。
ai-pr-reviewer は、プル リクエスト レビュー用のオープン ソース ソフトウェア (OSS) です。CodeRabbit OSS を使用するには、独自の OpenAI キーが必要であり、OpenAI のコストが発生します。一方、CodeRabbit Pro サブスクリプションには、OpenAI の費用が含まれています。さらに、CodeRabbit Pro は、CodeRabbit OSS には存在しない高度なプロンプトと優れたノイズ低減機能を提供します。
参考になる記事
サポートチームによるサポートやダッシュボード機能はCodeRabbit Proならではですね
PR-Agent
PR-Agentは、CodiumAIによって開発されているPRレビューツールです。
PR-Agentはオープンソースとして公開されています。
機能の概要
以下のような機能があります。各機能の詳細はリンク先をご確認ください。
PRの概要(タイトル、タイプ、概要、コードチュートリアル、ラベル)を自動生成します。
PRのメインテーマ、タイプ、関連するテスト、セキュリティの問題、スコア、PRの内容に関するさまざまな提案、フィードバックを行います。
PRに関するフリーテキストの質問に回答します。
PRを改善するためのコミット可能なコードを提案します。
PRの変更でCHANGELOG.mdファイルを自動的に更新します。
類似のissueを自動的に検索し、提示します。
PR内のドキュメント化されていない関数/クラスに自動的にドキュメントを追加します。
PRのコードの変更に基づき、カスタムラベルを自動的に提案します。
上記の各機能のデモについてはこちらをご確認ください。
費用
無料(OpenAIのAPI使用料は発生します)
導入方法
リポジトリのREADMEをご確認ください。
特徴
独自のPR圧縮アルゴリズム
PRのサイズが大きくなっても独自のアルゴリズムによって重要なファイルから順に見て判断するようになっており、サイズが大きいPRについても効果的なレビューが可能になっています。アルゴリズムの詳細についてはPR Compression Strategyをご参照ください。
その他
- 背後でGPT-4を使用しているため、GPT-4にアクセスできるOpenAIのAPIキーが必要です
- PR-Agentは2023年11月現在アクティブに開発中で、まだ安定版が出ていません。Github Actionsが稀にバグで実行できないことがあるようです。
参考になる記事
PR-Agentはまだ安定版が出ていませんが、独自のPR圧縮アルゴリズムがあるのは魅力的ですね
Copilot for Pull Requests
Copilot for Pull RequestsはGitHubが提供する機能です。
2023年11月現在、本機能はTechnical Previewの段階で、正式リリースはまだされていません。
後述のとおり、一部の機能はWaitlistに登録すれば使用できます。
機能の概要
以下のような機能があります。詳細はリンク先をご確認ください。
PRの概要を提案します。PRの概要を一段落でまとめたり、コードへのリンクを含むコードの変更の詳細のリストを作ったりできます。
AIがレビューを行い、コードの改善のための実用的な提案を行います。
開発者がPRの説明を入力する際にサジェストを表示します。
テストが不足している可能性のあるPRの変更点を特定し、テストを提案します。
リポジトリに対し、issueが発行されると、それに対する解決策を提示します。
費用
未公表
特徴
上記の機能のうち、ゴーストテキスト、テストの自動生成、AIによるissueの解決は他のサービスにはないCopilot for Pull Requests特有の機能と思われます。
その他
一部の機能(PRの概要の自動生成)についてはwaitlistに登録すれば使用できます
waitlistの登録はこちらからできます。また、以下の記事も参考になります。
テストの自動生成やAIによるissueの解決はすごいですね!
今後も動向に目が離せません
まとめ
今回はAIを使ったPRレビューサービスを3つ紹介しました。
今後はAIをどう使っていくかがポイントになっていくと思います。
AIを使ったPRレビューサービスをまずは体感してみましょう!
コメント