生成オーケストレーションのための高品質な指示を構成する

この記事では、エージェントが生成オーケストレーションを使用する際に、エージェント向けの最適な指示を作成する方法について説明します。 エージェントの概要ページで手順を定義します。

指示フィールドがハイライト表示された、エージェントの「概要」ページのスクリーンショット。

エージェントは、指示を次のように使用します:

  • どのツールやナレッジを活用すべきかを決定することで、ユーザーのクエリや自律的なトリガーに対応します。
  • 利用可能なコンテキストに基づいて、任意のツールの入力欄に値を入力する。
  • ユーザーへの応答を生成する方法。

指示文の作成における言語表現

データの取得と解析には GetUse などの語句を使用し、結果に基づいて操作するには FromWith のような動詞を使用します。

次の語句は、単純な指示を作成するためによく使用されます。

ゴール ボキャブラリ
条件 いつでも、もしも、確認する、比べる
フィルター から、含める、除外する、比較する、識別する
日付 提供、取得、使用、分析、抽出
ツール 通知、指示、尋ねる、割り当て

サポート情報ソースとツールのグラウンド手順

エージェントは、ツールサポート情報ソースを所有していない場合、それらを使用するよう指示されてもそれに従うことはできません。 まず、適切なツールやサポート情報ソースを使用してエージェントを構成する必要があります。 たとえば、エージェントに Web サイトの FAQ を検索するよう指示した場合、その指示をエージェントが実行するには、トピック内でその Web サイトの FAQ をサポート情報ソースとして追加する必要があります。 エージェントに与える指示が、エージェント用に構成したツールとナレッジに基づいていることを確認します。

注意

生成オーケストレーションが特定のサポート情報ソースを検索できるようにするには、それらのサポート情報ソースをトピック内の生成応答ノードに組み込みます。 それ以外の場合、生成オーケストレーションはエージェント レベル (ナレッジ ページにリストされているサポート情報ソース) のすべてのサポート情報ソースを検索します。

エージェントによる適切なツールとナレッジの判断を支援する

エージェント向けに適切なツールやサポート情報ソースを呼び出す手順を追加する前に、各ツールとサポート情報ソースが、説明文の作成に関するベストプラクティスに従っていることを確認します。 最良の結果を得るためには、名前と説明を正確かつ具体的に入力する必要があります。エージェントはこれらの項目を使用して、どのような呼びかけを行うかを判断するためです。 説明を使用して、エージェントが間違ったアクションまたは知識源を呼び出している場合には行わ ない ことを示します。

この情報はエージェントが既に把握しているため、利用可能なツールやサポート情報ソースを指示で定義する必要はありません。 指示を作成する際、/ をエージェント向けの特定のツール、トピック、変数、Power Fx 式に使用できます。 ただし、エージェントはツールやサポート情報ソースの名前と説明も使用して、使用する対象を決定するため、エージェント用に特定のものを指定する必要はありません。

代わりに、適切なツールやサポート情報ソースが曖昧な場合にエージェントにヒントを与えたいケースにのみ、指示を追加することに重点を置きます。 複数のツールやサポート情報ソースを参照する指示を与えることもできます。

Use the FAQ documents 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.

エージェントが適切なサポート情報ソースを選択できるようにする

エージェントがサポート情報ソースから確実に情報を取得できるよう、指示書にはどのドキュメントを確認すべきかを必ず明記してください。 たとえば、「サポート情報で従業員の入社手続きに関するドキュメントを検索してください」などです。このような具体的な指示は必ずしも必要というわけではありませんが、エージェントの指針として役立ちます。 エージェントが検索する必要のあるドキュメントが多数ある場合、このタイプの特定方法は使用されます。

エージェントによる適切な一連のツールの選択を支援する

エージェントは適切なツールの選択を試み、概ね成功しますが、指示を明示的に伝えるとさらに効果的です。 たとえば、エージェントに create order ツールを使用して Dataverse に発注書レコードを作成させたい場合は、/ を使用し、その特定のツールを指示に追加します。 このシナリオでは、明確な指示を提供します: ユーザーが基本設定のノートパソコンの詳細を提供したら、/注文書を使用して発注書を作成する。この具体的な手順は、エージェントに多数のツール (5 つ以上) が追加されている場合に役立ちます。

指示事項を番号付けするか、箇条書きにして、エージェントがそれらを順番通りに従う必要があることを明記してください。 また、Markdown 形式を使用することで、説明文の読みやすさを向上させ、生成 AI がそれを理解、処理しやすくなるよう支援することもできます。

注意

エージェントにユーザーへ連絡してほしくない場合は、その旨を指示書に明記します。 たとえば、「ユーザーに詳細を尋ねないでください」などです。

手順書でツールの名前を記載する際は、そのツールの正確に同じ名前を使用するようにしてください。 名前のわずかな違いは、結果に悪影響を与える可能性があります。 また、特定のツール名(/"Tool_Name") を作成する際は、必ず / を使用するようにしてください。

ユーザー入力への応答において、エージェントに極めて具体的な対応を求める場合は、この特定の使用用途に対応するトピックを作成することを検討してください。 たとえば、「他に利用できるオプションはありますか?」のようなフレーズを認識するトピックを作成します。エージェントは「現在利用できる他のオプションはありません。利用できるリストから選択してください」と具体的に応答します。

エージェントはツールの説明を用いて、そのツールを使用する理由を理解します。 ツールの説明を充実させることは、エージェントによる適切なツールの選択に役立ちます。 「ユーザーが顧客の予約履歴の照会をリクエストした場合は、このツールを呼び出す」など、エージェントが特定のツールをいつ呼び出すべきかを示す説明を追加してください。

トリガーは、ジェイルブレイク攻撃に対して脆弱である可能性があります。 この種の攻撃では、攻撃者がトリガー ペイロード内でエージェントが従うべき指示を送信します。 たとえば、攻撃者はエージェントに対し、自身がアクセス可能な情報を自身宛にメールで送信するよう要求する可能性があります。

このリスクからエージェントを保護するため、指示には以下の情報を含める必要があります:

  • エージェントがサポート情報ソースを参照する際に使用するツールを制限する。 たとえば、サポート情報ソースの文脈を確認したうえで、メールでのみ情報を送信します。

  • エージェントがツールに使用するパラメーターを制限します。 たとえば、指定した個人のリストのみにメールを送信します。

エージェントがコンテンツ フィルターを使用することで通常の動作をブロックしていることに気付いた場合は、その動作が正常に機能するよう、エージェントへの指示を更新してください。

エージェントによるツールの入力を支援する

エージェントは、入力の必要がある入力パラメーターを持つツールを呼び出す場合があります。 この場合、エージェントは会話履歴や、ツールやサポート情報ソースへの過去の問い合わせ履歴を使用して、どのような入力をすべきかを判断します。 エージェントがすべての入力情報を特定できない場合、ユーザーに不足している情報の入力を依頼します。

このシナリオでは、まず、エージェントが処理すると予想される対話の種類に基づいて、エージェントの入力を構成してください。 次に、エージェントが利用可能な最適な入力を入力する必要がある状況でのみ、入力を補完するための指示を使用します。

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.

エージェントが応答を生成するのを助ける

まず、指示を使用して、エージェントが応答すべきでない場合について、その行動のガードレールを示します。 エージェントは、現在のシナリオに関連するツールやサポート情報ソースへの呼び出しを行った後、応答を生成します。 エージェントの生成 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.

エージェントにプロのように丁寧に話してもらいたい場合、このトーンはエージェントの既定の動作であるため、指示する必要はありません。 トーンの指示は、特定のユースケースに対してのみ行います。

会話ベースの指示

次の例は、制約応答形式ガイダンス の構築を使用して会話ベースの指示を書式設定する方法を示しています。 これら 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.

自律的な指示

次の図は、自律的な命令に基づいてエージェントが実行する手順を示しています。

デバイス発注プロセスを自動化する、サンプル デバイス調達エージェントの 4 ステップのプロセスを示す図。

エージェントの指示と動作

Copilot Studio のエージェント指示を使用して、ドキュメントの検索後に回答の要約内容に影響を与えることができます。 以下に挙げるよくある誤解とベスト プラクティスを参考にすることで、信頼性の高いエージェント体験を設計できます。

注意

このシステムでは、エージェントの指示をコードと同様に扱います。 誤ったコードを使用すると、システムに不具合が生じる可能性があります。特に引用や返信の表示設定に関しては注意が必要です。 複雑な指示を設定していて、反応が得られない場合は、エージェントへの指示をすべて削除し、個々の指示を少しずつ追加し直してみてください。 各追加のたびにテストして、エージェント指示が正しく動作することを確認してください。

アダプティブ カードの動作

エージェントの指示は、アダプティブ カードのトリガー方法を変更できません

代わりに、アダプティブ カードを使用する場合:

  • アダプティブ カードを直接編集します。
  • カード構成内でトリガー フレーズを調整し、表示タイミングを制御します。

フォローアップの質問を使用する

フォローアップの質問を使用して、意図を明確にし、不足している情報を収集し、関連する行動や知識を引き出します。 このアプローチを使用すると、エージェントは実行時に自分が何ができるか、何を知っているかに基づいて、適切な次の質問を投げかけます。

フォローアップの質問を使用する際には、以下の点に留意する必要があります:

  • 根拠のない回答を許可する設定が無効になっている場合、フォローアップ質問は機能しません。
  • この設定を無効にすると、オーケストレーターは出典のない確認質問を根拠のないものとみなして、抑制します。 エージェントは既定で次の応答に設定されます。「申し訳ありません。その方法がわかりません。 言い換えてみてください。"

エージェントは、利用可能なツールや知識に基づいて、ユーザーのニーズを予測し、次に取るべき合理的な行動を提案できます。 たとえば、「今日のローマの天気はどうですか?」という質問に答えるエージェントは、「明日の天気も知りたいですか?」と尋ね、ユーザーが「はい」と答えた場合、追加の確認をせずにその指示に従うことができます。

エージェントがユーザーに追加の質問をしている、エージェントとユーザーとのやり取りのスクリーンショット。

このアプローチにより、ハードコーディングされたダイアログのパスを削減します。 代わりに、あらゆる可能性のある分岐をすべて記述する負担を、エージェントの能力を参照する指示でエージェントの推論を導くことへと移行します。

利用可能なツールやフォローアップ質問の例が強調表示されている、エージェント向けの指示画面のスクリーンショット。

フォローアップの質問を使用する際は、以下の戦略に従ってください。

  • 指示文内の参照ツール、知識、変数を明記し、エージェントがそれらを使用して文脈に応じたフォローアップの質問を生成できるようになります。 この手順では、エージェント変数ツールナレッジPower Fx 式への参照を直接サポートしています。

  • エージェントに対し、その場の状況やエージェントが現在使用しているツールに関連したフォローアップの質問で回答を締めくくるよう指示してください。 このアプローチにより、固定的で柔軟性に欠けるフローではなく、状況に応じた柔軟な対応が可能になります。

  • エージェントが期待されるパターン (何を尋ねるべきか、その理由は何か) を習得できるよう、指示文には具体例や根拠を明示しておきます。 利用可能なツールを一覧表示することで、オーケストレーターがどのツールが活動中であるかをすでに把握している場合でも、フォローアップの質問の適切さと自然さが高まります。

既定のフォールバック メッセージを変更する

カスタム指示は既定のフォールバック メッセージを上書きできません。

既定のメッセージは、「申し訳ございません。その方法がわかりません。 言い換えてみてください。"

既定のメッセージを変更する方法:

  1. フォールバック トピック: トピックシステムフォールバックに移動します。

  2. フォールバック トピック内で、メッセージ テキストを編集します。

曖昧な用語

手順では、「入力ボックス」 などのあいまいな語句を避けます。 これらの種類の用語は、言語モデルではあいまいであるため、予期しない動作につながる可能性があります。

検索の取得

エージェントの指示は検索取得ロジックを変更できません。 ドキュメントの取得に影響を与えようとする指示をすべて削除します。

取得したドキュメントの共有

取得したドキュメントの共有方法は変更できません。 システムがこの動作を制御します。

トリガーを含める

既定のトリガー ペイロードを変更して、トリガーが呼び出されたときに何をすべきかをエージェントが理解できるようにします。 変数を使用してペイロードのサイズを小さくします。 トリガーを作成し、Power Automate で編集して、特定の変数を選択します。 たとえば、メッセージ ペイロード全体ではなく、受信した電子メールの件名フィールドのみを送信します。

注意

トリガーは Copilot Studio では直接編集できず、Power Automate でのみ編集できます。

トリガーの指示でトリガー ペイロードをどうするかをエージェントに伝えると便利です。 たとえば、エージェントが新入社員の会社への入社を支援する場合、トリガーペイロードを "次の社員のオンボーディングを行う。" として定義します。この指示の後には、新入社員の詳細を含むトリガーの本文が続きます。 エージェントがペイロードを受信すると、従業員のオンボーディングについて定義されたエージェントの指示に追従します。

複数のトリガー

複数のトリガーを追加し、それぞれに独自の指示を持たせることができます。 これらの指示は、エージェントの全体的な指示を補完したり、従業員のオンボーディングやインシデントレポートの処理など、同じエージェント内のさまざまなユースケースに使用したりできます。 各トリガー ペイロードが、トリガーが発生したときにエージェントに何をすべきかを指示するようにすると便利です。

メールのフォーマット

「メール本文の内容にリッチ テキスト形式を使用してメールを送信する」または同様の文言をエージェントに指示します。 さらに強調するために、ツールの説明にこの要求を追加することもできます。

自動生成されるメール返信におけるリッチ テキスト形式のメールの書式設定方法を示したエージェント ツールのスクリーンショット。

多言語サポート

多言語サポートを求める指示は機能する可能性がありますが、保証はされません。 多言語機能はテストされておらず、公式にサポートされていません。

要点

  • エージェントへの指示は、できるだけシンプルかつ簡潔にしてください。
  • 要約や会話のフローについてはエージェントの指示を使用して、システム レベルの動作には使用しないでください.
  • フォールバックやアダプティブ カードの構成については、手順ではなくトピック設定を使用します。
  • 多言語サポートなどの機能は、ユーザーに提供する前に検証してください。