正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

GitLab Duo Agentic Chat

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

GitLab Duo Agentic Chatは、GitLab Duo Non-Agentic Chatの拡張バージョンです。この新しいChatは、複雑な質問に対しより包括的に回答できるよう、ユーザーに代わって自律的にアクションを実行できます。

非エージェント型Chatが単一のコンテキストに基づいて質問に回答するのに対し、エージェント型Chatは、GitLabプロジェクト全体の複数のソースから情報を検索、取得、統合することで、より徹底的で関連性の高い回答を提供します。

Agentic Chatは次のことが可能です:

  • キーワードに基づく検索を使用して、プロジェクト内の関連するイシュー、マージリクエスト、その他のアーティファクトを検索する(セマンティック検索ではありません)。
  • ファイルパスを手動で指定しなくても、ローカルプロジェクト内のファイルにアクセスする。
  • 複数の場所でファイルを作成および編集する。
  • イシュー、マージリクエスト、CI/CDパイプラインなどのリソースを取得する。
  • 複数のソースを分析して、完全な回答を提供する。Model Context Protocolを使用して、外部データソースおよびツールに接続する。
  • カスタマイズされたルールを使用して、カスタマイズされた回答を提供する。
  • GitLab UIでChatの使用時に、コミットを作成する。

概要については、GitLab Duo Chat(エージェント型)を参照してください。

GitLab Duo Chatを使用する

GitLab Duo Chatは、以下で使用できます:

  • GitLab UI。
  • VS Code。
  • JetBrains IDE。
  • Visual Studio for Windows。

GitLab UIでGitLab Duo Chatを使用する

前提条件:

GitLab UIでChatを使用するには:

  1. 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。

  2. GitLab Duoサイドバーで、新しいチャットを追加 pencil-square )または現在のGitLab Duo Chat duo-chat )を選択します。

    新しいチャットを選択した場合は、ドロップダウンリストからエージェントを選択します。

    画面右側のGitLab Duoサイドバーに、Chatの会話が表示されます。

  3. Chatテキストボックスの下で、エージェント切替がオンになっていることを確認します。

  4. チャットテキストボックスに質問を入力し、Enterキーを押すか、送信を選択します。

    • チャットにコンテキストを追加できます。
    • インタラクティブなAIチャットが回答を生成するまで、数秒かかる場合があります。
  5. オプション。次のことが可能です。

    • フォローアップの質問をします。
    • 別の会話を開始します。

Webページをリロードしたり別のWebページに移動したりしても、Chatは最新の会話を記憶し、その会話はChatドロワーでアクティブなままです。

VS CodeでGitLab Duo Chatを使用する

前提条件:

GitLab Duo Chatをオンにする:

  1. VS Codeで、設定エディタを開きます:
    • macOSでは、Command+,を押します。
    • WindowsまたはLinuxでは、Control+,を押します。
  2. Extensions > GitLab > GitLab Duoを選択します。
  3. GitLab › Duo Agent Platform: Enabledで、Enable GitLab Duo Agent Platformチェックボックスをオンにします。

その後、GitLab Duo Chatを使用するには:

  1. 左側のサイドバーで、GitLab Duo Agent Platform duo-agentic-chat )を選択します。
  2. Chatタブを選択します。
  3. プロンプトが表示されたら、Refresh pageを選択します。
  4. メッセージボックスに質問を入力し、Enterキーを押すか、送信を選択します。

JetBrains IDEでGitLab Duo Chatを使用する

前提条件:

GitLab Duo Chatをオンにする:

  1. JetBrains IDEで、Settings > Tools > GitLab Duoに移動します。
  2. GitLab Duo Agent Platformで、Enable GitLab Duo Agent Platformチェックボックスをオンにします。
  3. プロンプトが表示されたら、IDEを再起動します。

その後、GitLab Duo Chatを使用するには:

  1. 右側のツールウィンドウバーで、GitLab Duo Agent Platform duo-agentic-chat )を選択します。
  2. Chatタブを選択します。
  3. メッセージボックスに質問を入力し、Enterキーを押すか、送信を選択します。

Visual StudioでGitLab Duo Chatを使用する

前提条件:

GitLab Duo Chatをオンにする:

  1. Visual Studioで、Tools > Options > GitLabに移動します。
  2. GitLabで、Generalを選択します。
  3. Enable Agentic Duo Chatで、Trueを選択し、OKを選択します。

その後、GitLab Duo Chatを使用するには:

  1. Extensions > GitLab > Open Agentic Chatを選択します。
  2. メッセージボックスに質問を入力し、Enterキーを押します。

チャット履歴を表示する

チャット履歴を表示するには:

  • GitLab UIのGitLab Duoサイドバーで、GitLab Duo Chat履歴 history )を選択します。

  • IDEのメッセージボックスの右上隅で、Chat history history )を選択します。

GitLab UIでは、チャット履歴内のすべての会話が表示されます。

IDEでは、最新の20件の会話が表示されます。イシュー1308では、この仕様の変更が提案されています。

複数の会話を行う

GitLab Duo Chatと無制限の数の同時会話を行うことができます。

会話は、GitLab UIのGitLab Duo ChatとIDE間で同期されます。

  1. GitLab UIまたはIDEでGitLab Duo Chatを開きます。

  2. 質問を入力し、Enterキーを押すか、送信を選択します。

  3. 新しいChatの会話を作成します:

    • GitLab UIでは、次のいずれかを実行できます:

      • 特定のエージェントとの新しい会話を作成するには:
        1. GitLab Duoサイドバーで、新しいチャットを追加 pencil-square )を選択します。
        2. ドロップダウンリストでエージェントを選択します。
      • 既存の会話と同じエージェントとの新しい会話を作成するには、メッセージボックスに/newと入力し、Enterを押すか、送信を選択します。

      新しいChatの会話で既存の会話が置き換えられます。

    • Chatテキストボックスの下で、エージェント切替がオンになっていることを確認します。

    • IDEのメッセージボックスの右上隅で、New chat plus )を選択します。

  4. 質問を入力し、Enterキーを押すか、送信を選択します。

  5. すべての会話を表示するには、chat historyを確認します。

  6. 会話を切り替えるには、チャット履歴で適切な会話を選択します。

  7. チャット履歴で特定の会話を検索するには:

    • GitLab UI: スレッドを検索テキストボックスに検索語句を入力します。
    • IDE: Search chatsテキストボックスに検索語句を入力します。

LLMコンテキストウィンドウの制限により、会話はそれぞれ200,000トークン(約800,000文字)に切り詰められます。

会話を削除する

  1. GitLab UIまたはIDEで、chat historyを選択します。
  2. 履歴で、Delete this chat remove )を選択します。

個々の会話は、30日間の非アクティブ状態後に有効期限が切れ、自動的に削除されます。

ローカル環境でGitLab Duo Chatをカスタマイズする

ローカル環境でのGitLab Duo Chatの動作は、コーディングスタイル、チームプラクティス、プロジェクト要件を反映する指示を提供することでカスタマイズできます。

GitLab Duo Chatは、次の2つのアプローチをサポートしています:

  • chat-rules.mdカスタムルール: GitLab向け。個人の設定やチームの標準に最適。
  • AGENTS.mdの共有ルール: AGENTS.md仕様をサポートするGitLabおよびその他のAIツール向け。プロジェクトのコンテキスト、モノレポ構成、ディレクトリ固有の規則に最適。

両方のファイルを同時に使用できます。GitLab Duo Chatは、利用可能なすべてのルールファイルから指示を適用します。

GitLab Duoをカスタマイズする方法について詳細をご覧ください。

モデルを選択する

  • 提供形態: GitLab.com、GitLab Self-Managed

GitLab UI、VS Code、またはJetBrains IDEでChatを使用する場合、会話に使用するモデルを選択できます。

チャット履歴から以前のチャットを開いてその会話を続けると、Chatは以前に選択したモデルを使用します。

既存の会話中に新しいモデルを選択すると、Chatは新しい会話を作成します。

前提条件:

  • トップレベルグループのオーナーがGitLab Duo Agent Platformのモデルを選択していないこと。グループに対してモデルが選択されている場合、Chatのモデルを変更することはできません。
  • トップレベルグループでChatを使用していること。組織内でChatにアクセスしている場合、モデルを変更することはできません。
  • 管理者がインスタンスのモデルを選択していないこと。インスタンスに対してモデルが選択されている場合、Chatのモデルを変更することはできません。
  • インスタンスがGitLab AIゲートウェイに接続されていること。

モデルを選択するには:

  • GitLab UIの場合:
    1. Chatテキストボックスの下で、エージェント切替がオンになっていることを確認します。
    2. ドロップダウンリストからモデルを選択します。
  • IDEの場合:
    1. サイドバーで、GitLab Duo Agent Platform duo-agentic-chat )を選択します。
    2. Chatタブを選択します。
    3. ドロップダウンリストからモデルを選択します。

エージェントを選択する

GitLab UI、VS Code、またはJetBrains IDEのプロジェクトでChatを使用する場合、Chatで使用する特定のエージェントを選択できます。

前提条件:

エージェントを選択するには:

  1. GitLab UIまたはIDEで、GitLab Duo Chatの新しい会話を開きます。
  2. GitLab UIのChatテキストボックスの下で、エージェント切替がオンになっていることを確認します。
  3. ドロップダウンリストで、エージェントを選択します。エージェントを設定していない場合、ドロップダウンリストはなく、ChatはデフォルトのGitLab Duoエージェントを使用します。
  4. 質問を入力し、Enterキーを押すか、送信を選択します。

エージェントとの会話を作成した後:

  • 会話では選択したエージェントが記憶されます。その会話に別のエージェントを選択することはできません。
  • チャット履歴を使用して同じ会話に戻ると、同じエージェントが使用されます。
  • 会話に戻り、関連付けられているエージェントが利用できなくなっている場合、その会話を続行することはできません。

プロンプトキャッシュ

プロンプトキャッシュはデフォルトで有効になっており、選択されたAgentic ChatモデルがAnthropicから直接提供されるモデル、またはVertex経由で提供されるAnthropicモデルである場合にのみ機能します。

プロンプトキャッシュが有効な場合、チャットプロンプトデータはモデルベンダーによって一時的にメモリに保存されます。

プロンプトキャッシュにより、キャッシュされたプロンプトと入力データの再処理を回避できるため、レイテンシーが大幅に改善されます。

次の場所で、プロンプトキャッシュをオフにできます:

  • GitLab.com: トップレベルグループ。
  • GitLab Self-Managed: インスタンス。

この設定は、GitLab Duo Agent Platformのすべての機能に適用されます。

ツールの承認

Agentic Chatがユーザーに代わってツールを使用するには、ユーザーの承認が必要です。デフォルトでは、ツールを呼び出すたびに承認が必要です。

ツールを信頼しており、ワークフローを効率化したい場合は、セッション全体に対して一度だけ承認することもできます。

セッション承認はChatにのみ適用され、フローには適用されません。

ツールの承認を管理する

オーナーと管理者は、ユーザーがセッションに対してツールを承認できるかどうかを制御できます。設定は、インスタンスからグループ、プロジェクトへとカスケードされます。

グループまたはインスタンスに対して、次のいずれかのオプションを設定します:

  • デフォルトでオン: ユーザーはセッションに対してツールを一度だけ承認できます。グループおよびサブグループでは、この設定をオフにできます。
  • デフォルトでオフ: (デフォルト)ユーザーはツールを呼び出すたびに承認する必要があります。グループおよびサブグループでは、この設定をオンにできます。
  • 常にオフ: ユーザーはセッションに対してツールを承認できません。グループおよびサブグループでは、この設定をオーバーライドできません。

デフォルト設定を管理する

インスタンスまたはトップレベルグループのデフォルトのツール承認設定を構成します。

前提条件:

  • トップレベルグループのオーナーロール。

デフォルトのツール承認設定を構成するには:

  1. 上部のバーで、検索または移動先を選択して、グループを見つけます。
  2. 設定 > GitLab Duoを選択します。
  3. セッションに対するツールの承認ドロップダウンリストから、希望するオプションを選択します。

前提条件:

  • 管理者アクセス権。

デフォルトのツール承認設定を構成するには:

  1. 右上隅で、管理者を選択します。
  2. GitLab Duoを選択します。
  3. セッションに対するツールの承認ドロップダウンリストから、希望するオプションを選択します。

前提条件:

  • 管理者アクセス権。

デフォルトのツール承認設定を構成するには:

  1. 右上隅で、管理者を選択します。
  2. GitLab Duoを選択します。
  3. セッションに対するツールの承認ドロップダウンリストから、希望するオプションを選択します。

グループまたはプロジェクトの設定を管理する

特定のグループまたはプロジェクトのツール承認設定を構成します。

前提条件:

  • グループのオーナーロール、またはプロジェクトのメンテナーロール。

ツール承認設定を構成するには:

  1. トップバーで、検索または移動先を選択し、グループまたはプロジェクトを見つけます。
  2. 設定 > GitLab Duoを選択します。
  3. グループの場合、セッションに対するツールの承認ドロップダウンリストから、希望するオプションを選択します。
  4. プロジェクトの場合、セッションに対するツールの承認を許可チェックボックスをオンまたはオフにします。

ローカル環境でツールを承認する

前提条件:

  • グループまたはインスタンスでツールの承認が有効になっている必要があります。
  • ローカル環境でGitLab Duo Chatについて、次のいずれかをインストールして設定している必要があります:

現在のセッションでツールを承認または拒否するには:

  1. ツールの承認プロンプトが表示されたら、承認ボタンの横にあるドロップダウンを選択します。
  2. 次のいずれかのオプションを選択します:
    • 承認: Chatはこれらの引数でツールを一度だけ使用できます。
    • セッションを承認する: Chatは、セッションの残りの期間、これらの引数でツールを使用できます。異なる引数には追加の承認が必要です。
    • Approve all uses of this tool for session: Chatは、引数が承認されたパターンと一致する場合、セッションの残りの期間、このツールを使用できます。

      ツールの引数にShellメタ文字(;&&|$、その他)が含まれている場合、パターンベースの承認は利用できません。代わりにセッションを承認するを使用してください。

    • 拒否: Chatはこのツールを使用できません。

新しい会話を開始すると、すべての承認がリセットされます。

Chat機能の比較

機能GitLab Duo Non-Agentic ChatGitLab Duo Agentic Chat
一般的なプログラミングの質問をするはいはい
エディタで開いているファイルに関する回答を得るはいはい。ただし、質問内でファイルのパスを指定する必要があります。
指定されたファイルに関するコンテキストを提供するはい。/includeを使用して会話にファイルを追加します。1はい。ただし、質問内でファイルのパスを指定する必要があります。
プロジェクトコンテンツを自律的に検索するいいえはい
ファイルを自律的に作成および変更するいいえはい。ファイルを変更するように依頼する必要があります。ただし、手動で行ったまだコミットしていない変更は上書きされる可能性があります。
IDを指定せずにイシューとMRを取得するいいえはい。他の条件で検索します。たとえば、MR、イシューのタイトル、担当者などです。
複数のソースからの情報を統合するいいえはい
パイプラインログを分析するはい。GitLab Duo Enterpriseアドオンが必要です。はい
会話を再開するはい。/newまたは/resetを使用します。はい。/newを使用するか、UIの場合は/resetを使用します。
会話を削除するはい、チャット履歴から削除できます。はい、チャット履歴から削除できます
イシューとMRを作成するいいえはい
Git読み取り専用コマンドを使用するいいえはい
Git書き込みコマンドを使用するいいえはい、UIのみ
Shellコマンドを実行するいいえはい、IDEのみ
MCPツールを実行するいいえはい、IDEのみ
セッションに対してツールを承認するいいえはい、IDEのみ

補足説明:

  1. Web IDEでGitLab Duo Non-Agentic Chatを使用している場合は利用できません。

トラブルシューティング

GitLab Duo Chatの使用中に、問題が発生する可能性があります。

これらの問題を解決する方法については、トラブルシューティングを参照してください。

フィードバック

皆様からのフィードバックは、この機能の改善に役立ちます。イシュー542198でご意見・ご感想を共有してください。