この記事では、エージェントが生成オーケストレーションを使用している場合に、エージェントに最適な手順を記述する方法に関するガイダンスを提供します。 手順は、エージェントの 概要 ページで定義されます。
指示は、エージェントによって次のように使用されます。
命令は、ユーザー問合せまたは自律型トリガーに対処するために呼び出す必要があるアクションまたはナレッジをエージェントが決定するときに使用されます。
命令は、使用可能なコンテキストに基づいてアクションの入力欄を埋めるためにも使用されます。
指示は、エージェントがエンドユーザーへの応答を生成するときに使用されます。
コンテキスト指示
エージェントにアクションやナレッジ ソースがない場合、アクションやナレッジ ソース検索を実行する指示に基づいてエージェントを操作できないことを理解することが重要です。 まず、適切なアクションとナレッジ ソースを使用してエージェントを構成する必要があります。 たとえば、エージェントに Web サイトの FAQ を検索するように指示した場合、Web サイトの FAQ をナレッジ ソースとして追加しない限り、エージェントはその指示に従うことができません。 エージェントに与える指示が、エージェント用に構成したアクションと知識に基づいていることを確認してください。
会話ベースの指示
次の例は、制約、応答形式、およびガイダンス の構築を使用して会話ベースの指示を書式設定する方法を示しています。 この 3 つを 1 つにまとめて、エージェントに完全な指示セットを提供します。
制約
Only respond to requests to provide information about educational, legal, wellness, wellbeing, health, dental care, and newborn benefits for employees and dependents. Respond to benefit types with details, health plan comparisons available for employees and dependents in tabular format. Answer in bold and underline fonts as necessary.
応答形式
Respond to inquiries by providing benefit types along with details, health plan comparisons available for employees and dependents in tabular format. Add a column for available options. Include insurance provider details and provide a link for enrollment. Answer in bold and underline fonts as necessary.
ガイダンス
Search only within specific country folders relevant to the employee's country.
エージェントが呼び出す適切なアクションと知識を決定できるように支援します
エージェントに適したアクションとナレッジ ソースを呼び出す手順を追加する前に、各アクションとナレッジ ソースが 説明作成のベスト プラクティスに従っていることを確認してください。 最良の結果を得るためには、エージェントが呼び出す名前を決定する目的で使用するフィールドであるため、名前と説明は正確かつ具体的に記入してください。 さらに、説明を使用して、エージェントが間違ったアクションまたは知識源を呼び出している場合には行わ ない ことを示します。
使用可能なアクションまたはナレッジ ソースは、エージェントが既に使用できるため、手順で定義する必要はありません。 /
を使用して、エージェントの特定のアクション、トピック、変数、または Power Fx 式を指定する手順を記述できます。 ただし、エージェントはどのアクションまたはナレッジ ソースを使用するかを決定するために、その名前と説明を利用しますので、エージェントに特定のものを指定する必要はありません。
代わりに、適切なアクションやナレッジ ソースがあいまいな場合にエージェントにヒントを与える場合にのみ、指示を追加することに集中してください。 また、複数のアクションやナレッジ ソースを参照する指示を与えることもできます。
Use the FAQ knowledge source only if the question is not relevant to Hours, Appointments, or Billing.
Only use the ticket creation topic for creating tickets, for other requests related to fixing issues, use the troubleshooting topic.
エージェントがアクションの入力を行えるようにする
エージェントは、入力が必要な入力パラメーターを持つアクションを呼び出す場合があります。 この場合、会話履歴と以前のアクション呼び出しおよびナレッジ ソースを使用して、入力内容を決定します。 すべての入力を識別できない場合は、不足している情報を埋めるのを手伝うようにユーザーに求めます。
このシナリオでは、まず、エージェントが処理すると予想される対話の種類に基づいて、エージェントの入力を構成してください。 次に、エージェントが利用可能な最適な入力を入力する必要がある状況でのみ、入力を補完するための指示を使用します。
Use the email address from the contact field of the lead when helping the user to draft an email to follow-up on a lead.
エージェントが応答を生成するのを助ける
第 1 に、指示を使用して、エージェントが応答すべきでないときのガードレールを与えることができます。 エージェントは、現在のシナリオに関連するアクションまたはナレッジ ソースを呼び出した後、応答を生成します。 AI に独自の一般ナレッジの使用を許可する (プレビュー) をオンにしたら、エージェントはアクションやナレッジ ソースを呼び出さずに応答を生成できます。
ガードレールの指示の使用方法の例を次に示します。
Only respond to messages that are relevant to Contoso corporation and ordering coffee. Otherwise tell the user you can't help with their inquiry.
エージェントに説明させたくない特定のトピックがある場合は、手動で作成した応答を使用して、このシナリオのトピックを追加できます。 この方法により、そのトピックを回避するために指示だけに頼る必要がなくなります。
次に、応答の書式設定または構造化方法についてエージェントに指示を与えることができます。 例:
Always give responses about order status in a table format.
エージェントにプロフェッショナルで丁寧に話してもらいたい場合、このトーンはエージェントのデフォルトの動作であるため、指示を与える必要はありません。 トーンの指示は、特定のユースケースに対してのみ行います。
自律ベースの指示
次の図は、自律的な命令に基づいてエージェントが実行する手順を示しています。
エージェントが適切なアクションシーケンスを選択できるようにする
エージェントは適切なアクションを選択しようとし、通常は成功しますが、指示を明示的に示すと役立ちます。 たとえば、"注文の作成" アクションを使用して Dataverse で発注書レコードを作成するには、/
を使い、指示にそのアクションを追加してください。 このシナリオでは、「ユーザーが優先ラップトップの詳細を指定したら、/Purchase Order を使用して発注書を作成する」という明確な指示を提供します。この特定性は、エージェントに多数のアクション (5 つ以上) が追加されている場合に役立ちます。
指示に番号または箇条書きを付け、順番に従う必要があることを指定します。 また、マークダウン形式を適用することで、指示の読みやすさが向上するだけでなく、生成 AIが指示を理解して処理するのにも役立ちます。
注意
エージェントがユーザーに連絡したくない場合は、手順に明示的に記載すると便利です。 たとえば、「ユーザーに詳細を尋ねないでください」などです。
手順でアクションに名前を付けるときは、アクション自体とまったく同じ名前を使用するようにしてください。 名前のわずかな違いは、結果に悪影響を与える可能性があります。
ユーザー入力に応答するときにエージェントを非常に具体的にする必要がある場合は、この特定のユースケースを処理するトピックを作成するのが適切な場合があります。 たとえば、"他に利用可能なオプションはありますか?" のようなフレーズを認識するトピックを作成します。その後、エージェントは「現在利用可能な他のオプションはありません。利用可能なリストから選択してください」と具体的に応答します。
エージェントは、アクションの説明を使用して、そのアクションを使用する理由を理解します。 アクションの説明を入力すると、エージェントが適切なアクションを選択するのに大いに役立ちます。 アクションの説明を入力して、特定のアクションを呼び出すタイミングをエージェントに通知します (たとえば、「ユーザーが顧客の予約履歴の取得を要求したときにこのアクションを呼び出す」など)。
トリガーは脱獄攻撃の責任を負う可能性があります。 この種の攻撃は、攻撃者がトリガー ペイロードでエージェントが従うように指示を送信する場所です。 たとえば、攻撃者はエージェントがアクセスできる情報を自分で電子メールで送信するようにエージェントに依頼する可能性があります。
このリスクからエージェントを保護するには、指示に次の情報が含まれている必要があります。
ナレッジ ソースを参照するときにエージェントが実行するアクションを制限します。 たとえば、ナレッジ ソースの文脈を確認したうえで、メールでのみ情報を送信します。
アクションに使用するパラメーターを制限します。 たとえば、指定した個人のリストのみにメールを送信します。
エージェントがコンテンツ フィルタリングを使用して通常の動作をブロックしていることに気付いた場合は、動作が正常に動作することが予想されていることを示すようにエージェントの指示を更新できます。
指示文の作成における言語表現
データの取得と解析には Get や Use などの動詞を使用し、結果に基づいて操作するには から と と のような動詞を使用します。
次の動詞は、単純な命令を作成するためによく使用されます。
ゴール | ボキャブラリ |
---|---|
条件 | いつでも、もしも、確認する、比べる |
フィルター | から、含める、除外する、比較する、識別する |
日付 | 提供、取得、使用、分析、抽出 |
アクション | 通知、指示、尋ねる、割り当て |
エージェントが適切なナレッジソースを選択できるようにする
エージェントがナレッジ ソースから情報を正常に取得できるように、検索するドキュメントを指示で説明してください。たとえば、"従業員オンボーディング ドキュメントをKBで検索する" などです。この種の特異性は厳密には必要ではありませんが、エージェントを導くのに役立ちます。 この特異性は、エージェントが検索する必要があるドキュメントが多数ある場合に役立ちます。
トリガーを含める
デフォルトのトリガーペイロードを変更して、トリガーが呼び出されたときに何をすべきかをエージェントが理解できるようにします。 変数を使用してペイロードのサイズを小さくします。 トリガーを作成し、Power Automate を使用して編集します 特定の変数を選択します。 たとえば、メッセージペイロード全体ではなく、受信した電子メールの件名フィールドのみを送信します。
注意
Copilot Studio でトリガーを直接編集することはできません。 作成後は、Power Automate から編集する必要があります 。
トリガー命令でトリガーペイロードをどうするかをエージェントに伝えると便利です。 たとえば、エージェントが新入社員の会社への入社を支援する場合、トリガーペイロードを "次の社員のオンボーディングを行う。" として定義します。この指示の後には、新入社員の詳細を含むトリガーの本文が続きます。 エージェントがペイロードを受信すると、従業員のオンボーディングについて定義されたエージェントの指示に追従します。
複数のトリガー
複数のトリガーを追加し、それぞれに独自の指示を持たせることができます。 これらの指示は、エージェントの全体的な指示を補完したり、従業員のオンボーディングやインシデントレポートの処理など、同じエージェント内のさまざまなユースケースに使用したりできます。 各トリガーペイロードが、トリガーが発生したときにエージェントに何をすべきかを指示するようにすると便利です。
メールのフォーマット
「メール本文の内容にリッチテキスト形式を使用してメールを送信する」または同様の文言をエージェントに指示します。 また、この要求をアクションの説明に追加して、さらに強調することもできます。