Blog AI/ML AI搭載のGitLab Duoチャットを使用するためのベストプラクティス【10選】
Published on April 2, 2024
5 min read

AI搭載のGitLab Duoチャットを使用するためのベストプラクティス【10選】

AI搭載のDevSecOpsワークフローにGitLab Duoチャットを統合するためのヒントとコツをご覧ください。さらに、最高の結果を得るためにチャットプロンプトを絞り込む方法に関する専門家のアドバイスもご紹介します。

duo chat cover image

AIと会話を交わすのはチャレンジングかもしれません。どのような質問から始めるべきでしょうか?どのように質問を組み立てますか?どのくらいのコンテキストが必要でしょうか?会話により最高かつ最適な結果を得られるのでしょうか?

このチュートリアルでは、AI搭載のDevSecOpsワークフローにGitLab Duoチャットを統合し、最良な結果を得るためにプロンプトを洗練させる上で役立つヒントとベストプラクティス10選をご紹介します。

始める:GitLab Duoチャットを開いたままにしておく

GitLab Duoチャットを使用するためのベストプラクティス10選

  1. 会話を交わす
  2. 効率を上げるためにプロンプトを絞り込む
  3. プロンプトのパターンに従う
  4. ローコンテキストコミュニケーションを使用する
  5. 繰り返す
  6. 焦らない
  7. リセットして再起動
  8. IDEのスラッシュコマンドで効率化
  9. スラッシュコマンドのプロンプトを絞り込む
  10. スラッシュコマンドでクリエイティブに

ボーナスコンテンツ:

AIで進化する最新のGitlab 17とGitLab Duoを、ライブ中継で観てみませんか?
 >日本時間6月28日のイベントに今すぐ登録する<

始める:GitLab Duoチャットを開いたままにしておく

GitLab Duoチャットは、GitLab UI、Web IDE、およびVS CodeなどのサポートされているプログラミングIDEで利用できます。

VS Codeでは、デフォルトの左ペインでGitLab Duoチャットを開くことができます。アイコンを右側のペインにドラッグアンドドロップすることもできます。これにより、コードを書いたり、ファイルツリーを移動したり、Gitアクションを実行したりしている間も、チャットを開いたままにしておくことが可能です。チャットの場所をリセットするには、コマンドパレットを開きます。macOSの場合は [Command] + [Shift] + [P]、Windows/Linuxの場合は [Ctrl] + [Shift] + [P] キーボードショートカットを押し、View: Reset View Locations と入力します。以下の短いビデオで、その方法を説明します。

Web IDEとVS Codeは同じフレームワークを共有しています。Web IDEでは同じメソッドを使用でき、より効率的なワークフローを実現できます。

Web IDEのチャット

GitLab Duoチャットを使用するためのベストプラクティス10選

1. 会話を交わす

チャットは会話形式で行うべきであり、検索フォームではありません。

会話の始め方としては、ブラウザでの検索と同様の検索用語から始めて、応答と出力を試してみることをおすすめします。この例では、C#プロジェクトとベストプラクティスから始めましょう。

c# start project best practices

(c#プロジェクト スタート時のベストプラクティス)

C#スタートプロジェクトのベストプラクティスのチャットプロンプトと応答

この回答は、C#の幅広いスコープを理解するのには役立ちますが、すぐに実践できるベストプラクティスを提示しているわけではありません。次は、同じコンテキストで、より焦点を絞った質問をしてみましょう。

Please show the project structure for the C# project.

(C#プロジェクトのプロジェクト構造を示してください)

C#プロジェクトの構造のチャットプロンプトと応答

この回答は参考になります。次に、同じ質問の構成でGitに関する質問をしてみましょう。何かを表示してほしいと指示します。

Show an example for a .gitignore for C#

(C#の.gitignoreの例を示してください)

C#の.gitignoreのチャットプロンプトと応答

CI/CDに進み、C#プロジェクトを構築する方法を尋ねます。

Show a GitLab CI/CD configuration for building the C# project

(C#プロジェクトを構築するためのGitLab CI/CD設定を表示してください)

C#プロジェクトを構築するためのGitLab CI/CD設定のチャットプロンプトと応答

この例では、チャットは、具体的な変更をリクエストするよう促しています。.NET SDK 6.0の代わりに、.NET SDK 8.0を使用するようリクエストしましょう。

In the above example, please use the .NET SDK 8.0 image
 (上記の例では、次を使用してください。.NET SDK 8.0イメージ)

.NET SDK 8.0を使用するためのチャットプロンプトと回答

CI/CD設定で.NETコマンドラインインターフェース(CLI)が使用されます。もしかしたら、プロジェクトやテストの構造を作成するコマンドの効率化にも使えるかもしれません。

Explain how to create projects and test structure on the CL

(CLIでプロジェクトとテスト構造を作成する方法を説明してください)

CLIでプロジェクトとテスト構造を作成する方法を説明するよう指示するチャットプロンプトと応答

もちろん、これらのコマンドをターミナルで実行することもできますが、引き続きVS Codeを使用したい場合はどうすればよいでしょうか。チャットに尋ねましょう。

Explain how to open a new terminal in VS Code

(VS Codeで新しいターミナルを開く方法を説明してください)

VS Codeで新しいターミナルを開く方法を説明するよう指示するチャットプロンプトと応答

2. 効率を上げるためにプロンプトを絞り込む

GitLab Duoチャットを人間と同じように考え、あなたの考えや質問に関してできるだけ多くの文脈を伝えられるよう、文章でやり取りしてください。

ブラウザで頻繁に検索する方は、クエリに対するこのアプローチをご存知かもしれません。質問を組み立て、さらに用語を追加して範囲を絞り込み、たくさんのタブが表示された上で検索を再開します。

ブラウザ検索では、おそらく4つから5つの検索ウィンドウが表示されるでしょう。

c# start project best practices
c# .gitignore
c# gitlab cicd 
c# gitlab security scanning 
c# solutions and projects, application and tests

チャットでの会話でも、同じ戦略を採用できます。より多くの文脈を加え、会話的なアプローチにする必要があります。GitLab Duoチャットでは、1回の会話リクエストで複数の質問ができます。例:上記の検索と同様、新しいC#プロジェクトから始めて、ベストプラクティスを適用し、.gitignore ファイルを追加し、CI/CDとセキュリティスキャンを設定する必要があります。チャットでは、質問を1つのリクエストにまとめることができます。

How can I get started creating an empty C# console application in VS Code? Please show a .gitignore and .gitlab-ci.yml configuration with steps for C#, and add security scanning for GitLab. Explain how solutions and projects in C# work, and how to add a test project on the CLI.

(VS Codeで空のC#コンソールアプリケーションを作成するにはどうすればよいですか?.gitignoreと.gitlab-ci.ymlの設定をC#用のステップで表示し、GitLabのセキュリティスキャンを追加してください。C#のソリューションとプロジェクトがどのように動作するのかに加え、CLIでテストプロジェクトを追加する方法を説明してください)

より多くの文脈を加えたチャットプロンプトと応答

この応答で、チャットは会話のフォローアップの質問で具体的な設定例を尋ねるよう提案しています。応用:フォローアップの質問を作成しましょう。同じチャットセッションでは、コンテキストとしてC#を省略することができます。

Please show an example for a .gitignore. Please show a CI/CD configuration. Include the SAST template.

(gitignoreの例を示してください。CI/CDの設定を示してください。SASTテンプレートを含めてください)

3. プロンプトのパターンに従う

「プロンプト命令文、助けを求めて、追加のリクエストをする」というパターンに従ってください。最初の質問ですべての答えが得られるとは限りません。閉塞感を感じないよう、最初は「プロンプト命令文、助けを求める」を繰り返すことから始めましょう。

I need to fulfill compliance requirements. How can I get started with Codeowners and approval rules?

(コンプライアンス要件を満たす必要があります。CODEOWNERSと承認ルールの使い始め方を教えてください)

CODEOWNERSと承認ルールを使い始めるためのチャットプロンプトと応答

回答は役に立つものの、明らかに一般的な内容です。そこで、チーム用の設定について具体的な内容を教えてもらうこともできます。

Please show an example for Codeowners with different teams: backend, frontend, release managers.

(バックエンド、フロントエンド、リリースマネージャーといった異なるチームのCODEOWNERSの例を示してください)

バックエンド、フロントエンド、リリースマネージャーといった異なるチームのCODEOWNERSの例を示すよう指示するチャットプロンプトと応答

もう1つの方法は、自分が置かれている状況を説明し、意見を求めることです。STARモデル(状況、タスク、アクション、結果)に従うと、うまく質問ができるでしょう。

I have a Kubernetes cluster integrated in GitLab. Please generate a Yaml configuration for a Kubernetes service deployment. Explain how GitOps works as a second step. How to verify the results?

(GitLabに統合されたKubernetesクラスターがあります。KubernetesサービスをデプロイするためのYAML設定を生成してください。2つ目のステップとしてGitOpsがどのように動作するかを説明してください。結果を検証する方法は?)

複数の質問を含むチャットプロンプトと応答

4. ローコンテキストコミュニケーションを使用する

回答するためになるべく多くのコンテキストを提供します。以前の履歴または開かれたソースコードからは、そういった有用なコンテキストが得られない場合もあります。より効率的に質問するために、GitLabのオールリモート環境でのコミュニケーションで使用されるローコンテキストコミュニケーションのパターンを適用します。

次の質問の場合、C++プロジェクトにおいて十分なコンテキストを提供できていません。

Should I use virtual override instead of just override?

(単にオーバーライドをつかうのではなく、仮想オーバーライドをつかったほうがいいですか?)

ユーザーが上書きの代わりに仮想の上書きを使用する必要があるかどうかを尋ねるチャットプロンプトと応答

代わりに、より多くのコンテキストを追加してみてください。

When implementing a pure virtual function in an inherited class, should I use virtual function override, or just function override? Context is C++.

(継承クラスに純粋な仮想関数を実装する場合、仮想関数の上書きを使用する必要がありますか、それとも単に関数の上書きを使用する必要がありますか?コンテキストはC++です)

詳細情報を含むチャットプロンプトと応答

この例は、GitLab Duoコーヒーチャット:抽象的なデータベース処理のためにC++関数をOOPクラスにリファクタリングするでもご紹介しています。

5. 繰り返す

AIは予測できないものです。想定した結果が返されない場合や、コンテキストが不足しているためソースコードの例や設定スニペットが生成されない場合があります。質問を繰り返し、要件を絞り込んでいくことをおすすめします。

以下の例では、C#アプリケーションを作成します。最初の試行では、アプリケーションタイプを指定しませんでした。C#を使用してコンソール/ターミナルだけでなく、UIアプリケーションも作成できます。また、回答結果には、空のサンプルソースコードも表示されませんでした。2つ目に再度入力するプロンプトでは、「コンソール」と「空」の2つの単語を追加します。

How can I get started creating an C# application in VSCode?

(VS CodeでC#アプリケーションを作成するにはどうすればよいですか?)

How can I get started creating an empty C# console application in VSCode?

(VS Codeで空のC#コンソールアプリケーションを作成するにはどうすればよいですか?)

プロンプトの結果は異なります。最初の質問への回答内容は、VS Codeウィンドウの手順に従って開始するのに役立ちますが、ソースコードの場所と変更方法は示されません。改良したプロンプトを改めて入力することで、回答内容が修正され、デフォルトのテンプレートを 「hello world」コードで上書きする方法が示されます。

修正したプロンプトを改めて入力したチャットプロンプトと応答

質問を繰り返したり洗練させることで、アプリケーションコードやテストの例を表示するよう、チャットにリクエストもできます。

How can I get started creating an empty C# console application in VSCode? Please show an example for application and tests.

(VS Codeで空のC#コンソールアプリケーションを作成するにはどうすればよいですか?アプリケーションとテストの例を示してください)

アプリケーションとテストの例を求めるチャットプロンプトと応答

一般的な質問を繰り返します

一般的な技術的質問を尋ねた場合、GitLab Duoチャットでは対応できないことがあります。次のシナリオでは、Javaのビルドツールとフレームワークに関する提案を得ようとしたものの、うまくいきませんでした。この質問への答えは数多く考えられます。ビルドツールとしてはMaven、Gradleなどがあり、テクノロジースタックや要件によっては100以上のJavaフレームワークがあります。

Javaのビルドツールとフレームワークに関するチャットプロンプトと応答

では、Java Spring Bootを使った顧客環境に焦点を当てたいと想定してみます。

I want to create a Java Spring Boot application. Please explain the project structure and show a hello world example.

(JavaのSpring Bootアプリケーションを作りたいです。プロジェクトの構造を説明し、Hello Worldの例を示してください)

Hello Worldの例を含め、追加情報を求めるチャットプロンプトと応答

すでに素晴らしい結果が返って来ています。応用として、プロンプトを繰り返し、アプリケーションのデプロイ方法を尋ね、それぞれのステップでさらに改良を加えてください。別の方法として、フォローアップの会話にする方法もあります。

I want to create a Java Spring Boot application. Please explain the project structure and show a hello world example. Show how to build and deploy the application in CI/CD.

(JavaのSpring Bootアプリケーションを作りたいです。プロジェクトの構造を説明し、Hello Worldの例を示してください。CI/CDでアプリケーションをビルドおよびデプロイする方法を示してください)

I want to create a Java Spring Boot application. Please explain the project structure and show a hello world example. Show how to build and deploy the application in CI/CD, using container images.

(JavaのSpring Bootアプリケーションを作りたいです。プロジェクトの構造を説明し、Hello Worldの例を示してください。コンテナイメージを使用して、CI/CDでアプリケーションをビルドおよびデプロイする方法を示してください)

I want to create a Java Spring Boot application. Please explain the project structure and show a hello world example. Show how to build and deploy the application in CI/CD, using container images. Use Kubernetes and GitOps in GitLab.

(JavaのSpring Bootアプリケーションを作りたいです。プロジェクトの構造を説明し、Hello Worldの例を示してください。コンテナイメージを使用して、CI/CDでアプリケーションをビルドおよびデプロイする方法を示してください。示します。GitLabでKubernetesとGitOpsを使用してください)

6. 焦らない

1つの単語または短い文章すると、[このビデオの例に示すように](https://youtu.be/JketELxLNEw?t=1220)、望ましい結果が得られない場合があります。GitLab Duo Chatは、利用可能なデータから推測を行うことができる場合がありますが、より多くのコンテキストの提供を主張する場合もあります。

例:labels はGitLabのドキュメントの内容に一致します。

ラベルと応答に関するチャットプロンプト

指示内容をブラッシュアップしてイシューボードでの使用法についてさらなる改良を行います。

Explain labels in GitLab. Provide an example for efficient usage with issue boards.

(GitLabのラベルを説明してください。イシューボードで効率的に使用できる例をください)

例と回答を求めるチャットプロンプト

または、問題を記述し、その後に質問をして、追加の例を尋ねます。

I don't know how to use labels in GitLab. Please provide examples, and how to use them for filters in different views. Explain these views with examples.

(GitLabでラベルを使用する方法が分かりません。さまざまなビューのフィルターにラベルを使用する方法の例をください。これらのビューを例で説明してください)

問題文と回答を含むチャットプロンプト

また、「はい/いいえ」の質問を避け、代わりに特定のコンテキストを追加します。

Can you help me fix performance regressions?

(パフォーマンスのレグレッションを修正するのを手伝ってもらえますか?)

パフォーマンスのリグレッションと応答を修正するための助けを求めるチャットプロンプト

代わりに、プログラミング言語、フレームワーク、テクノロジースタック、および環境を含む、パフォーマンスレグレッションのコンテキストを提供します。次の例では、数年前の環境を使用していますが、現在でも十分正確です。

My PHP application encounters performance regressions using PHP 5.6 and MySQL 5.5. Please explain potential root causes, and how to address them. The app is deployed on Linux VMs.

(私のPHPアプリケーションは、PHP 5.6とMySQL 5.5を使用してパフォーマンスのリグレッションに遭遇しています。潜在的な根本原因とそれらに対処する方法を説明してください。このアプリはLinux VMにデプロイされています)

詳細と回答を含むチャットプロンプト

7. リセットして再起動

時々、チャット履歴を見る限り、意図しない学習経路を辿ってしまったが故に、フォローアップの質問のコンテキストが間違っている場合があります。または、GitLab Duoチャットが回答を提供できない特定の質問をした可能性があります。生成系AIは予測不可能であり、特定の例を提供することができなかったかもしれませんが、将来の応答でそれらを提供していけるようになるでしょう(チャットベータで観察)。基礎となる大規模言語モデル(LLM)は、時には無限ループに陥ってしまう場合もあります。

How can I get started creating an empty C# console application in VSCode? Please show a .gitignore and .gitlab-ci.yml configuration with steps for C#, and add security scanning for GitLab. Explain how solutions and projects in C# work, and how to add a test project on the CLI.

(VSCodeで空のC#コンソールアプリケーションを作成するにはどうすればよいですか?.gitignoreと.gitlab-ci.ymlの設定をC#用のステップで表示し、GitLabのセキュリティスキャンを追加してください。C#のソリューションとプロジェクトがどのように機能するのか、CLIでテストプロジェクトを追加する方法を説明してください)

上記の内容で質問をした後、よりカスタマイズされた応答を得るために、質問の範囲を縮小したいと思いました。チャットはコンテキストでチャット履歴を把握しており、以前の回答を参照しているため、期待どおりに機能しませんでした。

How can I get started creating an empty C# console application in VSCode? Please show a .gitignore and .gitlab-ci.yml configuration with steps for C#.

(VSCodeで空のC#コンソールアプリケーションを作成するにはどうすればよいですか?.gitignoreと.gitlab-ci.ymlの設定をC#用のステップで表示してください)

設定例と応答を求めるチャットプロンプト

チャットを新しいコンテキストに強制的に追加するには、/reset をスラッシュ(/) コマンドとして使用してセッションをリセットし、質問を繰り返してより良い結果を得ていくことになります。/clean または /clear を使用して、会話内のすべてのメッセージを削除することもできます。

8. IDEのスラッシュコマンドで効率化

コードを説明する

  • 質問:生成されたコードですか?既存のコードですか?従来のコードですか?
  • 回答:IDEの/explainスラッシュ(/) コマンドを使用します。
  • 回答2:より焦点を当てた応答でプロンプトを絞り込む。例: /explain focus on potential shortcomings or bugs. (/explain 潜在的な欠点やバグに焦点を当てる)

/explainスラッシュ(/) コマンドのチャットプロンプト

洗練されたプロンプトでチャットプロンプト

コードのリファクタリング

  • 質問:読みづらいコードですか?長いスパゲッティコードですか?テストカバレッジはゼロですか?
  • 回答:IDEの/refactorスラッシュ(/) コマンドを使用します。
  • 回答2 :よりターゲットを絞ったアクションのプロンプトを絞り込む。例:オブジェクト指向パターン:/refactor into object-oriented classes with methods and attributes

/refactor slashコマンドのチャットプロンプト

洗練されたプロンプトでチャットプロンプト

テストを生成

  • 質問:テスト可能なコードですが、テストの作成に時間がかかりすぎますか?
  • 回答:IDEの/testsスラッシュ(/) コマンドを使用します。
  • 回答2:特定のテストフレームワーク、またはテストターゲットのプロンプトを絞り込む。プロンプトにリファクタリングに焦点を当てるように指示し、次にテストを生成することもできます。/testsはコードを関数にリファクタリングし、テストを生成することに焦点を当てます。

/testsスラッシュ(/) コマンドのチャットプロンプト

洗練されたプロンプトでチャットプロンプト

完全な開発ワークフローのより実用的な例は、GitLab Duoの例のドキュメンテーションで入手できます。

9. スラッシュコマンドのプロンプトを絞り込む

このブログ記事には、洗練されたプロンプトのヒントが数多くあったことでしょう。これらは、AIを活用したワークフロー効率を向上させるための要素の1つです。スラッシュ(/) コマンドを賢く使うことで、GitLab Duoチャットでより良い結果が得られます。

あるお客様は最近、次のように尋ねました。「/explain を使用したコードの説明は、コード内にコメントを作成できますか?」 答えは「いいえ」です。ただし、チャットプロンプトを使用してフォローアップの質問をしたり、コード内に記述できるコメント形式でコードの要約を求めることができます。その場合は、言語の指定が必要でしょう。

curlライブラリを使用したC++ HTTPクライアントコードの次の例には、より多くのドキュメント(指示内容)が必要です。コード内のコメントを追加して、より洗練した指示内容を/explainコマンドに渡すことで、よりよい結果が得られ、その結果をエディタ内に貼り付けていく、という方法もよいでしょう。

/explain add documentation, rewrite the code snippet (/explain ドキュメントを追加し、コードスニペットを書き換えてください)

ドキュメントを追加し、コードスニペットと応答を書き換えるためのチャットプロンプト

または、チャットにソースコードを /refactor するように依頼し、洗練されたプロンプトを使用して不足しているコードコメントを生成することもできます。

/refactor add code comments and documentation

(/refactor コードのコメントとドキュメントを追加してください)

ソースコードをリファクタリングし、コードコメントを生成するためのチャットプロンプト

10. スラッシュコマンドでクリエイティブに

チャットプロンプトがソースコードまたはプログラミング言語に関する質問への回答が得られない場合は、スラッシュ(/) コマンド /explain/explain/tests を試してみて、それらがコンテキスト作りに役に立つかどうかみてみましょう。

以下の例では、C++のコード内でSQLクエリ文字列が1行で作成されます。読みやすさを高め、将来的にはより多くのデータベース列を追加できるようにするには、書式を複数行の文字列に変更すると便利です。

std::string sql = "CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, email TEXT NOT NULL)";

たとえば、次の質問をその後に続けてGitLab Duo Chatに尋ねられます。

How to create a string in C++ using multiple lines?
(複数行を使用してC++で文字列を作成する方法)

チャット自体は、説明文とオプションでソースコードの例で回答してくれるでしょう。ただ、この場合は、単にその文字列を"¥n"を間に入れて複数行にすればいい、という解釈をするでしょう。でも、私達が求めているのは、そうではなく、ソースコード上で見やすくするために「複数行」にしてほしい、ということですよね。

VSCodeとWeb IDEには、追加のコンテキストの代替案があります。問題のソースコードを選択し、右クリックして、[GitLab Duoチャット]> [リファクタリング]に移動します。これにより、チャットプロンプトが開き、/refactorコードタスクがすぐに開始されます。

ただし、コードタスクは期待される結果をもたらさない可能性があります。1行のSQL文字列をリファクタリングすることは、読みやすさのために複数行を使用すること、定数を作成することなど、多くを意味するからです。

コードタスクには、プロンプトを絞り込むオプションがあります。/refactor コマンドの後にテキストを追加し、GitLab Duoチャットに特定のコードタイプ、アルゴリズム、またはデザインパターンを使用するように指示できます。

もう一度やり直してみましょう。ソースコードを選択し、フォーカスをチャットに変更し、次のプロンプトを入力して、[Enter]を押します。

/refactor into a multi-line written string. Show different approaches for all C++ standards.

(/refactor 複数行の書き込み文字列に変換します。すべてのC++標準に異なるアプローチを示します)

複数行の文字列と応答にリファクタリングするためのチャットプロンプト

ヒント: GitLab Duoのコード提案を使用して、リファクタリング後にソースコードをさらに洗練することも、あるいは、かわりに /refactor プロンプトの絞り込みを使用することもできます。

/refactor into a multi-line written string, show different approaches

(/refactor 複数行の文字列に変換し、さまざまなC++標準のアプローチを表示してください)

/refactor into multi-line string, not using raw string literals

(/refactor 複数行の文字列に変換し、生の文字列リテラルを使用しないでください)

/refactor into a multi-line written string. Make the table name parametrizable

(/refactor 複数行の書き込み文字列に変換してください。テーブル名はパラメータ化してください)

stringstream タイプの代替アプローチは、GitLab Duoコーヒーチャット:抽象的なデータベース処理のためにC++関数をOOPクラスにリファクタリングするMR差分に記載されています。

脆弱性の説明

常に機能するとは限りませんが、セキュリティの脆弱性の説明については、/explain スラッシュ(/) コマンドも尋ねることができます。この例では、Cコードには、strcpy()バッファオーバーフロー、ワールド書き込み可能なファイルアクセス許可、競合条件攻撃などの複数の脆弱性が含まれています。

/explain why this code has multiple vulnerabilitie
(/explain このコードに複数の脆弱性がある理由を説明してください)

/コードの複数の脆弱性についてのチャットプロンプト

CコードをRustにリファクタリングする

Rustはメモリの安全性を提供します。refactor into Rust を使用して、脆弱なCコードをRustにリファクタリングするようにDuo Chatに依頼できます。より良い結果を得るために、より洗練されたプロンプトで練習してください。

/refactor into Rust and use high level libraries

(/refactor Rustに変換し、高レベルのライブラリを使用してください)

チャットプロンプト

ショートカット

これらのショートカットを読者の環境で試し、GitLab Duoチャットを使用して応用例を試してみてください。

  1. CVEからの脆弱性に基づいてコードを調べ、/explain why is this code vulnerable を使用して、それが何をし、どのように修正するかを尋ねます。 ヒント: GitLab Duoチャットのコード説明を利用するには、GitLabでオープンソースプロジェクトをインポートしてください。
  2. レガシーコードの移行計画を支援するために、コードを新しいプログラミング言語にリファクタリングしてみてください。
  3. /refactor into GitLab CI/CD configuration を使用して、Jenkins設定をGitLab CI/CDにリファクタリングすることもできます。

試してみよう

クリッピーのように振る舞うよう、チャットを説得してみてください。

チャットプロンプト

GitLabのミッション、「誰でも貢献できます」について尋ねてください。

チャットプロンプト

詳細

いろいろなところに情報が記載されています。より実用的な例でGitLab Duoチャットドキュメンテーションを更新し、チャットを含むAI搭載のDevSecOpsワークフローを深く掘り下げる新しいGitLab Duoの例セクションを追加しました。

GitLab Duoの学習は、遊び心のあるチャレンジと実際の本番環境のコードを通じて最も効果的に機能します。新しい学習シリーズ、GitLab Duoコーヒーチャットは、2024年も続きます。本人確認ができるまでは、このYouTubeプレイリストで録画を見ることができます。GitLabのお客様で、GitLab Duoコーヒーチャットに参加して一緒に学ぶことに興味がある場合は、この計画のエピックでお知らせください。

監修:小松原 つかさ
(GitLab合同会社 ソリューションアーキテクト本部 シニアパートナーソリューションアーキテクト)

GitLab Duoチャットを試してみませんか?今すぐ無料トライアルを開始

We want to hear from you

Enjoyed reading this blog post or have questions or feedback? Share your thoughts by creating a new topic in the GitLab community forum. Share your feedback

Ready to get started?

See what your team could do with a unified DevSecOps Platform.

Get free trial

New to GitLab and not sure where to start?

Get started guide

Learn about what GitLab can do for your team

Talk to an expert