2025.07.28
【GitLab×AI連載】第2回:AI×コーディング(Code Suggestions、GitLab Duo Chat)

皆さんこんにちは。
SB C&Sの佐藤です。
また本文中の内容については2025年7月現在の情報となりますので、最新情報についてはGitLab公式サイトやドキュメントを是非ご参照ください。
Code Suggestions / GitLab Duo Chatとは
Code Suggestions
Code Suggestionsは、開発者がコードを記述する際にリアルタイムでコードの補完や提案を行うAI機能です。シンプルに言えば、開発者の意図を理解し、次に書くべきコードを予測して提案してくれる「AIペアプログラマー」と考えることができます。Code Suggestionsの最も分かりやすい効果は、コーディング速度の向上です。コード予測や提案による単純なタイピング量の減少はもちろん、複雑なロジックの実装支援、ボイラープレートコードの自動生成、単純ミスの軽減といった効果も発揮します。
これは単なる時間短縮だけでなく、単純作業や繰り返し作業、コーディングに関わる基本的な内容の調査といった時間から開発者を開放し、創造的な問題解決に集中できる環境を生み出します。
Code Suggestionsは数多くのプログラミング言語に対応しています。具体的にはJava、Python、JavaScript、TypeScriptはもちろん、Go、Ruby、C++、C#など、企業で広く使われている言語をカバーしています。
利用可能環境としては開発者が普段使用しているさまざまな開発環境(※)(Eclipse、Visual Studio Code、GitLab Web IDE、Microsoft Visual Studio、JetBrains IDEs、Neovim)で利用できます。
そのためこれまで愛用してきたIDEを変更する必要もなく、チームがバラバラのIDEを使っていても同じAI体験を共有できるというのが魅力の1つです。
GitLab Duo Chat
GitLab Duo ChatはGitLabプラットフォームに統合されたAIアシスタント機能です。コードはもちろんのこと、IssuesやMerge Request、Pipelineといった、開発ライフサイクル全体を横断的に理解し、開発に関わる支援を行ってくれます。しかも活用可能範囲は多岐に渡り、質疑応答チャットとしての用途のみではなく、IDE上ではコードの説明、テストやドキュメント作成、コードレビューと言った、コーディングに関わる支援も行ってくれます。
呼び出し方法もIDE上で右クリック>Duo Chatで呼び出すことが可能です。また上記のような機能についても同様に呼び出しが可能です。コンテキストとして渡したい値についても、コードを選択状態にすることでChatに渡すことが可能です。
利用可能環境についてもGitLab UI(チャットとしての機能がメインとなります)、 GitLab Web IDE、VS Code、JetBrains IDEs、Eclipse、Visual Studio for Windowsと幅広く対応(※)しております。お使いのIDEがありましたら是非Code Suggestionsと合わせて利用してみてください!
またこの2機能についてはコンテキスト解像度の高さも魅力です。
以下の言語の場合、Code Suggestionsは「Repository X-Ray」を活用し、ただの行補完ではなく、開いているタブ・importファイル・ファイル名まで考慮してプロンプトを組み立てます。加えてクロスファイルの呼び出し関係まで把握し、コード生成精度を底上げします。
対象言語:C、C#、C++、Go、Java、JavaScript、Kotlin、Python、Ruby、Rust、PHP、TypeScript
利用環境としてはSaaS環境はもちろん、Self-Hosted環境でも利用可能です。
特にGitLabではLocal LLMの利用も可能なため(こちらについては連載後期に詳細を紹介させていただきます!)Self-Hosted環境と合わせれば、コードや設計書といった生成に関わる社内財産を外部に持ち出すことなく、安全にCode SuggestionsやGitLab Duo Chatを活用することが可能になります。
「生成AIを開発に活用したいけれど漏出リスクがネックになっている...」という方にとって、この構成はかなり魅力的ではないでしょうか。
しかもGitLab 18.0以降のPremium / UltimateユーザーであればGitLab Duoの基本機能であるCode SuggestionsとGitLab Duo Chatが標準搭載されているという嬉しいアップデートも発表されています!(しかも次回ご紹介するDuo Chatも共に標準搭載となります!!)

画像出典:https://about.gitlab.com/ja-jp/blog/gitlab-premium-with-duo/
(※)一部IDEに関してはプラグインでの使用となります
主な機能
Code Suggestions
Code Suggestionsでは以下の2つのモードでコーディングをサポートします。モード | 役割 | トリガー | 典型的なユースケース |
---|---|---|---|
Code Completion | 書きかけの行を即座に補完 | タイピング中に自動で発動 | ループ処理や定型呼び出し 等 |
Code Generation | コメントから関数・クラスを丸ごと生成 | キーワードを入力しEnterキー押下 | 新規サービス雛形や複雑アルゴリズムを短時間で作成 |
この2つのモードは常に併用され、開発者はTabで受け入れ、Escで却下、Alt/Option+[/]で候補スクロールといったキー操作で使用できます。
そのためコーディングの手を止めることなく、次々と補完/生成を実現することが可能です。

GitLab Duo Chat
GitLab Duo Chatでは利用対象ツールによって以下の機能を利用することが可能です。GitLab UI
GitLab UIでの利用では、自然言語によるチャットで以下のアイテムについて説明を受けることが可能です。説明対象の指定方法については、対象画面でのチャット、URL指定でのチャットが可能です。日本語で質問、回答を受けることも可能です。・コード/ファイル
・Epic
・Issues
・Merge Request
・Commit内容
・Pipeline Job
・Work items

IDE
各種IDEではプログラミングに関わる以下の機能を利用可能です。コードを選択状態にすることで対象コードを指定することが可能です。・コードの解説
・コードのリファクタリング
・コードの修正
・テストコードの生成
またIDEからの利用の場合、コンテキストに各種ファイルを追加することが可能です。対象と追加方法は以下の通りです。
プロジェクトファイル | /includeコマンド |
Epic、Issues、Work Items | URLで指定 |
---|
またGitLab Duo Agentic Chat機能も18.2よりBetaとして登場おります。対象IDEはGitLab UI、VS Code、JetBrains IDEとなっております。
Agentic Chatを活用することで以下のような機能を利用可能です。
- カスタムルールの作成 IDEでカスタムルールファイル(.gitlab/duo/chat-rules.md)を作成しルールを入力することで、すべてのChatで記述したルールが有効化されます。
- AgenticなChat Duo Chatに比較し、以下のような特徴を有しています。
ルールには「必ず実行する内容」や「プロジェクト固有のコーディングルール」等を記述することで、生成内容を制御することを可能にします。
・プロジェクト横断の検索
・ローカルプロジェクトへのアクセス
・プロジェクトのIssues、Merge Request、Pipeline logへの自動アクセス
・複数リソースを組み合わせた複雑な質問への解答 ※MCPによる外部データソースとツールアクセスも可能!
・カスタムルール:前述のカスタムルールに沿った回答生成を実施
・コミットの作成、実行:GitLab UIでの使用時、コミットの作成及びプッシュを自動で行います
※従来のDuo Chatとの比較についてはこちらの表もぜひご参照ください。
おすすめ活用方法
それでは実際にCode SuggestionsとDuo Chatを活用するシーンを4つご紹介します。- コード予測 クラスファイル名や関数名、コメントから「次に実装が予測されるコード」を生成します。
- コメント生成 コードの内容を参照し、クラスコメント、メソッドコメント、コード内コメント等、各種コードコメントを生成することが可能です。もちろん日本語での生成も可能です。
- コード解説 書かれてるコードの内容を解析し、どういった処理がされるコードであるかを解説することが可能です。 この機能を活用することで複雑なロジックを素早く理解することが可能になるのはもちろん、プロジェクト新規参入となる開発者にとって対象プロジェクトの理解を深めるのにも効果的です。また個人活用としても新し言語にチャレンジする場合に学習ハードルを下げてくれることが期待できます。
- テストコード生成 コードの内容を参照し、静的テスト(ユニットテスト/単体テスト)を生成することが可能です。パターン網羅的生成はAIの得意とするところの1つなので、テストコード生成はAIの力を十分に発揮できる機能です。
- CI/CD、GitOps活用 コード生成ではアプリケーション内のコードのみでなく、CI/CD、GitOpsに関連するコードも生成することが可能です。GitLabで例えるなら「.gitlab-ci.yml」ファイルが値します。
これまでもIDEによっては予測機能はありましたが、こちらはあくまで「予測される入力候補」の補助でしかありませんでした。Code Suggestionsは様々なコンテキストから「開発者がなにを実現しようとしているか」を予測した生成を行ってくれるため、その恩恵は予想以上です!とは言え人間のレビューはまだまだ必須のため、まずは関数単位で初めて見るとレビュー範囲が少なく済むので取り入れやすいです。
0から100までの生成を任せるというのはハードルが高いという方は、まずは上記のような使用方法や、定数定義、フィールド定義といった、「単純作業で難易度は低いが手間はかかる+影響範囲が狭い」内容から始めるのがおすすめです!

コメントはアプリケーションの動作に直接関係するものではないため、人力の場合どうしても誤字脱字の発生や書くべき内容の見落とし、修正内容の反映漏れ等が見落とされがちになってしまっているという開発者の方も多いのではないでしょうか。しかし可読性やその後のAIによるコード生成を考慮すると、確実に正確に記述することが重要になってきます。
そのためAIを活用し必要なコメントを生成してもらうというのは、時間短縮+保守性能向上に直結しますし、何より「アプリケーション動作に直接影響を与えない」という意味でも生成AI活用取り組みの第一歩としておすすめです。
注意点とまして、現時点でGitLab Duoの機能として「直接コードを編集しコメントを挿入する」という機能は備わっておりません。そのためDuo Chatを使用しコメントを生成、生成されたコメントをコードに貼り付ける、といった手順が必要となります。

※コメントのみでなく修正案まで提案してくれました!
運用保守の観点でも、特定のエンジニアが書いたコードや古いレガシーコードについて、AIが詳細な説明を生成することで、そのエンジニアが不在でも他のメンバーが理解・保守、あるいはリファクタリングを行うサポートができるようになります。
プログラムコードはもちろん、複雑化しやすいSQLの解析もおすすめです。

パターン網羅というのは人間ではどうしても見落としがちな部分であったり、パターン考慮に時間がかかってしまったりと、なかなか人的ミス/工数が削減し辛い部分です。そのためAI活用で一気に作成するというのは、かなり効果が期待できます。
またテストコードを自動生成可能に加えて各テストの解説やテストクラスの作成方法も出力してくれるため、これまで工数等の関係で「テスト自動化」になかなか踏み込めていなかった組織の方にも大きく貢献が可能です。是非お試しください!

C/CDやGitOpsは専用のyamlファイルに処理を記述するというのが代表ですが、yamlファイルの記述法の独特さや、各種連携ツールの処理を知らないと取り組むハードルが高い(学習コストの高さ)という難点がありました。CI/CD、GitOpsは開発の生産性向上に非常に有効な手段ではありますが、こういった問題から取り組みを躊躇してしまう開発者の方も多くいらっしゃったと思います。
ここにAIを活用しコードを生成してもらうことで、これまで時間をかけていたyamlファイルの作成を短時間で実現することができます。この場合、CI/CDやGitOpsで実現したい内容は手順を含めて明確な場合が多いため、AIの得意とするところでもあります。

- コードレビュー後、即座にテストコードを自動生成
- 過去の関数名と文脈を参照した変数補完
- デプロイ方法変更によるyamlファイル変更を自然言語で実施
各役割にとってのメリット
ここまでCode Suggestionsの概要や活用シーンについて言及してきました。この章では開発に関わる各ステークホルダーにとって、Code Suggestionsがどのような効果をもたらすのかをご紹介します。
役割 | 期待できる価値 |
---|---|
開発者 |
・単純なプログラミングにかかる工数を一気に削減し、創造的な業務に集中することが可能 |
マネージャー |
・チーム全体の生産性向上と納期短縮 |
経営層 |
・AI人材投資の妥当性を可視化し、DevSecOps全体のROIを判断 ・優秀な開発者の採用・維持における競争力強化 |
コード生成と聞くとどうしても「開発担当者のための機能」というイメージがある方もいらっしゃると思いますが、このように開発に関わる全てのステークホルダーが恩恵を受けることが可能です。
ぜひ現場担当者のみでなく、組織全体でCode Suggestionsの導入を検討してみてください!
プライバシーとセキュリティ
AIによるコード生成は、IDEが保持するソースコード・コメント・ファイル構造等をLLMへ送信することで実現しています。ところが外部サービスの中には、送信データをキャッシュや再学習に利用したり、保持期間や暗号化方式を公開していないものも少なくありません。実際、サードパーティー製アシスタント経由で社内アルゴリズムやAPI キーが流出するリスクがあると複数の調査で指摘されています。
またEU GDPRや日本の改正個人情報保護法のように「個人情報・機微情報を域外に転送する際は説明責任を負う」規制が強化される中、送信データがどこに保存・処理されるかは経営判断にも直結します。もしLLMベンダーが学習データとして保持すれば、自社の知財が他社の補完候補として再出力される懸念すらあります。
こうした背景から、GitLabでは 「プライバシーファースト」を大原則に掲げ、基本的に以下のような多層防御を実装しています。
※もちろんこれらの防御はCode SuggestionsとGitLab Duo Chat以外のAI機能全般に関わる内容です
- 顧客コードは学習に不使用:GitLabもベンダーも、プライベートリポジリ内コードをモデル訓練に利用しません
- ゼロデイ保持契約:入力・出力は生成後即破棄します(Fireworksの場合はキャッシュ無効化設定も可)
- トレーニング使用不可:いかなる形でも入力データを再学習に利用できません
- シークレット検出とマスキング:送信前にGitleaksによるシークレットスキャンが自動実行され、APIキーやトークンを検知すると該当部分をリクエストから除外したうえでLLMに送信します
- Self-Hostedでの暗号化:IDE→AIゲートウェイ間はTLS1.2+で暗号化し、正式なSSL証明書が必須で、自己署名証明書やHTTP通信はAI Gatewayが拒否します
- ガバナンス & 透明性:AI Transparency Centerを公開し、AI倫理原則やベンダー変更時の継続プランなどを公開しています
まとめ
GitLab Duo Code SuggestionsとGitLab Duo Chatは、単なるコード補完ツールではなく、開発者の思考プロセスを加速し、品質を高め、創造性を解放するAIパートナーです。開発者の生産性向上だけでなく、組織全体のソフトウェア開発プロセスを変革する可能性を秘めています。実際にCode SuggestionsとGitLab Duo Chatの機能で「これまで時間を費やしてきた複雑だが生産性の低い作業」を任せることで、人間の開発者はより効果的且つ効率的に企業の生産性や売り上げに貢献できると感じています。ただし、生成されたコードをそのまま使うのではなく、「AIが提案した内容を理解し、適切に判断できる技術力」がこれまで以上に重要になってきているのも事実です。言い換えれば、AIは開発者のスキルを代替するのではなく、より高次元の判断力を求めてくるツールだと思います。
またセキュリティに対する懸念も非常にリアルです。「コードが外部に送信されることへの不安」は技術的な説明だけでは払拭しきれない部分があり、GitLabのプライバシーファーストアプローチやSelf-Hosted環境でのLocal LLM利用が、いかに重要な差別化要因になっているかを実感しています。
次回は、Merge Request機能のにおけるAI機能、について掘り下げていきます。コーディング支援に留まらないGitLabのAI機能、その一端をご紹介しますのでご期待ください!
関連リンク
GitLab関連ブログ
/devops-hub/blog/gitlab/GitLabの特設サイトはこちら
フォームに必要GitLab特設サイトでは、GitLabの製品情報や トライアル(無償試用版)をお申込みいただけます。 ぜひ、特設サイトをご確認ください。事項を記入いただくことで、資料がダウンロードできます。
この記事の著者:佐藤梨花
SB C&S株式会社 ICT事業本部 技術本部 技術統括部 第2技術部 2課
勤怠管理システムの開発(使用言語:Java)に約8年間従事。
現在はエンジニア時の経験を活かしたDevOpsやDX推進のプリセールスとして業務に精励しています。

DevOps Hubのアカウントをフォローして
更新情報を受け取る
-
Like on Facebook
-
Like on Feedly