GitLab Duoのデータの使用
GitLab Duoは生成AIを使用して、ベロシティを向上させ、生産性を高めます。各AIネイティブ機能は独立して動作し、他の機能の動作に依存しません。
GitLabは、特定のタスクに適した大規模言語モデル(LLM)を使用します。これらの大規模言語モデルは、Anthropic Claude、Fireworks AI-hosted Codestral、Gemini Enterprise Agent Platformモデル、およびOpenAIモデルです。
段階的な機能拡張
GitLab DuoのAIネイティブ機能は、DevSecOpsプラットフォーム全体の既存のGitLab機能を段階的に拡張するように設計されています。これらの機能は適切に機能低下するように設計されており、基盤となる機能のコア動作を妨げることはありません。各機能は、関連する機能サポートポリシーで定義された期待される動作に準拠します。
安定性とパフォーマンス
GitLab DuoのAIネイティブ機能は、さまざまな機能サポートレベルにあります。これらの機能の性質上、使用に対する高い需要により、機能のパフォーマンス低下や予期しないダウンタイムが発生する可能性があります。これらの機能は適切に低下するように構築されており、不正使用や誤用を軽減できる制御機能を備えています。GitLabは、独自の裁量により、いつでもすべてまたは一部のお客様に対してベータ版および実験的機能を無効にする場合があります。
データプライバシー
GitLab DuoのAIネイティブ機能は、生成AIモデルによって提供されます。GitLabは、GitLabプライバシーに関する声明に従って、あらゆる個人データを処理します。
GitLabがこれらの機能を提供するために使用するAIモデルサブプロセッサのリストについては、サードパーティのサブプロセッサを参照してください。
データ保持
モデルサブプロセッサ
GitLab Duoのリクエストについて、GitLabはFireworks AIとのゼロデータ保持ポリシーを定めています。Fireworks AIは、モデルの入力および出力データが提供された直後にそれを破棄し、悪用モニタリングのために入力および出力データを保存しません。このポリシーの例外は、プロンプトキャッシュがGitLab Duoコード提案およびGitLab Duo Agentic Chatに対して有効になっている場合です。OpenAIモデルの場合、プロンプトキャッシュをオフにすることはできません。
AnthropicおよびOpenAIの一部のモデルは、Amazon BedrockおよびGemini Enterprise Agent Platformでホストされている場合を含め、ベンダー側の限定的なデータ保持の対象となります。これらのモデルの詳細については、サポートされているGitLab Duo Agent PlatformのAIモデルを参照してください。
GitLab
GitLab Duo ChatとGitLab Duo Agent Platformは、以前に議論したトピックに素早く戻るのに役立つように、チャットとワークフローの履歴を保持します。GitLab Duo Chatインターフェースでチャットを削除できます。GitLab.comでは、GitLabは不正使用防止のためにチャットとワークフローの履歴を保持します。GitLabは、顧客がGitLabサポートチケットを通じて同意を提供しない限り、入力および出力データを保持しません。
GitLab Duo Agent Platformの拡張ロギングを有効にすると、GitLabはトレースデータを保持します。AI機能に関連するロギング情報は、GitLab AIモデルサブプロセッサとのゼロデータ保持ポリシーとは別です。詳細については、GitLabログシステムを参照してください。
モデルトレーニング
GitLabは生成AIモデルをトレーニングしません。
すべてのGitLab AIモデルサブプロセッサは、モデルの入力および出力をモデルのトレーニングに使用することを制限されています。これらのサブプロセッサは、独自の目的で顧客コンテンツを使用することを禁止するGitLabとのデータ保護契約に基づいており、独立した法的義務を履行する場合を除きます。
テレメトリ
GitLab Duoは、Snowplowコレクターを介して、集約または匿名化されたファーストパーティーの使用状況データを収集します。この使用状況データには、次のメトリクスが含まれます:
- ユニークユーザー数
- ユニークインスタンス数
- プロンプトとサフィックスの長さ
- 使用されたモデル
- ステータスコードレスポンス
- APIレスポンス時間
- コード提案はさらに以下を収集します:
- 提案で使用された言語(例: Python)
- 使用されているエディタ(例: VS Code)
- 表示、承認、拒否、またはエラーが発生した提案の数
- 提案が表示された時間の長さ
GitLab Model Context Protocolサーバー
次の情報は、GitLab Self-ManagedインスタンスでのGitLab Model Context Protocol(MCP)サーバーの使用に適用されます。
GitLab MCPサーバーが使用されている場合、GitLabはデータを送信、保存、保持、または処理しません。すべての通信は、MCPクライアントとお客様の環境にあるGitLab MCPサーバーの間で直接行われます。
リポジトリデータとメタデータはGitLabに送信されません。
どのMCPクライアントがお客様のインスタンスに接続するかは、お客様が管理します。各クライアントのプライバシーおよびデータ保持ポリシーが適用されます。
モデルの精度と品質
生成AIは、次のような予期しない結果を生成する可能性があります:
- 低品質
- 一貫性がない
- 不完全
- パイプラインの失敗を引き起こす
- 安全でないコード
- 攻撃的または配慮に欠ける
- 古い情報
GitLabは、生成されたコンテンツの品質を向上させるために、すべてのAIアシスト機能について、積極的にイテレーションを重ねています。プロンプトエンジニアリング、これらの機能を強化する新しいAI/MLモデルの評価、およびこれらの機能に直接組み込まれた新しいヒューリスティックを通じて品質を向上させています。
シークレット検出と墨消し
GitLab Duoには、フロー実行中にシークレット検出と削除が含まれています。シナリオに応じて、GitLab Duoは、大規模言語モデルで処理する前に、APIキー、認証情報、トークンなどの機密情報を自動的に検出し、コードから削除します。
GitLab Duoを使用する際、コードは事前スキャンセキュリティワークフローを通過します:
- コードは、Gitleaksを使用して機密情報がスキャンされます。
- 検出されたシークレットは、リクエストから自動的に削除されます。
シークレットスキャンは以下のシナリオで実行されます:
- コード補完のコンテキスト変換(コンテキストがAIに送信される前)
- AIコンテキスト変換
- ワークフローツール結果
- Agentic Chatユーザー入力
- Gitコマンドロギング
- CLI設定ロギング
シークレットスキャンは、ウェブインターフェースを通じてGitLab Duo Chatを操作する際には行われません。
例外: シークレット誤検出判定
シークレット誤検出判定は、検出されたシークレットを含むコードと脆弱性に関する情報を分析のためにLLMに送信するオプトイン機能です。これは、シークレット検出および削除の動作に対する意図的な例外です。
この機能はオプトインであるため、脆弱性データがLLMに送信される前に、グループレベルとプロジェクトレベルの両方で明示的に有効にする必要があります。この機能を有効にする前に、組織のデータポリシーを確認してください。
グループの利用データをGitLabと共有する
サービス品質の向上に役立つよう、GitLab Duo Agent Platform機能に関する使用状況データをGitLabと共有できます。
データ収集を有効にすると、ネームスペース内のすべてのプロジェクトおよびサブグループからのAIインタラクションがGitLabにログ記録されます。このデータは、サービス改善およびデバッグのみに使用され、AIモデルのトレーニングには使用されません。
使用状況データの収集は、インスタンスについても有効にできます。
前提条件:
- GitLab 18.9.1以降が必要です。
- トップレベルグループのオーナーロールを持っていること。
- GitLab.comでは、グループでGitLab Duoが有効になっている必要があります。
グループのデータ収集を有効にするには:
- 上部のバーで、検索または移動先を選択して、グループを見つけます。
- 左側のサイドバーで、設定 > GitLab Duoを選択します。
- 設定の変更を選択します。
- データ収集の下にある使用状況データの収集チェックボックスを選択します。
- 変更を保存を選択します。
エージェントプラットフォームの利用データ
データ収集を有効にすると、以下のデータがログに記録されます:
- GitLab Duoとのインタラクションからの完全なプロンプトおよび応答テキスト。
- 設定が有効になった時点で進行中だったセッションを含むセッションコンテキスト。
- モデルメタデータ(モデルバージョン、トークン数、レイテンシー)。
- ツール呼び出しとその結果。
- ユーザーフィードバックとの相関関係を示すセッションID。
ユーザーが自身のプロンプトに含めない限り、以下の情報はログに含まれません:
- ユーザーIDまたはユーザー名。
- メールアドレスまたは個人識別子。
- プロジェクトまたはネームスペース識別子。
GitLabは、ユーザーが自身のプロンプトに含めた識別子を削除しません。
プロンプトキャッシュ
プロンプトキャッシュは、キャッシュされたプロンプトおよび入力データの再処理を回避することで、レイテンシーを改善します。プロンプトキャッシュを有効にすると、モデルベンダーはプロンプトデータを一時的にメモリに保存します。キャッシュされたデータは、永続ストレージに記録されません。
プロンプトレジストリを使用するAgent Platform機能とコード提案の両方で、サポートされているモデルに対してトークンキャッシュが自動的に有効になります。
プロンプトキャッシュをオフにする
デフォルトで、プロンプトキャッシュは有効になっています。プロンプトキャッシュは、トップレベルグループまたはインスタンスに対して無効にすることができます。
前提条件:
- トップレベルグループのオーナーロール。
- 上部のバーで、検索または移動先を選択して、グループを見つけます。
- 左側のサイドバーで、設定 > GitLab Duoを選択します。
- 設定の変更を選択します。
- データとプライバシーセクションのプロンプトキャッシュで、プロンプトキャッシュを有効にするチェックボックスをオフにします。
- 変更を保存を選択します。
前提条件:
- 管理者アクセス権。
- 右上隅で、管理者を選択します。
- 左側のサイドバーで、GitLab Duoを選択します。
- 設定の変更を選択します。
- データとプライバシーセクションのプロンプトキャッシュで、プロンプトキャッシュを有効にするチェックボックスをオフにします。
- 変更を保存を選択します。