仮想エージェントトピックに関する LLM の説明と指示ガイドライン
大規模言語モデル (LLM) トピックを作成するときは、LLM の動作を決定する指示と、LLM によるトピックの検出方法を決定する説明を提供します。
LLM の説明と指示ガイドラインの概要
トピック作成者は、プレーンテキストの表現を使用して、LLM トピックの検出方法を LLM に指示したり、応答方法を LLM に指示したりできます。仮想エージェントデザイナーインターフェイスには、両方を指定できるテキストフィールドがあります。
- 説明
- トピックを作成するときに説明が必要です。説明はトピックディスカバリーに使用されるため、トピックの説明が詳細かつ具体的であるほど、適切な一致が見つかる可能性が高くなります。
- 説明
- 会話フローに LLM ユーザー入力コントロールを追加すると、[ 詳細な説明] フィールドで LLM に指示を指定して、LLM に応答方法を指示できます。このフィールドを使用して、口調を定義したり、世間話をしたり、動的な挨拶をしたりすることができます。指示はエンティティ検出としても機能します。
一般的なガイドライン
- 動作動詞でリードします。命令型コマンドまたは直接コマンドを使用します。
- ユーザーは質問に質問で答えることを避けるべきです。
たとえば、LLM が「 質問は何ですか?」と尋ねた場合、ユーザーの応答「 本日は誰がオンコールですか? (Who is on call today?) 」は LLM を混乱させる可能性があります。代わりに、ユーザーは [今日は誰がオンコールか教えてください (Tell me who is on call today)] と入力する必要があります。
- 第三者や代名詞への言及は避けてください。サブジェクトまたは識別子を削除すると、通常、LLM がエンドユーザーを擬人化したり、誤認したりすることを防止します。
- 言葉によってボットが使用するロジックが決まります。これには、詳細な一連の指示が適しています。
- 指示を継続的にテストして改善します。強力な LLM 命令を作成することは、反復的なプロセスです。
NLU 発言を LLM の説明として使用しないでください
NLU の発言はキーワードとその言い回しに大きく依存しますが、LLM の記述は大きく異なります。説明の NLU 発言の問題は、LLM への指示が提供されないことです。Google 検索の説明も LLM ではうまく機能しません。説明を記述するときは、トピックの目的とそのトピックで実行されるタスクのコンテキストについて具体的に記述する必要があります。キーワードは必ずしも役に立ちませんが、ロジックは役に立ちます。
詳細については、「General guidelines for writing instructions for generative AI large language models (LLMs)」を参照してください。
トピックの説明の例
次の例では、弱いトピックと強いトピックの説明について説明します。トピックの説明が強力であるほど、トピックディスカバリーの精度が向上します。
| 強さ | 説明 |
|---|---|
| 弱い説明 | このトピックでは、会社の従業員の祝日カレンダーについて説明します。 |
| 強力な説明 | このトピックでは、会社の従業員の祝日カレンダーについて説明します。ユーザーは、特定の年や特定の日付の休日リストや会社の休日を尋ねたり、特定の休日について問い合わせたり、特定の休日に休みがあるかどうかを尋ねたりすることができます。このトピックでは、祝日カレンダーの利用可能性や、自由の日やウェルビーイングデーなどの特定の祝日についても説明します。 |
| 強さ | 説明 |
|---|---|
| 弱い説明 | このトピックは、 Microsoft が提供するディレクトリサービスである Active Directory の管理と運用に関連しています。 |
| 強力な説明 | このトピックは、 Microsoft が提供するディレクトリサービスである Active Directory の管理と運用に関連しています。これには、ディレクトリやプロセスの作成、変更、削除など、Active Directory に対する変更が含まれます。このトピックには、Active Directory 環境内のユーザーアカウント、グループ、権限の管理など、管理者が実行するタスクも含まれています。 |
入力コントロールの指示例
LLM がエンティティを識別してスロットを適切に入力できるように、[ ノード名] フィールドは一意であり、ユーザーが実行しようとしている操作を説明する必要があります。たとえば、「 AD 操作タイプ」 と「 AD 操作」という 2 つの入力ノードが定義されている場合、LLM がエンティティを識別し、間違った入力ノード変数にマッピングする可能性があります。ノードの名前を変更して 2 つを区別することをお勧めします。たとえば、 パスワードリセットの AD 操作 とロック された認証情報とパスワード変更の AD 操作 は、より強力で一意のノード名です。
ノードの [詳細な説明 ] フィールドには、LLM がユーザーから抽出する可能性のある値 (該当する場合) に関する明確な指示が含まれている必要があります。たとえば、ノードが Active Directory 操作を実行する場合は、[ LLM に対する追加説明 (Additional instructions for LLM )] エリアで許可される操作を具体的に指定する必要があります。次に、LLM は値マッピングを使用してエンティティを識別し、スロットを埋めます。
次の例では、弱入力ノードと強入力ノードの命令について説明します。指示が適切であるほど、結果も改善されます。
| 強さ | 詳細な説明 |
|---|---|
| 弱い指示 | AD の収集操作タイプ |
| 強力な指示 | AD の収集操作タイプ LLM に対する追加指示:この入力では、マッピングされた値 {"reset":["reset","locked","unable to sign in","expiry", "expired", "expire"],"change":["change"]}。キーに関連付けられた値がユーザー入力に含まれている場合は、キーを抽出する必要があります。 |