Skip to main content

条件ロジックを使用して各コンテキストに適したプロンプトを送信する

学習の目的

この単元を完了すると、次のことができるようになります。

  • 条件式を使用して、どのプロンプトが LLM に送信されるかを決定する。
  • [Variables (変数)] タブを使用してエージェント変数の現在の値を確認する。
Note

業界標準に合わせて、Agentforce のトピックはサブエージェントと呼ばれるようになりました。現在、このモジュールでは以前の用語であるトピックが使用されています。

ステップ 1: エージェントのプロンプトを条件付きで定義する

Agentforce では、変数の値に基づいてまったく異なるプロンプトを LLM に送信できます。これは強力な機能です。ほかのエージェントでは、現在のコンテキストや状態にかかわらず、毎回、プロンプト全体が LLM に送信されます。そのようなシナリオでは、複雑な推論を LLM に指示するには、複雑なプロンプトエンジニアリングと運に頼るしかありません。

Agentforce では、推論ロジックを使用して、エージェントの各状態に専用の具体的なプロンプトを定義できます。Agentforce によって推論ロジックが処理され、その結果のプロンプトのみが LLM に送信されるため、LLM プロンプトは常にエージェントの現在のコンテキストに即したものになります。Agentforce での推論指示の解決方法についての詳細はこちらのヘルプ記事を参照してください。

ロイヤルティの高いお客様に感謝の意を示すために、あなたは CC サービスエージェントが次のようなプロンプトを LLM に送信するようにしたいと考えています。

条件

LLM に送信するプロンプト

お客様の生涯価値が $50,000 以上である

Thank the customer for being a Platinum member. (お客様にプラチナメンバーであることを感謝してください。)

顧客の生涯価値が $50,000 未満 $25,000 以上である

Thank the customer for being a Gold member. (お客様にゴールドメンバーであることを感謝してください。)

  1. [Canvas (キャンバス)] ビューで、[Experience Management (エクスペリエンス管理)] を選択します。
  2. パラグラフ 2 の末尾の before running any other actions の後にカーソルを置き、Enter キーを押して新しい行を追加します。

before running any other actions の後にカーソルが置かれていることを示す矢印。

  1. / と入力してインラインアクションメニューを表示し、[If/Else (Conditional) (If/Else (条件付き))] を選択します。

ポップアップインラインアクション。

  1. LifetimeValue 変数、[greater than or equal to (>=)] を選択し、[Enter Value (値を入力)] に 50000 と入力します。
  2. 1 行下の Write 指示の左側をクリックし、Thank the customer for being a Platinum member! (お客様にプラチナメンバーであることを感謝してください。) と入力します。

キャンバス内で定義された LifetimeValue >= 50000 に対する条件付きステートメント

  1. Enter/Return キーを 2 回押します。
  2. 上記のステップを繰り返して、LifetimeValue が 50000 未満で 25000 以上の場合の条件を追加し、テキストを Thank the customer for being a Gold member! (お客様にゴールドメンバーであることを感謝してください。) とします。
  3. [保存] をクリックします。

トピック指示で次の条件を作成しました。

キャンバスで定義された条件付きステートメント

お客様の生涯価値が $50,000 の場合、LLM には「Thank the customer for being a Platinum member! (お客様にプラチナメンバーであることを感謝してください。)」というプロンプトが送信されます。お客様の生涯価値が $25,000 以上 $50,000 未満の場合、LLM には「Thank the customer for being a Gold member! (お客様にゴールドメンバーであることを感謝してください。)」というプロンプトが送信されます。お客様の生涯価値がそれより低い場合、LLM にはどちらのプロンプトも送信されません。

条件ロジックをテストする

では、エージェントをテストしましょう。

  1. [Preview (プレビュー)] を選択します。
  2. [Preview (プレビュー)] パネルに次のプロンプトを入力します: Can you let me know more about the full moon beach party experience? (「満月のビーチパーティ」体験の詳細を教えてもらえますか?)
  3. メールアドレスとメンバーシップ番号を聞かれたら、I am sofiarodriguez@example.com and my membership number is 10008155. (私は sofiarodriguez@example.com で、メンバーシップ番号は 10008155 です) と入力します。

Sophia の生涯価値は $50,000 であるため、プラチナメンバーとして挨拶されます。別のユーザーとしてエージェントを試すには、まず シミュレーターをリセット をクリックしてコンテキストをリセットします。次に、[Preview (プレビュー)] パネルで次のように異なるユーザーとしてビーチパーティに関する同じ質問を入力します。

  • My email is ilsagalgey@example.com and my membership number is 10002212. (私のメールは ilsagalgey@example.com で、メンバーシップ番号は 10002212 です。)
  • My email is terianncreer@example.com and my membership number is 10003172. (私のメールは terianncreer@example.com で、メンバーシップ番号は 10003172 です。)

エージェントが生涯価値変数を設定することを確認する

Agentforce スタジオの [Preview (プレビュー)] ビューには、ステップの実行前と実行後のすべての変数の値が表示されます。[Preview (プレビュー)] で、[Variables (変数)] タブをクリックします。エージェントが Sophia の取引先責任者レコードから $50,000 の生涯価値を取得し、LifetimeValue 変数を更新したことがわかります。

アクションの実行前と実行後の生涯価値の値。

テストのシナリオ

テストの最初の質問では、次の推論指示について検討します。

reasoning:
       instructions: ->
           if @variables.loyalty_tier == "Basic":
               | If the user wants to make a return, apologize and explain that basic members are not eligible for returns. Offer to connect them with a live agent if they need additional support.
           if @variables.loyalty_tier == "Premium":
               | If the user wants to make a return, confirm with them which order they want to return. Once confirmed, process the return with {!@actions.create_return}.
Salesforce ヘルプで Trailhead のフィードバックを共有してください。

Trailhead についての感想をお聞かせください。[Salesforce ヘルプ] サイトから新しいフィードバックフォームにいつでもアクセスできるようになりました。

詳細はこちら フィードバックの共有に進む