推奨レビュアー データ使用状況

どのように動作するか

Suggested Reviewersは、ユーザー向けのGitLab初の機械学習((ML) )機能です。プロジェクトの貢献グラフを活用して提案を生成します。このデータは、マージリクエストメタデータ、ソースコードファイル、GitLabユーザーアカウントメタデータなど、GitLab内にすでに存在しています。

機能を有効にする

プロジェクトのメンテナーまたはオーナーがプロジェクトの設定でレビュアー候補を有効にすると、GitLab はマージリクエスト API を活用して適切なレビュアー候補を提案するためにレビューのパターンを理解するためにプロジェクトのデータ抽出ジョブを開始します。

このデータ抽出ジョブは完了までに数時間(場合によっては一日)かかることがありますが、これはプロジェクトの規模に大きく依存します。プロセスは自動化されており、このプロセス中にアクションを起こす必要はありません。データ抽出が完了すると、マージリクエストで提案を受け取るようになります。

提案の生成

Suggested Reviewers が有効になってデータ抽出が完了すると、新しいマージリクエストや既存のマージリクエストに対する新しいコミットが自動的に Suggested Reviewers ML モデルの推論を開始し、最大 5 人のレビュアー候補を生成します。これらの提案内容はマージリクエストの変更に関連したものです。マージリクエストへの追加コミットによってレビュアー候補が変更されることがあり、レビュアドロップダウンリストは自動的に更新されます。

段階的な機能強化

この機能は、既存のGitLabレビュアー機能のプログレッシブエンハンスメントとして設計されています。GitLabレビュアーUIは、MLエンジンがレコメンデーションを提供できる場合にのみサジェストを提供します。イシューやモデル推論が失敗したイベントの場合、この機能は潔くデグレードします。Suggested Reviewersの使用によって、ユーザーが手動でレビュワーを設定できなくなることはありません。

モデルの精度

組織では、コードレビューにさまざまなプロセスを採用しています。シニアエンジニアがジュニアエンジニアのコードをレビューすることに重点を置いているところもあれば、階層的な組織構造に基づいたレビューを行っているところもあります。Suggested Reviewers は、ユーザーによる過去のマージリクエストのアクティビティに基づいて、コンテキストに応じたレビュアーに焦点を当てています。様々なコードレビューのユースケースやプロセスに対応できるよう、基礎となるMLモデルを進化させ続けていますが、Suggested ReviewersはCode OwnersやApproval Rulesのような他のコードレビュー機能を置き換えるものではありません。レビュアーの選択は主観的なものであるため、Suggested Reviewersが毎回完璧な提案を提供することは期待していません。

ベータ版のお客様の使用状況を分析した結果、Suggested ReviewersのMLモデルは60%のケースで採用される提案を提供することがわかりました。将来的には、Suggested Reviewers機能にフィードバックメカニズムを導入し、ユーザーが悪いレビュアー提案にフラグを立てることで、モデルの改善に役立てる予定です。さらに、将来的にはオプトイン機能を提供し、基礎モデルのトレーニングにあなたのプロジェクトのデータを使用できるようにする予定です。

デフォルトではオフ

Suggested Reviewersはデフォルトではオフになっており、プロジェクトオーナーか管理者がこの機能を有効にする必要があります。

データのプライバシー

Suggested Reviewersは、GitLab.comのインフラストラクチャ内で完全にオペレーションされており、GitLab.comの他の機能と同レベルのプライバシーと セキュリティを提供しています。

この機能を有効にするために新たに追加データを収集することはありません。GitLabは、トレーニングされた機械学習モデルに対してあなたのマージリクエストを推測します。あなたのソースコードの内容は学習データとして使用されません。あなたのデータもGitLab.comを離れることはなく、全てのトレーニングと推論はGitLab.comのインフラ内で行われます。

GitLab.comのセキュリティについてもっと読む