Administrator 練習問題 Q208
プラットフォーム管理者は、eコマースサポートチームを支援するエージェントを構築しています。このエージェントは、システム内の顧客の配送先住所を変更する「updateShippingAddress」というアクションを呼び出す必要があります。ベストプラクティスによれば、管理者は「updateShippingAddress」アクションにどのアクション命令セットを使用すべきでしょうか?
左の○で回答を選択。本文を押すと横線で除外でき、もう一度押すと戻せます。
1つ選択してください(0/1)
正答:B. 「このアクションは顧客の配送先住所を更新します。ユーザーが住所を変更したい場合に使用します。システムに顧客のアクティブな注文がない場合にのみ使用してください。」
解説
前提知識
Agentforceのアクション命令とは
Agentforceのアクションは、フロー、Apex、プロンプトテンプレートなどの処理をエージェントから実行するための機能です。エージェントは、アクションの名前、命令、入力、出力の説明を使って、会話中にどのアクションを実行するかを判断します。
📘 ここがまだモヤッとする方へ:Agentforceのトピックとアクション:エージェントに「何を・いつ」やらせるかを決める仕組み
公式が推奨する命令の書き方
Salesforce公式は、アクション命令について次の要素を推奨しています。
- 何をするアクションかを具体的に説明する。
- いつ使用するかを説明する。
- 通常は1~3文の簡潔な自然言語で書く。
- 必要に応じて、使用条件、特殊条件、例外、対象レコードを含める。
- Agentforce Builderでテストし、期待どおりに選択されるまで調整する。 「住所を更新する」だけでは対象が曖昧です。「顧客の配送先住所を更新する」のように、変更対象を具体化します。
命令と業務ロジックの違い
命令は、エージェントがアクションを選ぶための自然言語ガイドです。確実に守る必要がある重要な業務ルールは、命令だけに依存せず、アクションの元になるフローやApexにも実装します。 本問の「アクティブな注文がない場合のみ」という条件は、Salesforce全体に共通する標準ルールではありません。このカスタムアクション固有の使用条件として選択肢に提示されているものとして評価します。
設問の状況を分解する
- アクション名は
updateShippingAddressである。 - 処理内容は、システム内の顧客の配送先住所を変更することである。
- 最適な命令には、処理内容と使用タイミングが必要である。
- 条件や例外がある場合は、その条件も明確に記述する。
- 選択肢Bは、処理対象、使用タイミング、特殊条件を具体的かつ一貫して説明している。 したがって、公式のベストプラクティスに最も合うのはBです。
選択肢の検討
A. 「配送情報を更新するにはこれを使用してください。システム内で顧客の住所を変更する場合に使用されます。」 → △(惜しいが不正解)
アクションを使用する場面は書かれていますが、「配送情報」と「顧客の住所」が曖昧です。配送先住所、請求先住所、配送方法、配送状況などの別アクションと区別しにくい命令です。 これが正解になる場面は、アクションが顧客住所全般を変更するもので、他に似たアクションがなく、追加の使用条件もない場合です。
B. 「このアクションは顧客の配送先住所を更新します。ユーザーが住所を変更したい場合に使用します。システムに顧客のアクティブな注文がない場合にのみ使用してください。」 → ⭕ 正解
次の3点が明確です。
- 何をするか:顧客の配送先住所を更新する。
- いつ使うか:ユーザーが住所を変更したい場合。
- 特殊条件:アクティブな注文がない場合のみ。 公式が推奨する、具体的な処理内容、使用事例、特殊条件を含む1~3文の命令に一致します。 ただし、最後の条件が実際の業務要件であることは設問文だけでは確認できません。実装時には、参照アクションの仕様と照合する必要があります。
C. 「このアクションにより配送先住所を変更でき、住所が最新かつ正確であることを確認することが目的です。」 → ✕
処理の目的は説明していますが、どのユーザー要求で使用するかがありません。また、「最新かつ正確であることを確認する」は、住所を検証するアクションなのか、住所を更新するアクションなのかが曖昧です。 これが正解になる場面はありません。使用タイミングを追加し、更新と検証のどちらを行うかを明確にする必要があります。
D. 「顧客の注文の配送先住所を更新します。このアクションの目的は、顧客のレコードの住所を変更することです。エージェントは、ユーザーが明示的に住所の変更を要求した場合にのみ、このアクションを使用する必要があります。」 → △(惜しいが不正解)
「何をするか」と「いつ使うか」は含まれています。しかし、前半では注文の配送先住所、次の文では顧客レコードの住所と、更新対象が一致していません。 命令内の対象レコードが矛盾すると、エージェントが必要な入力や更新対象を誤って判断する可能性があります。明示的な依頼時だけ使うという条件は適切ですが、命令全体の一貫性でBに劣ります。
管理者としての対処手順
updateShippingAddressの参照アクションであるフローまたはApexを確認し、実際に更新するオブジェクトと項目を特定する。- アクション命令を1~3文で作成し、処理内容と使用タイミングを明記する。
- 「アクティブな注文がない場合のみ」などの特殊条件が実要件なら、命令に記載する。
- 重要な制約は、フローの判断要素やApexの検証にも実装する。
- 入力項目に、顧客ID、配送先住所など何を渡すかを具体的に説明する。
- レコードを変更するアクションでは、必要に応じてユーザー確認を要求する設定を有効にする。
- Agentforce Builderのプレビューで、住所変更の依頼、住所照会、注文配送先の変更などの会話を試す。
- 正しいアクションが選ばれない場合は、アクション名と命令を修正して再テストする。
あわせて覚えておきたいポイント
- アクション命令は、何をするか・いつ使うか・必要な特殊条件で構成します。
- 似たアクションがあるほど、対象オブジェクトや変更項目を具体的に書く必要があります。
- 自然言語の命令は非決定的です。守らなければならない業務ルールは、フローやApex側でも強制します。
- 文章が長いことよりも、対象と条件が一貫していることが重要です。
出典(Salesforce公式)
- Best Practices for Agent Action Instructions — アクション命令は、アクションが何をし、会話中のいつ使用するかを説明する。通常は1~3文で、目標、使用事例、使用・変更するレコード、必要な詳細を含める。
- Prompt Fine-Tuning in Agentforce — アクション命令には、使用する状況、必要情報、特殊条件や例外を具体的に記述する。重要な業務ロジックはアクション側で実装する。
- Create a Custom Action — カスタムアクションの説明を、アクションの内容、使用タイミング、使用方法が分かるように設定し、Agentforce Builderでテストする。