Microsoft Copilot in Azure で効果的なプロンプトを記述する

プロンプト エンジニアリングは、Microsoft Copilot in Azure (プレビュー) などの大規模言語モデル (LLM) から最も適切かつ正確な応答を引き出すプロンプトを設計するプロセスです。 これらのモデルがより洗練されるにつれて、効果的なプロンプトを作成する方法を理解することの重要性はさらに高まっています。

この記事では、プロンプト エンジニアリングを使用して、Microsoft Copilot in Azure 用の効果的なプロンプトを作成する方法について説明します。

重要

Microsoft Copilot in Azure (プレビュー) は現在、プレビュー段階です。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。

プロンプト エンジニアリングとは何か?

プロンプト エンジニアリングには、Copilot in Azure などの AI モデルに対する入力を戦略的に作成し、正確で関連性が高く、価値のある出力を提供するための能力を向上させることが含まれます。 これらのモデルは、トレーニング データからのパターン認識に依存しているため、実世界を理解したりユーザーの目標を認識したりする能力が欠けています。 特定のコンテキスト、例、制約、指示をプロンプトに組み込むことで、応答の品質を大幅に向上させることができます。

適切なプロンプト エンジニアリングのプラクティスは、コード生成、レコメンデーション、ドキュメント取得、およびナビゲーションに関する Copilot in Azure の可能性をさらに引き出すのに役立ちます。 プロンプトを十分考えて作成することで、無関係な提案が表示される可能性を減らすことができます。 プロンプト エンジニアリングは、応答を改善し、タスクをより効率的に完了するのに役立つ重要な手法です。 時間をかけて適切なプロンプトを作成することで、明確なガイドラインと期待値が提供されるため、最終的に効率的なコード開発が促進され、コストが削減され、エラーが最小限に抑えられます。

より適切なプロンプトを作成するためのヒント

Microsoft Copilot in Azure は、ユーザーの心を読み取ることはできません。 意味のあるヘルプを得るには、回答が長すぎる場合は短い返答を要求し、回答が基本的すぎる場合は複雑な詳細を要求し、ユーザーが念頭に置いている形式を指定します。 時間をかけて詳細な指示を記述し、プロンプトを洗練させることは、求めているものを得ることに役立ちます。

次のヒントは、効果的なプロンプトの作成方法を検討する際に役立ちます。

明確かつ具体的にする

明確な意図を持って作成を開始します。 たとえば、ユーザーが "パフォーマンスを確認してください" と言ったとしても、Microsoft Copilot in Azure はユーザーが何に言及しているのかがわかりません。 代わりに、「過去 24 時間の Azure SQL Database のパフォーマンスを確認してください」など、より具体的なプロンプトを入力します。

コードを生成する際は、言語と望ましい結果を指定します。 次に例を示します。

  • ... を表す YAML ファイルを作成してください
  • ... を実行する CLI スクリプトを生成してください
  • ... を取得する Kusto クエリを教えてください
  • .. を実行する Terraform を生成して、ワークロードのデプロイを手助けしてください

期待値の設定

ユーザーが使用する言葉は Microsoft Copilot in Azure の応答の作成に役立てられます。 動詞を少し変えるだけで異なる結果が返される可能性があるので、どうすれば要求を最もうまく表現できるかを考えてください。 次に例を示します。

  • 概要情報を得るには、~する方法ガイドを作成 などの語句を使用します。
  • 実用的な応答を得るには、生成デプロイ停止 などの言葉を使用します。
  • 情報をフェッチし、それをチャットに表示するには、フェッチ一覧表示取得 などの用語を使用します。
  • ビューを変更したり、新しいページに移動したりするには、表示してください移動させてください移動してください などの語句を使用してみます。

自分が初心者または専門家のどちらであるかにかかわらず、自分の理解度に合わせてアドバイスを調整するために、自分の専門レベルを伝えることもできます。

シナリオに関するコンテキストを追加する

より的確なアドバイスを受けるため、または興味のあるテクノロジを明確にするために、自分の目標およびタスクを実行している理由を詳しく説明します。 たとえば、単に Azure 関数をデプロイしてください と言うのではなく、新しいリソースを使用して IoT デバイスからのデータを処理するための Azure 関数をデプロイしてください のように、最終的な目標について詳しく説明します。

要求を分割する

複雑な問題やタスクの場合は、要求をより小さく管理しやすい複数の部分に分割します。 たとえば、最初に、現在実行されている仮想マシンを特定してください。機能するクエリを作成したら、仮想マシンを停止してください のようにします。大きいシナリオのさまざまな部分に個別のプロンプトを使用してみることもできます。

コードをカスタマイズする

オンデマンドのコード生成を要求する場合は、既知のパラメーター、リソース名、場所を指定します。 そうすることで、Microsoft Copilot in Azure はそれらの値をユーザー自身が更新しなくても済むように、それらの値を含めてコードを生成します。 たとえば、ストレージ アカウントを作成する CLI スクリプトを教えてください と指示する代わりに、EastUS リージョンの TestRG リソース グループ内に Storage1234 という名前のストレージ アカウントを作成する CLI スクリプトを教えてください と指示することができます。

Azure の用語を使用する

可能であれば、Azure 固有の用語をリソース、サービス、タスクに使用します。 Copilot in Azure は、ユーザーが Azure のどの部分に言及しているのかがわからない場合、ユーザーの意図を把握できない可能性があります。 どの用語を使用すればよいか分からない場合は、自分のシナリオに関する一般的な情報を Copilot in Azure に尋ねた後、提供された用語をプロンプト内で使用することができます。

フィードバック ループを使用する

求めていた応答が得られない場合は、前の応答を参考にしてプロンプトを洗練させてから、もう一度試してください。 たとえば、前の応答に関する詳細を提供したり、1 つの側面についてさらに説明するように Copilot in Azure に依頼することができます。 生成されたコードの場合は、1 つの側面を変更するよう、または別のステップを追加するよう要求することができます。 何が最も効果的かを確認するために実験することを恐れてはいけません。

Microsoft Copilot in Azure が提供する応答についてのフィードバックを残すには、サムズ アップ/ダウン コントロールを使用します。 このフィードバックは、Microsoft が Copilot in Azure エクスペリエンスを徐々に改善していくためにユーザーの期待を理解するのに役立ちます。

次のステップ