GitLab DuoのCode Suggestionsを使ってみよう #GitLab #GitLabDuo #AI #プログラミング
この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。
GitLab Duoとは
GitLab Duoとは、GitLabから発表された GitLab DevSecOpsプラットフォームの強力なAI機能のセットです。コーディング、開発管理、コラボレーション、セキュリティ対応などのアプリケーション開発のプロセス・ワークフローにおける、コードの提案、マージリクエストの要約、脆弱性の説明、イシューコメントの要約など開発者をリアルタイムに支援する機能が提供されています。
GitLab Duoの名前は「You + GitLab AI = the AI dynamic duo.」という考え方に由来し、単なるAIペアプログラマを超えて、ソフトウェア開発環境全体のチームがより効率的になるための機能を統合した環境を提供します。更に、計画の改善、セキュリティリスクの解決、CI/CDパイプラインの健全性、および分析チャート作成においても強力な機能を提供しています。
GitLab Duoには、以下のようなアプリケーション開発を加速する様々な機能が含まれています。
- Code Suggestions(コードの提案): 開発者が新しいコードを作成し、既存のコードを更新する際に役立ち、認知負荷を軽減し、効率を向上させ、アプリケーションに独自の価値を追加するための時間を増やします。
- Explain this Code(コードの説明): マージリクエストやリポジトリの表示内のコードをAIで調査し、自然言語で説明を提供し、すべてのチームがマージされるコードを理解できるようにします。
- Explain this Vulnerability(脆弱性の説明): 開発者がより安全なコードを書くために、脆弱性の自然言語による説明と解決策の手順を提供します。
- Generate detailed descriptions of epics, issues, and tasks(エピック、イシュー、タスクの詳細な説明の生成): すべてのチームが調整され、共通の目標をより速く達成できるようにします。
- Summarize Issue Comments(イシューコメントの要約): エピック、イシュー、タスクにおいて、すべての関係者が迅速に把握できるように支援します。
- Chat(チャット): ユーザーが設定に関する質問をし、自然言語の説明やGitLab Docsへのリンクを受け取ることができます。
この記事では GitLab Duoの目玉の機能である Code Suggestions についてセットアップ方法と基本的な使い方を紹介します。
Code Suggestionsとは
GitLab Duoに含まれているCode Suggestionsは、AIを利用したコーディング補助機能(コード補完機能)です。
VS CodeなどのIDEでコーディングを行う際に、関数・メソッド名や周辺のコード等を読み取り、その後のコードをAIで予測し、提案をしてくれます。
行単位だけでなく、関数全体などの提案もしてくれます。
2023/07/08現在はβ版ですが、全てのユーザーが無料で使うことができます。
Code Suggestions セットアップ方法
基本的には、公式ドキュメントとその中の動画に沿って進めていけば使えるようになります。
ただし、β版ということもあり現時点(2023/7/8時点)では、記載されている内容・動画の通りでは動作しない箇所もあるため、本記事ではその補足も含めてセットアップ手順を説明します。
なお、本機能は self-managed でも gitlab.com でも利用できますが、今回は gitlab.com で使うことを想定した手順を記載します。
self-managed で使う場合は追加の設定が必要なので、公式ドキュメントを参考にしてください。
また、いくつかのIDEから使うことができますが、今回はVS Codeから使う想定で説明します。
具体的なセットアップの手順は以下の通りです。
- gitlab.com 上でグループを作成し、グループ内にプロジェクトを作成。
- 作成したグループの[設定][一般]の中にある[権限とグループ機能]の[コードの提案]をONにして[変更の保存]を押す。
- 左上にある自分のアバターをクリックして[設定]を開く。
- VS CodeにGitLab Workflowをインストールする。
- VS Codeの設定画面を開き、[Gitlab › Ai Assisted Code Suggestions]をONにする。
- VS CodeでCtrl+Shift+Pを押してコマンドパレットを開き、[GitLab: Add Account to VS Code]を実行する。
- https://gitlab.com が入力されているので、そのままEnterを押す。
- 先ほど取得しておいたアクセストークンを入力してEnterを押す。
注意点
以下のような公式手順との差分がありますので、ご注意ください。
- 上記の手順内にも記載していますが、アクセストークンの作成時に、[api]もONにする必要があります。
- 公式手順では、グループで[コードの提案]をONにしておけばユーザーの設定が上書きされるとの記載がありますが、実際にはグループ・ユーザーの両方でONにする必要があります。
利用方法
Code Suggestionsは非常に簡単に利用することができます。上記のセットアップを行った後であれば、いつも通りにコーディングをするだけで、関数・メソッド名や周辺のコード等を読み取り、その後のコードをAIで予測し、提案をしてくれます。
前提
- GitLab上のプロジェクトに対してのみ機能します。
ローカルで新規に作成しただけの、GitLabと関係ないプロジェクトなどでは動作しません。
利用方法(例)
- 普段通りにプログラムを書いていくだけで、Code Suggestionsによりその後のコード提案してくれます。(灰色文字部分)
- 提案を受け入れる場合はTabキーを押すと、コードに取り込まれます。
同じ状況でも提案される内容は異なることがあります。
「スペースを入れて削除する」などで再提案させると、別の提案が得られるかもしれません。
10種類以上の主要なプログラミング言語で、自動的に機能します。
2023/7/8時点、公式ドキュメント の情報によると以下の言語に対応しています。
- C#
- Go
- Google SQL
- Java
- JavaScript
- Kotlin
- PHP
- Python
- Ruby
- Rust
- Scala
- Swift
- TypeScript
まとめ
GitHub Copilot, AWS CodeWhispererなどAIによるアプリケーション開発の支援機能は日々進化しています。GitLab DuoのCode Suggestionsはまだβ版ですが、今後さらなる機能強化・より多くの対応がされると期待されます。AIによる開発の支援機能を積極的&日常的に活用することが今後の開発者にとって必要な能力になっていくでしょう。
また、本記事では紹介できていませんが、GitLab Duoにはマージリクエストの要約、脆弱性の説明、イシューコメントの要約など開発者をリアルタイムに支援する様々な機能が提供されています。このような機能を使った新しいアプリケーション開発を是非皆さんに体験してもらえれば幸いです!
We're Hiring!
今回紹介した GitLab Duo / Code Suggestionsもまだまだ進化・発展中で、これからのアプリケーション開発を大きく変えていくと思います。
このような新たな技術を積極的に取り入れ、弊社が目指すビジョン「IT技術によるイノベーションにより顧客とともに社会の進化を実現する」を一緒に進めていく開発メンバーを募集しております。
ご関心のある方は弊社のお問い合わせページより、是非お気軽にご連絡ください! 一緒に社会を変えたい開発者・エンジニアの皆様の応募を心よりお待ちしております!