コード関連のスラッシュコマンド

/explain、/refactor、/tests、/fix を含む対話型 AI コマンド

概要

コード関連のスラッシュコマンドは、よくある開発タスクに対する対話型 AI 支援を提供します。これらのコマンドは GitLab Duo Chat と統合されており、開発者がコードを理解・改善・テストするのを助けます。

利用可能なコマンド

  • /explain - 選択したコードについて詳細な解説を提供し、複雑なロジックやアルゴリズム、見慣れないコードパターンの理解を助けます。ドキュメント
  • /refactor - 選択したコードに対して、コード品質、可読性、保守性に焦点を当てた改善やリファクタリングの機会を提案します。ドキュメント
  • /tests - 選択したコードに対するユニットテストを生成し、開発者がテストカバレッジを向上させ、コードの信頼性を確保するのを助けます。ドキュメント
  • /fix - 選択したコードに潜むバグや問題を解析し、修正案や改善案を提示します。ドキュメント

利用方法

これらのコマンドは GitLab 拡張機能経由の IDE 内、または直接 GitLab Duo Chat で使用できます。解析したいコードを選択し、利用可能なコマンドのいずれかを使うことで AI による支援を受けられます。

技術的な実装

ユーザーは事前定義されたチャットコマンドのいずれかを使って、選択したコードに対する変更を提案できます。

これらのコマンドは Duo Chat 内で利用でき、応答は Duo Chat ウィンドウに表示されます。

sequenceDiagram
    participant USR as User
    participant GLR as GitLab Rails
    participant AIGW as AI Gateway
    participant LLM as Large Language Model

    Note over USR,LLM: GraphQL API
    USR->>GLR: opens Duo Chat and sends `/refactor` messages with selected code
    GLR->>USR: accepts the request and enques it
    Note over USR,LLM: Asynchronous job
    GLR->>AIGW: builds prompt and sends AI request
    AIGW->>LLM: sends AI request
    LLM->>AIGW: receives response
    AIGW->>GLR: receives response
    GLR->>USR: sends websocket message with response which is displayed in chat

評価

一部のチャットコマンドには評価用のデータセットがあります。以下から参照できます。

ドキュメント

これらのコマンドの利用に関する詳細は以下を参照してください。