AIでコードレビューを効率的に。レビューサービスまとめ12選
コードレビューは開発プロセスにとって欠かせませんが、レビュアーの負担が大きいという課題もあります。そこで、最近登場しているのがAIによるコードレビュープロセスの自動化ツールです。
今回はそんなAIコードレビューサービス・ツールを調べてみたのでまとめて紹介します。
※ 筆者はCodeRabbitのアドボケイトでもあります
クラウドサービス
CodeRabbit
CodeRabbitは元々coderabbitai/ai-pr-reviewerというオープンソース・ソフトウェアを提供していました。クラウドサービスとしてCodeRabbitを提供し、GitHubやGitLab、BitBucketなどのリポジトリと連携してコードレビューを実行します。実行内容(プロンプト)は細かくカスタマイズできます。
プルリクエストに関する要約やチャットボットを使った修正点に関する質問と回答により、レビュアーをサポートします。問題がある場合、ワンクリックで修正もできます。セキュリティを重視しており、レビューしたコードはすぐに破棄され、学習などに利用しません。
CodeRabbitは、オープンソース・プロジェクトに対して無料で利用できます(機能制限はあります)。CodeRabbitボットとのチャット機能などは月額12ドルからのLiteプランで利用できます。
AI Code Reviews | CodeRabbit | Try for Free
GitHub Copilot コード レビュー
GitHub Copilotにて、コードをレビューしてフィードバックを提供する機能です。Visual Studio Codeや、GitHubのWebサイトで利用できます。コードを選択してレビューを受けたり、プルリクエストの内容からCopilotによる指摘を確認できます。
Visual Studio Codeではガイドラインのカスタマイズはできないようです(Webではできます)。Visual Studio Codeであれば、プルリクエストを送る前にレビューを受けられるのが便利そうです。
GitHub Copilot コード レビューの使用 - GitHub Docs
Amazon CodeGuru Security
Amazon CodeGuru セキュリティは機械学習と自動推論を使用して、コードのセキュリティの問題を検出します。コードのセキュリティの問題を検出するだけでなく、その問題の修正方法の提示とクローズまでのトラッキングを行います。
Amazon CodeGuru セキュリティは各種Gitリポジトリと連携したり、IDE(Visual Studio CodeやIntelliJ IDEAなど)と連携したりできます。
高価なコードを探す — Amazon CodeGuru Security - AWS
AI champion
AI championはコードの変更点やスタイル、潜在的な問題を分析し、開発者に客観的なフィードバックを提供します。また、修正点を要約し、レビュアーをサポートします。
コードレビューは業界のベストプラクティスに沿って設計されていますが、設定によって機能のオンオフが可能です。SlackやNotionなどとの連携も可能です。
AI champion for code reviews | Kypso
CodeAnt AI
静的コード解析からAIコードレビュー、コードセキュリティまでが統合されています。プルリクエストのサマリー、セキュリティチェック、機密情報の検出、潜在的なバグチェックなどを行います。
コードレビューだけでなく、リポジトリ全体の健康状態を監視します。IDEは、VSCodeとJetBrains製品がサポートされています。
Trag
TragはAIによるコードレビュー、プルリクエストレビュー、コードチェック機能を提供します。ルールは自然言語で記述でき、プロジェクト全体に適用されます。
CLIが提供されており、ターミナルからコード解析を実行できます。現在はGitHubとGitLab、Bitbucketとの連携が可能です。
AI Code Review for Effortless Development | Trag
Bito
Bitoは、プルリクエストのサマリーや静的コード解析、インラインでの提案といった機能があります。SnykやWhispers、detect-secrets などのツールを統合して脆弱性の分析も行えます。
オンプレミスでの実行用に、Dockerイメージでエージェントをインストールし、実行もできます。
PullRequest
AIと、専門家によるセキュリティに特化したコードレビューサービスです。GitHub、Bitbucket、GitLab、Azure DevOpsと連携し、プルリクエストのレビューを行います。
人による検証は、アラートが出た際に行われます。プランによっては、シニアソフトウェアエンジニアが常時レビューを行うものもあります。
HackerOne PullRequest | Code Review as a Service
GitHub Apps/Actions
getCodeSenseiJP
CodeSensei(コード先生)は、プルリクエストのレビューを自動的に行うGitHub Appsです。提供元のOpenCIはFlutter向けにCI/CDを提供しているため、CodeSenseiもモバイル向けかも知れません(未確認)。
Code Review GPT
Code Review GPTは、GitHub Actionsで動作するコードレビューツールです。GPT-4o miniを利用して、プルリクエストのコメントを生成します。
Bunを使っており、ローカルでも動作させられるようです。
Code Review GPT · Actions · GitHub Marketplace
AI Code Review Action
AI Code ReviewerはChatGPT 4を使ってコードレビューを行うGitHub Actionsです。プルリクエストに対して、コメントや改善案を提示します。
実行時にはOpenAIのAPIキーが必要です。
AI Code Review Action · Actions · GitHub Marketplace
オープンソース
PR-Agent
PR-Agentはオープンソース・ソフトウェアです。GitHub、GitLab、Bitbucket、Azure DevOpsを対象に開発されています(実行できる機能はサービスによって異なります)。
@CodiumAI-Agent /review
といったコメントを書くと、レビューが実行されます(公開リポジトリのみ)。
まとめ
今回はAIコードレビューツールを調査して、まとめてみました。それぞれ大きな機能差はないですが、セキュリティ特化や人による検証が含まれるものもあります。また、オープンソースのものもありますので、自分で運用することも可能です。
基本的にLLMはChatGPTなどが使われているようです。CodeRabbitでは、用途に応じて複数のモデルを使い分けており、レビュー単価を下げています。ぜひCodeRabbitのフリートライアルを体験してください!
Discussion