CodeRabbit は GitHub のプルリクエストに対するレビュー側のボットであり、コードを書くのではなく、行単位のコメントとレビュー判定を投稿する。ベンダーが管理するボットアカウント coderabbitai[bot] の名義で動作しており、このログインがベンダーの管理下にあることは明白である。これは、人間のユーザーのログインで投稿するエージェントとは対照的であり、そうしたエージェントでは公開されている GitHub のデータから投稿者を特定することが難しくなる。

研究者にとっての際立った特徴は、自らの出力にラベルを付けることである。CodeRabbit は実質的なコメントの先頭に、コメントの種類を示す絵文字付きの見出しを付ける。Refactor suggestion、Potential issue、Nitpick であり、過去のデータでは 4 つ目の見出しとして Verification も観測されている。これらの見出しはコメント本文そのものに現れるため、モデルによる判定を用いずに、ルールベースのマッチングで決定的にカテゴリを抽出できる。

機能

4 つの見出しは、実質的なコメントの 4 つの種類に対応している。すなわち、バグの疑い、動作はするが構造を改善できるコード、挙動や前提の検証の依頼、そして軽微なスタイル上の指摘である。これらと並んで、このボットはレビューの指摘とはまったく言えない出力も生成する。それを解析するために構築された分類器は、そうしたケースのために独自の構造的ラベルを 3 つ追加している。スクリプト実行の診断、@メンションへの返信、そして運用上のレート制限の通知である。

これらのラベルは CodeRabbit が何を生成したかを表すものであり、コードの何が問題なのかを表すものではない。これらのラベルをレビュー内容の尺度として用いている GitHub プルリクエストにおける AI から AI へのコードレビュー は、これらが検証されたものではなく自己申告のものであること、ラベル間に深刻度の順序付けを課していないこと、そしてこれらが問題の種類・正しさ・コード品質を独立に検証した尺度ではないことを明言している。

採用とエコシステム

公開 GitHub 全体で AI がレビューしたプルリクエストを対象とした研究において、CodeRabbit は、相当な量と機械的に解析可能なカテゴリ見出しの両方を備えた唯一のレビュー専用ボットであった。同じデータで Sourcery と PR-Agent は合わせても 250 件未満のレビューイベントにとどまっており、CodeRabbit は少なくとも 6 種類の異なる作成側エージェントのプルリクエストをレビューしていることが確認された。この幅広さこそが、同研究がレビュアーを CodeRabbit に固定したまま作成側エージェントを変化させることができた理由である。

そうした分析から、このボットに関する同研究の中心的な観察が得られた。CodeRabbit が出力するカテゴリの構成は、コードを書いたのが誰かによって異なるのである。Claude Code が作成した PR では、コメントの 35.0% がリファクタリングとラベル付けされていたのに対し、GitHub Copilot コーディングエージェント が作成した PR では 10.5% であった。また Copilot と Devin の 2 つが作成した PR では、Potential issue のコメントもはるかに多く付けられていた。同研究はこの差の原因を特定することを控えており、それがプルリクエストそのもの、リポジトリの文脈、あるいはレビュアーの振る舞いのいずれに由来する可能性もあり、自らの分析ではこれらを切り分けられないと述べている。また、どちらの方向についてもコード品質に関する主張は行っていない。利用可能なタイムスタンプを持つ組み合わせにおける、プルリクエストの作成から最初のレビューまでの時間の中央値は 7.0 分であった。これはレビュアーとしての Gemini Code Assist(0.5 分)、Amazon Q(1.2 分)、OpenAI Codex(2.6 分)より遅く、Copilot(17.7 分)より速い。