GitHubは、コードレビューエージェントを評価するオープンベンチマークReviewBenchを開始した。これは、AIを活用したレビュー toolsにおける根本的な問題、すなわち、どのようなバグを発見し、何を見逃し、どの程度のノイズを生み出すのかを比較する難しさに対処する試みである。このベンチマークは、コードレビューシステムを開発する研究者やチームに提供され、カスタムシステムを入力して他のシステムと比較することもできる。
実際のプルリクエストに基づくベンチマーク
GitHubは、プラットフォーム上の1億390万件を超えるプルリクエストの分布を分析した上で、ReviewBenchのデータセットを設計した。このデータセットには、19のプログラミング言語を対象とする、187の公開されたオープンソースライセンスのリポジトリからの219件のプルリクエストが含まれており、言語とリポジトリ規模の分布はGitHub全体の傾向に合わせられている。ただし、変更規模については、1ファイル内の小規模な変更に過度に集中するのではなく、中規模および大規模でレビュー可能なプルリクエストを優先するよう再加重された。
GitHubが「グラウンドトゥルース・セット」と呼ぶものは、単一の情報源に依存していない。人間のレビュアー、プルリクエストの作成者が後から行った変更、静的解析ツール、複数の先進的な言語モデルから、潜在的な結果を収集した。意味的に重複する結果を除去した後、正しい結果は正確で、関連性があり、些末ではないものでなければならないと定める統一基準に基づいて評価した。GitHubは言語評価者としてClaude Sonnet 5モデルを使用し、監査可能性と再現性を高めることを目的に、評価用のrubricと設定を公開している。
新たなバグの発見を罰しない指標
ReviewBenchは、2つの指標群を区別している。grounded precision、grounded recall、grounded F1は、グラウンドトゥルース・セットに既に存在する問題をシステムが発見する能力を測定し、システム間の直接的な比較を可能にする。一方、augmented precision、augmented recall、augmented F1は、既知の問題と一致しない結果も調べ、評価者が正しい問題であると確認した場合にシステムへスコアを与える。
この区別は重要である。固定されたバグの集合は必ずしも完全ではなく、新しいエージェントがベンチマークの作成者によって検出されなかった問題を発見する可能性があるためだ。GitHubはシステム間の比較における主要な指標としてgrounded recallを使用し、拡張指標は各システムの追加的な診断情報を提供する。
調整可能で監査可能な評価
結果は、正確性、セキュリティ、信頼性、保守性、テストなど、問題の重大度やカテゴリー別に分けることができる。また、Fβ指標によって再現率と適合率の重みを変更できるため、ユーザーはより広いカバレッジ、または数は少ないがより正確なコメントを優先できる。公開前には、データ構築に参加していないシニアエンジニアがすべての結果にラベルを付け、ReviewBenchの判定との一致率は96.6%に達した。GitHubによると、各評価で使用したデータ、評価者、マッチングツールのバージョンを固定している。
実際に何が実証されるのか?
GitHubはReviewBenchを使用してCopilot Code Reviewの successive versionsを評価し、オフラインテストにおける改善または悪化の傾向が本番実験と一致したと述べている。複数の異なるモデルの実行を組み合わせるレビューシステムの実験では、このベンチマークは適合率、再現率、コメント数の上昇とレビューコストの低下を予測した。本番環境でのA/Bテストも同じ方向を示した。コードの修正につながったコメントの割合は8.0%、再現率は13.6%、コメント量は61%上昇し、レビューあたりのコストは対照群と比べて8.0%低下した。また、ベンチマークは重大なコメントが227%増加すると予測し、本番では262%増加した。
certi.newsによる編集部の見解:ReviewBenchの最も重要な価値は、新しいツールの開始ではなく、コードレビューエージェントの評価を比較可能で監査可能なプロセスへ変えようとする試みにある。ただし、「コメントが多い」ことが必ずしもより良いレビューを意味するわけではないことも認めている。同じ情報源は、本番実験が依然としてユーザーへの影響に関する最終的な尺度であり、評価の一部が言語評価者に依存していることで、自動判定の一貫性の限界について未解決の問題が残るとも指摘している。
GitHubは、ベンチマークの初期研究版を、データ、方法論、評価者の設定、セルフホスト実行ツールとともに提供している。エージェントは25件のプルリクエストからなるデータセットでテストでき、その後、公開リーダーボードへの結果掲載を申請する前に、219件すべてを対象とする評価を3ラウンド実行できる。