ユーザーの皆さまの常に変化し続けるニーズを満たすため、GitLabはAIアシスタントであるGitLab Duo Chatの継続的な改善に取り組んでいます。ワークフローを効率化し、生産性を向上させる最近の機能強化をいくつかご紹介します。
GitLab 17バーチャルリリースイベントではAI主導のソフトウェア開発の未来を探りました。今すぐこのイベントの動画をご視聴ください!
脆弱性の説明:新たなインテグレーション
チャット機能は常に進化し続けていますが、今回GitLab Duoの脆弱性の説明という重要な機能が追加されました。これはGitLab DuoプラットフォームでAIグループ外のチームによってチャットに統合された最初の機能であり、まさにGitLabのコラボレーション精神と部門間の協力関係を象徴する取り組みです。
今回のインテグレーションの主な特長
- 迅速な実行: 新しい技術の検証から実装までをわずか3週間で進め、チームはその敏捷性と実行力を実証しました。
- チーム間のコラボレーション: 今回のインテグレーションはAIグループ外のチームが主導しており、今後さらに多様な機能の追加が期待されています。
- セキュリティインサイトの強化: まもなく、ユーザーはチャットを活用してプロジェクトで検出された脆弱性をより深く理解できるようになります。
今回のインテグレーションは、特にセキュリティの分野において、チャットをデベロッパーにとってさらに強力で汎用性の高いツールにするための重要な一歩です。
コンテキスト認識の強化
チャットのコンテキスト認識を改善し、さまざまなシナリオでより高度な対応ができるようになりました。
いつでも詳細な情報を提供
GitLab Duo Chatでは常にアクセスできるのは次のとおりです:
- GitLabドキュメント
- 一般的なプログラミングとコーディングに関する知識
チャットはGitLabインスタンスやコードベース全体に無制限にアクセスするものではないことをご了承ください。クエリで提供された特定の情報、GitLab UI、その他IDEの現在表示されている内容に直接関連する情報のみを処理します。
GitLabは常にユーザーのプライバシーとデータセキュリティを第一に考えながら、チャットのコンテキスト認識を拡大してより多くの種類のコンテンツに対応できるよう継続的に取り組んでいます。今回の段階的な拡張は、適切なデータアクセスの境界線を維持しながら、チャットが開発ワークフローをサポートするさらに強力なアシスタントとして機能することを目的としたものです。
コンテキストに関する知識の拡大
GitLab Duo Chatでは、GitLab UIとIDEの両方で作業中のコンテキストをより深く理解できるようになりました。チャットが認識する内容は次のとおりです。
GitLab UI内
- エピック - チャットは「this epic(このエピック)」という指示やエピックのURLの内容を理解できます。
- イシュー - エピックと同様、チャットは「this issue(このイシュー)」という指示やイシューのURLの内容を理解できます。
- コードファイル - 1つのファイルを表示すると、チャットは「このコード」または「このファイル」に関するリクエストを解釈できます。
IDE内
- 選択されたコード - チャットは「this code (このコード)」または「this file (このファイル)」について尋ねられた場合に、選択されたコードを分析します。
- エピックとイシュー - チャットはURLを入力するとコンテキストを理解できます。
さらにIDEで/explain
、/refactor
、/tests
などのスラッシュ(/)コマンドを使用すると、チャットは選択されたコードにアクセスできます。
チャット履歴とキャッシュ
GitLab Duo Chatでは、チャット履歴の最新50件のメッセージが保持されます。この履歴は最後の使用から3日後に失効します。ブラウザまたはIDEを閉じてもこの期間内のチャット履歴が完全に削除されるわけではありませんが、現時点でチャットデータの長期保存はサポートされていません。
迅速なキャンセル:オンデマンドで回答を停止
強く待ち望まれていた機能であるプロンプトキャンセルが利用可能になりました。ユーザーはGitLab.comのチャットで進行中のプロンプトをキャンセルできるようになり、やり取りをより詳細にコントロールできます。
- 現在利用可能な利用方式:この機能はすでにGitLab.comで一般提供されています。
- 近日リリースされる利用方式:この機能は次回のリリースでSelf-Managedインスタンスで利用できるようになります。GitLab Dedicatedユーザーは毎月のアップグレードで機能が追加されます。
- 開発中の機能:エディター拡張機能のインテグレーション - 関連イシューはこちら。
今回の機能強化により、プロンプトの送信が早すぎた場合や、待機中に考えが変わった場合などに応答を停止することができるようになりました。小さな変化のように思われるかもしれませんが、時間を節約し、イライラを軽減する優れた機能です。
GitLab Duo Chatでプロンプトをキャンセルするには次の手順に従ってください。
- GitLab.comでGitLab Duo Chatを開きます。
- プロンプトや
What is this issue about?
などの質問を入力します。
- プロンプトを送信した後に応答をキャンセルしたい場合は、チャットが応答を生成している間に新しく表示されるようになった「キャンセル」ボタンを押してください。
4 .「キャンセル」ボタンをクリックすると応答の生成がすぐに停止されます。
アーキテクチャの改善
チームはGitLab Duo Chatをより強化し、効率化するためのアーキテクチャの改善に取り組んできました。
- 言語サーバープロトコルへの移行(LSP):この取り組みにより、さまざまな開発環境とのチャットのインテグレーションが改善されます。
- GitLab Language Serverは、IDE拡張機能がGitLabの機能を構築するための共通インターフェイスを提供する実験的なTypeScriptプロジェクトです。現在はGitLab Duoコード提案をサポートしており、今後はGitLab Duo Chatのサポートを開始する予定です。
この変更は主に基礎となるアーキテクチャに影響を与えるものですが、次のような改善を体験できます。
- さまざまなIDEやエディターでのチャット使用で応答性とパフォーマンスが向上。
- さまざまな開発環境でのチャット機能の一貫性の高い動作。
- 今後の新機能や改善点追加能力の強化。
次の動画では、GitLab Language Serverのコード提案強化について詳しく紹介しています。
今後の追加機能
GitLab Duo Chatは継続的に改善されています。こちらにいくつかの注目ポイントをまとめました。
- 現在AI機能をClaude 3.5 Sonnetに移行中です。 このアップグレードにより、チャットやその他のAI搭載機能のパフォーマンスと性能が向上します。
- 現在、カスタムのセルフホスティングモデルでチャットを使用できるよう積極的に取り組んでいます。 これにより組織は独自のAIモデルをチャットで使用できるようになり、AIのナレッジベースをより詳細に制御できるほか、ドメイン固有のタスクのパフォーマンス向上が期待できます。
- 現在、WebUIを含むすべてのクライアント間のメッセージの同期を完了しています。これによりシームレスなコミュニケーションが実現されるほかすべてのクライアントが常に同期され、コラボレーションエクスペリエンスが向上します。
- 「コメントの要約」機能がチャットに移行します。 1つのイシュー上の複数のコメントをチャット内で直接まとめることで、ディスカッションの要点や重要事項をすばやく把握し、コラボレーションを向上させることができます。
ぜひ機能強化に関するフィードバックをお寄せください。 GitLab Duo Chatは今後も進化していきますので、最新情報をお見逃しなく。
GitLab Duo開発の現場からシリーズではGitLab Duoの開発方法の詳細をご覧いただけます。
監修:小松原 つかさ @tkomatsubara
(GitLab合同会社 ソリューションアーキテクト本部 シニアパートナーソリューションアーキテクト)