GitLab Duo Agentic Chat
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
GitLab Duo Agentic Chatは、GitLab Duo Non-Agentic 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 Duo Agent Platformの前提条件を満たす必要があります。
- デフォルトのGitLab Duoネームスペースを設定します。
GitLab UIでChatを使用するには:
上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
GitLab Duoサイドバーで、新しいチャットを追加 ( ) または現在のGitLab Duo Chat ( ) を選択します。
新しいチャットを選択した場合は、ドロップダウンリストからエージェントを選択します。
画面右側のGitLab Duoサイドバーに、Chatの会話が表示されます。
チャットテキストボックスの下で、エージェント切替がオンになっていることを確認します。
チャットテキストボックスに質問を入力し、Enterキーを押すか、送信を選択します。
- チャットにコンテキストを追加できます。
- インタラクティブなAIチャットが回答を生成するまで、数秒かかる場合があります。
オプション。次のことが可能です。
- フォローアップの質問をします。
- 別の会話を開始します。
Webページをリロードしたり別のWebページに移動したりしても、Chatは最新の会話を記憶し、その会話はChatドロワーでアクティブなままです。
VS CodeでGitLab Duo Chatを使用する
前提条件:
- GitLab for VS Code拡張機能バージョン6.15.1以降をインストールして設定します。
- GitLab Duo Agent Platformの前提条件を満たす必要があります。
- デフォルトのGitLab Duoネームスペースを設定します。
GitLab Duo Chatをオンにする:
- VS Codeで、設定エディタを開きます:
- macOSでは、Command+,を押してください。
- WindowsまたはLinuxでは、Control+,を押してください。
- Extensions > GitLab > GitLab Duoを選択します。
- 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を使用する
前提条件:
- JetBrains IDEs用のGitLab Duoプラグインをインストールして設定します。バージョン3.11.1以降。
- GitLab Duo Agent Platformの前提条件を満たす必要があります。
- デフォルトのGitLab Duoネームスペースを設定します。
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を使用する
前提条件:
- Visual Studio用GitLab拡張機能バージョン0.60.0以降をインストールして設定します。
- GitLab Duo Agent Platformの前提条件を満たす必要があります。
- デフォルトのGitLab Duoネームスペースを設定します。
GitLab Duo Chatをオンにする:
- Visual Studioで、Tools > Options > GitLabに移動します。
- GitLabで、Generalを選択します。
- Enable Agentic Duo Chatで、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サイドバーで、新しいチャットを追加 ( ) を選択します。
- ドロップダウンリストからエージェントを選択します。
- 既存の会話と同じエージェントとの新しい会話を作成するには、メッセージボックスに
/newと入力し、Enterを押すか、送信を選択します。
新しいチャットの会話が、既存の会話に置き換わります。
- 特定のエージェントとの新しい会話を作成するには:
Chatテキストボックスの下で、エージェント切替がオンになっていることを確認します。
IDEのメッセージボックスの右上隅で、New chat( )を選択します。
質問を入力し、Enterキーを押すか、送信を選択します。
すべての会話を表示するには、chat historyを確認します。
会話を切り替えるには、チャット履歴で適切な会話を選択します。
チャットの履歴で特定の会話を検索するには:
- GitLab UI: スレッドを検索テキストボックスに、検索スレッドを入力します。
- IDE: チャットを検索テキストボックスに、検索チャットを入力します。
LLMコンテキストウィンドウの制限により、会話はそれぞれ200,000トークン(約800,000文字)に切り詰められます。
会話を削除する
- GitLab UIまたはIDEで、chat historyを選択します。
- 履歴で、Delete this chat( )を選択します。
個々の会話は、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の場合:
- チャットテキストボックスの下で、エージェント切替がオンになっていることを確認します。
- ドロップダウンリストからモデルを選択します。
- IDEの場合:
- サイドバーで、GitLab Duo Agent Platform ( ) を選択します。
- Chatタブを選択します。
- ドロップダウンリストからモデルを選択します。
エージェントを選択する
GitLab UI、VS Code、またはJetBrains IDEのプロジェクトでChatを使用する場合、Chatで使用する特定のエージェントを選択できます。
前提条件:
- プロジェクトでは、AIカタログのエージェントを有効にする必要があります。
- エージェントが有効になっているプロジェクトのメンバーである必要があります。
- VS Codeの場合、GitLab for VS Code拡張機能バージョン6.49.12以降をインストールして設定します。
- JetBrains IDEの場合、JetBrains IDEs用のGitLab Duoプラグインをインストールして設定します。バージョン3.22.0以降。
エージェントを選択するには:
- GitLab UIまたはIDEで、GitLab Duo Chatの新しい会話を開きます。
- GitLab UIのChatテキストボックスの下で、エージェント切替がオンになっていることを確認します。
- ドロップダウンリストで、エージェントを選択します。エージェントを設定していない場合、ドロップダウンリストはなく、ChatはデフォルトのGitLab Duoエージェントを使用します。
- 質問を入力し、Enterキーを押すか、送信を選択します。
エージェントとの会話を作成した後:
- 会話は選択したエージェントを記憶します。その会話に別のエージェントを選択することはできません。
- チャット履歴を使用して同じ会話に戻ると、同じエージェントが使用されます。
- 会話に戻り、関連付けられているエージェントが利用できなくなった場合、その会話を続行することはできません。
プロンプトキャッシュ
プロンプトキャッシュはデフォルトで有効になっており、選択されたAgentic ChatモデルがAnthropic社製であるか、Vertexを通じて提供されるAnthropicモデルである場合にのみ機能します。
プロンプトキャッシュが有効な場合、チャットプロンプトデータはモデルベンダーによって一時的にメモリに保存されます。
プロンプトキャッシュは、キャッシュされたプロンプトと入力データの再処理を回避することで、レイテンシーを大幅に改善します。
プロンプトキャッシュをオフにできます:
- GitLab.comの場合: トップレベルグループの場合。
- GitLab Self-Managed: インスタンスの場合。
この設定はすべてのGitLab Duo Agent Platform機能に適用されます。
ツールの承認
Agentic Chatがツールを代理で使用するには、承認が必要です。デフォルトでは、ツールの呼び出しごとに承認が必要です。
ツールを信頼し、ワークフローを効率化したい場合は、セッション全体で一度承認できます。
セッションの承認はChatのみに適用され、フローには適用されません。
ツールの承認を管理する
オーナーと管理者は、ユーザーがセッションのツールを承認できるかどうかを制御できます。設定はインスタンスからグループ、プロジェクトへとカスケードされます。
グループまたはインスタンスに以下のいずれかのオプションを設定します:
- デフォルトで有効にする: ユーザーはセッションのツールを一度承認できます。グループおよびサブグループはこれを無効にできます。
- デフォルトで無効にする: (デフォルト) ユーザーはツールの呼び出しごとに承認する必要があります。グループおよびサブグループはこれを有効にできます。
- 常にオフ: ユーザーはセッションのツールを承認できません。グループおよびサブグループはこの設定をオーバーライドできません。
デフォルト設定を管理する
インスタンスまたはトップレベルグループのデフォルトのツール承認設定を構成します。
前提条件:
- トップレベルグループのオーナーロール。
デフォルトのツール承認設定を構成するには:
- 上部のバーで、検索または移動先を選択して、グループを見つけます。
- 設定 > GitLab Duoを選択します。
- Tool approval for sessionドロップダウンリストから、希望するオプションを選択します。
前提条件:
- 管理者アクセス権が必要です。
デフォルトのツール承認設定を構成するには:
- 右上隅で、管理者を選択します。
- GitLab Duoを選択します。
- Tool approval for sessionドロップダウンリストから、希望するオプションを選択します。
前提条件:
- 管理者アクセス権が必要です。
デフォルトのツール承認設定を構成するには:
- 右上隅で、管理者を選択します。
- GitLab Duoを選択します。
- Tool approval for sessionドロップダウンリストから、希望するオプションを選択します。
グループまたはプロジェクトの設定を管理する
特定のグループまたはプロジェクトのツール承認設定を構成します。
前提条件:
- グループのオーナーロール、またはプロジェクトのメンテナーロール。
ツール承認設定を構成するには:
- トップバーで、検索または移動先を選択し、グループまたはプロジェクトを見つけます。
- 設定 > GitLab Duoを選択します。
- グループの場合、Tool approval for sessionドロップダウンリストから、希望するオプションを選択します。
- プロジェクトの場合、Allow tool approval for sessionチェックボックスを選択またはクリアします。
ローカル環境でツールを承認する
前提条件:
- ツールの承認は、グループまたはインスタンスで有効になっています。
- ローカル環境でGitLab Duo Chatを使用するには、以下のいずれかをインストールして構成します:
- GitLab for VS Code 6.72.0以降。
- GitLab Duoプラグインfor JetBrains IDEs 3.33.0以降。
- GitLab Duo CLI 8.80.0以降。
現在のセッションでツールを承認するには:
- ツールの承認プロンプトが表示されたら、承認ボタンの横にあるドロップダウンを選択します。
- Approve for Sessionを選択します。
承認はChatセッションの残りの間持続し、新しい会話を開始するとリセットされます。
Chat機能の比較
| 機能 | GitLab Duo非エージェンティックチャット | GitLab 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のみ |
脚注:
- Web IDEでGitLab Duo非エージェント型Chatを使用している場合は利用できません。
トラブルシューティング
GitLab Duo Chatの使用中に、問題が発生する可能性があります。
これらの問題を解決する方法については、トラブルシューティングを参照してください。
フィードバック
皆様からのフィードバックは、この機能の改善に役立ちます。イシュー542198でご意見をお聞かせください。