GitLab Duo Chat(エージェント)
- プラン: Premium、Ultimate
- アドオン: GitLab Duo Core、Pro、またはEnterprise
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicatedこの機能はGitLab Creditsを使用します。
この機能の利用可否は、機能フラグによって制御されます。詳細については、履歴を参照してください。
GitLab Duo Chat(エージェント)は、GitLab Duo Chat(クラシック)の拡張バージョンです。この新しいChatは、複雑な質問に対しより包括的に回答できるよう、ユーザーに代わって自律的にアクションを実行できます。
クラシックモードのChatが単一のコンテキストに基づいて質問に回答するのに対し、エージェントモードのChatは、GitLabプロジェクト全体の複数のソースから情報を検索、取得、統合することで、より徹底的で関連性の高い回答を提供します。
GitLab Duo Chat (エージェント型)でできること:
- プロジェクトを検索して、キーワードに基づく検索(セマンティック検索ではありません)を使用して、関連するイシュー、マージリクエスト、その他のアーティファクトを見つけます。
- ファイルパスを手動で指定せずに、ローカルプロジェクト内のファイルにアクセスします。
- 複数の場所にあるファイルを作成および編集します。
- イシュー、マージリクエスト、CI/CDパイプラインなどのリソースを取得します。
- 複数のソースを分析して、完全な回答を提供します。Model Context Protocolを使用して、外部データソースおよびツールに接続します。
- カスタマイズされたルールを使用して、カスタマイズされた応答を提供します。
- GitLab UIでチャットを使用すると、コミットを作成できます。
概要については、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を使用するには:
- 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
- GitLab Duoのサイドバーで、新しいGitLab Duo Chat( )または現在のGitLab Duo Chat( )を選択します。画面右側のGitLab Duoサイドバーに、Chatの会話が表示されます。
- チャットテキストボックスの下で、エージェント型切替がオンになっていることを確認します。
- チャットテキストボックスに質問を入力し、Enterキーを押すか、送信を選択します。
- チャットにコンテキストを追加できます。
- インタラクティブなAIチャットが回答を生成するまで、数秒かかる場合があります。
- オプション。次のことができます:
- フォローアップの質問をします。
- 別の会話を開始します。
Webページをリロードしたり別のWebページに移動したりしても、Chatは最新の会話を記憶し、その会話はChatドロワーでアクティブなままです。
VS CodeでGitLab Duo Chatを使用する
前提条件:
- バージョン6.15.1以降のVS Code用GitLab Workflow拡張機能をインストールして設定します。
- その他の前提条件を満たしていることを確認してください。
GitLab Duo Chatをオンにする:
- VS Codeで、Settings > Settingsに移動します。
agent platformを検索します。- GitLab > GitLab Duo Agent Platform: Enabledで、Enable GitLab Duo Agent Platformチェックボックスを選択します。
その後、GitLab Duo Chatを使用するには:
- 左側のサイドバーで、GitLab Duo Agent Platform( )を選択します。
- Chatタブを選択します。
- プロンプトが表示されたら、Refresh pageを選択します。
- メッセージボックスに質問を入力し、Enterキーを押すか、送信を選択します。
JetBrains IDEでGitLab Duo Chatを使用する
前提条件:
- バージョン3.11.1以降のJetBrains用GitLabプラグインをインストールして設定します。
- その他の前提条件を満たしていることを確認してください。
GitLab Duo Chatをオンにする:
- JetBrains IDEで、Settings > Tools > GitLab Duoに移動します。
- GitLab Duo Agent Platformで、Enable GitLab Duo Agent Platformを有効にするチェックボックスをオンにします。
- プロンプトが表示されたら、IDEを再起動します。
その後、GitLab Duo Chatを使用するには:
- 左側のサイドバーで、GitLab Duo Agent Platform( )を選択します。
- Chatタブを選択します。
- メッセージボックスに質問を入力し、Enterキーを押すか、送信を選択します。
Visual StudioでGitLab Duo Chatを使用する
前提条件:
- バージョン0.60.0以降のVisual Studio用GitLab拡張機能をインストールして設定します。
- その他の前提条件を満たしていることを確認してください。
GitLab Duo Chatをオンにする:
- Visual Studioで、Tools > Options > GitLabに移動します。
- GitLabで、Generalを選択します。
- Enable Agentic Duo Chat Duoチャットを有効にするで、trueを選択し、OKを選択します。
その後、GitLab Duo Chatを使用するには:
- Extensions > GitLab > Open Agentic Chatを選択します。
- メッセージボックスに質問を入力し、Enterキーを押します。
チャット履歴を表示する
チャット履歴を表示するには:
GitLab UIのGitLab Duoサイドバーで、GitLab Duo Chat履歴( )を選択します。
IDEのメッセージボックスの右上隅で、Chat history( )を選択します。
GitLab UIでは、チャット履歴内のすべての会話が表示されます。
IDEでは、最新の20件の会話が表示されます。イシュー1308では、この仕様の変更が提案されています。
複数の会話を行う
GitLab Duo Chatと無制限の数の同時会話を行うことができます。
会話は、GitLab UIのGitLab Duo ChatとIDE間で同期されます。
GitLab UIまたはIDEでGitLab Duo Chatを開きます。
質問を入力し、Enterキーを押すか、送信を選択します。
新しいチャットの会話を作成します:
GitLab UIでは、次のいずれかを実行できます:
- GitLab Duoサイドバーで、新しいGitLab Duoチャット( )を選択します。
- メッセージボックスに
/newと入力し、Enterキーを押すか、送信を選択します。
新しいチャットの会話が前の会話を置き換えます。
チャットテキストボックスの下で、エージェント型切替がオンになっていることを確認します。
IDEのメッセージボックスの右上隅で、New chat( )を選択します。
質問を入力し、Enterキーを押すか、送信を選択します。
すべての会話を表示するには、チャット履歴を確認します。
会話を切り替えるには、チャット履歴で適切な会話を選択します。
IDEのみ: チャット履歴内の特定の会話を検索するには、Search chatsテキストボックスに検索語句を入力します。
LLMコンテキストウィンドウの制限により、会話はそれぞれ200,000トークン(約800,000文字)に切り詰められます。
会話を削除する
- GitLab UIまたはIDEで、チャット履歴を選択します。
- 履歴で、Delete this chat( )を選択します。
個々の会話は、30日間の非アクティブ状態後に有効期限が切れ、自動的に削除されます。
IDEでGitLab Duo Chatをカスタマイズする
コーディングスタイル、チームのプラクティス、プロジェクト要件を反映した指示を提供することで、IDEでの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でチャットを使用する場合、会話に使用するモデルを選択できます。
チャット履歴から以前のチャットを開いてその会話を続けると、チャットは以前に選択したモデルを使用します。
既存の会話中に新しいモデルを選択すると、チャットは新しい会話を作成します。
前提条件:
- トップレベルグループのオーナーがGitLab Duo Agent Platformのモデルを選択していません。グループのモデルが選択されている場合、チャットのモデルを変更できません。
- トップレベルグループでチャットを使用している必要があります。組織内でチャットにアクセスする場合、モデルを変更することはできません。
- 管理者がインスタンスのモデルを選択していません。インスタンスのモデルが選択されている場合、チャットのモデルを変更することはできません。
- インスタンスがAIゲートウェイに接続されている必要があります。
モデルを選択するには:
GitLab UIの場合:
- チャットテキストボックスの下で、エージェント型切替がオンになっていることを確認します。
- ドロップダウンリストからモデルを選択します。
IDEの場合:
- 左側のサイドバーで、GitLab Duo Agent Platform( )を選択します。
- Chatタブを選択します。
- ドロップダウンリストからモデルを選択します。
エージェントを選択する
GitLab UI、VS Code、またはJetBrains IDEのプロジェクトでチャットを使用する場合、チャットで使用する特定のエージェントを選択できます。
前提条件:
- プロジェクトでは、AIカタログのエージェントを有効にする必要があります。
- エージェントが有効になっているプロジェクトのメンバーである必要があります。
- VS Codeの場合は、VS Code用GitLab Workflow拡張機能バージョン6.49.12以降をインストールして設定します。
- JetBrains IDEの場合は、JetBrainsのGitLabプラグインをインストールして設定バージョン3.22.0以降。
エージェントを選択するには:
- GitLab UIまたはIDEで、GitLab Duo Chatの新しい会話を開きます。
- GitLab UIのチャットテキストボックスの下で、エージェント型切替がオンになっていることを確認します。
- ドロップダウンリストで、エージェントを選択します。エージェントを設定していない場合、ドロップダウンリストはなく、チャットはデフォルトのGitLab Duoエージェントを使用します。
- 質問を入力し、Enterキーを押すか、送信を選択します。
エージェントとの会話を作成した後:
- 会話は選択したエージェントを記憶します。その会話に別のエージェントを選択することはできません。
- チャット履歴を使用して同じ会話に戻ると、同じエージェントが使用されます。
- 会話に戻り、関連付けられているエージェントが利用できなくなった場合、その会話を続行することはできません。
プロンプトのキャッシュ
GitLab Duo Chat (エージェント型)のレイテンシーを改善するために、プロンプトキャッシュがデフォルトで有効になっています。プロンプトキャッシュが有効になっている場合、チャットプロンプトデータは、モデルベンダー(AnthropicまたはVertexAI)によって一時的にメモリに保存されます。プロンプトのキャッシュは、キャッシュされたプロンプトとインプットデータの再処理を回避することで、レイテンシーを大幅に改善します。
プロンプトキャッシュをオフにする
GitLab Duo設定で、トップレベルグループのプロンプトキャッシュをオフにすることができます。これにより、コード提案のプロンプトキャッシュもオフになります。
Chat機能の比較
| 機能 | GitLab Duo Chat(クラシック) | GitLab Duo Chat(エージェント) |
|---|---|---|
| 一般的なプログラミングの質問をする | はい | はい |
| エディタで開いているファイルに関する回答を得る | はい | はい。ただし、質問内でファイルのパスを指定する必要があります。 |
| 指定されたファイルに関するコンテキストを提供する | はい。/includeを使用して会話にファイルを追加します。 | はい。ただし、質問内でファイルのパスを指定する必要があります。 |
| プロジェクトコンテンツを自律的に検索する | いいえ | はい |
| ファイルを自律的に作成および変更する | いいえ | はい。ファイルを変更するように依頼する必要があります。ただし、手動で行ったまだコミットしていない変更は上書きされる可能性があります。 |
| IDを指定せずにイシューとMRを取得する | いいえ | はい。他の条件で検索します。たとえば、MR、イシューのタイトル、担当者などです。 |
| 複数のソースからの情報を統合する | いいえ | はい |
| パイプラインログを分析する | はい。GitLab Duo Enterpriseアドオンが必要です。 | はい |
| 会話を再開する | はい。/newまたは/resetを使用します。 | はい。/newを使用するか、UIの場合は/resetを使用します。 |
| 会話を削除する | はい、チャット履歴から削除できます。 | はい、チャット履歴から削除できます |
| イシューとMRを作成する | いいえ | はい |
| Git読み取り専用コマンドを使用する | いいえ | はい |
| Git書き込みコマンドを使用する | いいえ | はい、UIのみ |
| Shellコマンドを実行する | いいえ | はい、IDEのみ |
| MCPツールを実行する | いいえ | はい、IDEのみ |
トラブルシューティング
GitLab Duo Chatの操作中に、問題が発生する可能性があります。
これらの問題を解決する方法については、トラブルシューティングを参照してください。
フィードバック
お客様からのフィードバックは、この機能の改善に役立ちます。イシュー542198で、ご意見、ご提案、または問題を共有してください。