エージェントアクションの手順のベストプラクティス
アクション手順では、アクションで実行する内容とアクションを使用するタイミングをエージェントに指示します。カスタムアクションを作成するときは、慎重に手順を計画してテストし、アクションが期待どおりに実行されることを確認します。
必要なエディション
| 使用可能なインターフェース: Lightning Experience |
| 使用可能なエディション: Enterprise Edition、Performance Edition、Unlimited Edition、および Developer Edition。必要なアドオンライセンスはエージェント種別によって異なります。 |
エージェントアクションの名前と手順、およびそれらの入力と出力によって、アクションを使用するタイミングと方法が決まります。AI エージェントは、大規模言語モデル (LLM) と推論エンジンを使用して、エージェントに割り当てられたすべてのサブエージェントとアクションを検索し、ユーザーの質問または要求に基づいて会話で実行する 1 つ以上のアクションを選択します。命令の効果が高いほど、アクションの予測精度が高くなります。
効果的な手順は、アクションと使用事例によって異なります。最良の結果を得るには、Agentforce Builder でアクションをテストし、アクションが要件を満たすまで繰り返します。
アクションの手順
アクション手順は、アクションで実行する内容と、会話で使用するタイミングを説明します。アクション指示の最も重要な要素は、アクションの内容の簡潔な自然言語の説明です。通常、1 ~ 3 文が LLM への指示として記述されます。説明には、アクションの目標または ToDo、アクションの使用事例、アクションで使用または変更するオブジェクトまたはレコードを含めることができます。一般に、関連する詳細を指示に含めるほど、LLM はアクションを区別しやすくなります。
| エージェントアクションの例 | 効果の低い説明 | より効果的な説明 |
|---|---|---|
| 取引先責任者電話番号の更新 | 電話番号を更新します。 | 取引先責任者レコードに関連付けられたユーザーの電話番号を更新します。一致する取引先責任者が存在しない場合は、新しい取引先責任者レコードを作成します。 |
| レコードを照会 | 自然言語を使用して Salesforce CRM レコードに関する情報を照会する機能を提供します。 | ユーザーの入力と特定の条件 (項目値など) に基づいて Salesforce CRM レコードを検索および取得します。このアクションにより、正しいレコードとオブジェクト種別が自動的に識別されます。 |
| 注文の追跡 | 注文の追跡情報を取得するアクション。 | 追跡番号と目的地郵便番号に基づいて、顧客注文の追跡情報を返します。 |
多くの場合、エージェントがアクションを期待どおりに使用するために必要なのは自然言語の説明のみです。ただし、一部のアクションではテスト後に詳細が必要になります。アクションの説明を絞り込むためのオプションを次に示します。
| 含める内容 | 使用するケース | 例 |
|---|---|---|
| 1 ~ 3 件の発言 (顧客の入力例) | アクションをトリガーすると想定される顧客メッセージの例を含めて、LLM が特定の顧客の入力をアクションと照合できるようにします。 複数の発言を含める場合は、重複を最小限に抑えます。
|
|
| 連動アクション | 一部のアクションでは、他のアクション (多くの場合、システムアクション) を使用して必須情報を取得します。必要なアクションが計画に含まれていない場合や、アクションが正しい順序でコールされていない場合は、API 参照名で指定できます。 | 入力として 1 つのレコード ID を取得するには、このアクションの直前にアクション IdentifyRecordByName をコールする必要があります。 IdentifyRecordByName アクションが計画に含まれている場合、GetRecordFieldsAndValues の前に実行する必要があります。 |
| アクションの機能の例 | 例はうまく一般化できませんが、エージェントが一貫してミスを犯す場合に役立ちます。 一般に、LLM は、実行すべき例と実行すべきでない例を理解していますが、どちらでもテストできます。 |
このアクションは、より具体的な集計アクションを使用できない場合にのみコールする必要があります。 |
入力と出力の手順
入力と出力の手順では、パラメーターの書式設定と使用方法について説明します。入力の手順で、アクションを完了するために必要な情報を指定します。出力の手順で、アクションの結果とエージェントがユーザーに返す内容を指定します。
LLM は、Salesforce コンテキストを含め、コンテキストを完全には理解していません。つまり、LLM は Salesforce レコード ID の文字数や Salesforce オブジェクトの名前を常に認識しているわけではありません。簡潔で詳細な手順は、エージェントが必要な情報を取得して関連する結果を返すのに役立ちます。適切な詳細レベルを判断する最善の方法は、指示をテストして反復することです。
入力または出力の指示を記述するときは、次の点を考慮してください。
- 情報のデータ種別: 「18 文字の ID」、「ユーザーの質問に対するリッチテキストの回答」。
- 特定の項目または値: 「取引先責任者 ID と配送予定日を含む」。
- 情報の取得または生成方法: 「新規メールの場合、ユーザーの入力から ID を取得します。改訂済みメールの場合は、会話履歴から ID を取得します。」
- アクションの使用目的に関する特別なルール (「SQL または SOQL を生成しないでください。」、「ユーザーが以前のドラフトを修正する必要がある場合にのみ必要です。」、「API 参照名は、ユーザー要求から Salesforce レコードの項目と値のペアを識別するために使用されます。」)。
入力と出力の効果的な命令の例を次に示します。
| 入力または出力パラメーター | 説明 |
|---|---|
| RecordID | サマリーを作成する Salesforce CRM レコードの単一 ID。例: recordId、record_id、recordIds[0]、accountId。 |
| objectApiName | ユーザーが検索したいレコードに関連付けられた Salesforce オブジェクト (取引先や商談など) の API 参照名。この名前はコンテキストから取得でき、IdentifyObjectByName アクションは必要ありません。 |
| summary | 指定されたレコードに対して作成されたリッチテキストの概要。 |
| searchResults | 一致する Salesforce CRM レコード ID の関連性の降順のリスト。 |
| generatedEmail | 受信者 ID、件名、メールの本文が含まれる JSON オブジェクト。 |

