効果的なプロンプトテンプレートを作成する
学習の目的
この単元を完了すると、次のことができるようになります。
- プロンプトとプロンプトテンプレートの役割を説明する。
- さまざまなプロンプトテンプレートの種類を挙げる。
- Salesforce 組織のデータをプロンプトテンプレートに統合して、AI による応答を強化する。
日常生活におけるプロンプトの力
自分では意識していなくても、あなたはこれまでの人生でずっとプロンプトを使用してきています。特定の反応を期待して指示を出すということが、プロンプトエンジニアリングを実践していることになるのです。
- たとえば、カスタマーサポート用のチャットボットにメッセージを入力するとき。
- 音声アシスタントにリマインダーの設定を頼むとき。
- レジ係に「細かいお札で」とお釣りの希望を伝えるとき。
- さらには「アイスラテのラージサイズ。オーツミルク、砂糖なしで」とコーヒーを注文するときも、望む結果に向けた具体的な入力を提供しているのです。
こうした日常のやり取りは、構造化された入力によって明確で期待どおりの結果が得られることを示しています。これは AI におけるプロンプトエンジニアリングとまったく同じです。
それでは、この概念が実際のカスタマーサービスの場面でどのように活用されるのかを見ていきましょう。
Coral Cloud Resorts でのゲストからの苦情対応
Sofia Rodriguez は家族と過ごす Coral Cloud Resorts での休暇を心待ちにしており、特に「ホワイトウォーターラフティングラッシュ体験」を楽しみにしていました。ところが、そのアクティビティが突然キャンセルされたため、Sofia はカスタマーサポートに連絡しました。
Coral Cloud Resorts の人気が高まるにつれて、Sofia のようなゲストからの苦情が増えており、カスタマーサービスチームは対応しきれず、応答までの時間も長くなってきています。Coral Cloud Resorts では、より迅速な解決を提供し、ゲスト満足度を高めるために、Agentforce for Service を導入して苦情対応を効率化し、ゲスト体験を改善したいと考えています。Coral Cloud Resorts のシステム管理者である Becca は、エージェントの設定を任されました。彼女はまず、Agentforce の自動化によってどのような支援ができるかを整理するところから始めました。
Agentforce によるケース解決の自動化
Agentforce を使用して応答と解決のプロセスを自動化することで、Coral Cloud Resorts は問題に迅速かつ効率的に対応し、ゲスト満足度を向上させることができます。以下はそのプロセスの概要です。
ゲストからの苦情に対応するシンプルなワークフロー
-
ゲストが苦情を送信: ゲストはチャットのエージェントを使用して苦情を伝えます。
-
エージェントがゲストの本人確認を実施: システムがゲストの本人確認とオープンケースの詳細をチェックします。
-
エージェントが苦情を分類: 苦情の内容に基づいて、エージェントが問題を 4 つのランクのいずれかに分類します。
- ランク 0 (軽微な好み): ゲストの好みに基づく小さな不満。
- ランク 1 (軽微な不便): アクティビティの開始遅延などの軽微な不便。
- ランク 2 (中程度の支障): 予約ミスやサービスへの不満。
- ランク 3 (重大な支障): アクティビティのキャンセルやゲストへの深刻な影響。
- ランク 0 (軽微な好み): ゲストの好みに基づく小さな不満。
-
エージェントが解決策を提示: ケースの詳細と補償レベルに基づいてエージェントが解決策を提示します。
-
ゲストが補償を選択: ゲストが希望する補償オプションを選択します。
-
ケースをクローズ: ゲストがオプションを選択すると、エージェントがケースを最終処理してクローズします。
エージェントはそれ自体でも強力ですが、正確で一貫性があり、有用な応答を提供するには、やはり明確で構造化されたプロンプトに依存します。プロンプトテンプレートはガイドのような役割を果たします。各状況に対して適切なコンテキスト、トーン、データをエージェントに提供し、効果的に対応できるようにします。これは、パーソナライズされた正確なコミュニケーションが求められるゲストからの苦情など、繊細な問題に対応する際には特に重要です。プロンプトテンプレートを使用することで、エージェントがより良い出力を生成し、すべてのゲスト対応において一貫したトーンを保つことができます。
次に、テンプレートの種類を確認し、Becca が Coral Cloud Resorts のプロンプトテンプレートをどのように設定するかを見ていきましょう。後でこのテンプレートをエージェントに接続します。
適切なプロンプトテンプレートを選択する
プロンプトビルダーでは、用途に応じてさまざまなプロンプトテンプレートを選択できます。
-
項目生成テンプレートは、1 つのオブジェクトを使用して Lightning Experience のレコード項目に情報を入力するケースに適しています。
-
Flex テンプレートは、最も柔軟性が高く、複数のオブジェクト、自由テキスト入力項目 (テキストのみで構成され、レコードと関連しない入力項目)、データモデルを使用して、より豊かな応答を生成できます。
-
標準テンプレートは、特定のユースケースに関連した応答に最適ですが、その範囲に限定されます。たとえば、作業概要、セールスピッチのコーチング、地上業務の返信などです。
このユースケースで Flex テンプレートを選ぶ理由
ゲストからの苦情は、軽微な不便から複雑な問題までさまざまです。そのため Becca は柔軟に対応できるソリューションを必要としています。このような状況には Flex テンプレートが最適です。Flex テンプレートは、より限定的なテンプレートに見られる多くの制約を取り除いてくれるからです。Flex テンプレートには次の利点があります。
- 複数のオブジェクトを使用できる
- カスタマイズに対応した自由テキスト入力ができる
- 動的かつ状況に応じた応答を生成するデータモデルを使用できる
このような柔軟性の高さにより、Flex テンプレートはインタラクティブなチャット体験、パーソナライズされたおすすめ、豊富なコンテキストに基づくインサイトなど、柔軟な対応が求められる場面に最適です。
Coral Cloud Resorts では、すべてのゲストを大切に扱っています。そして、何か問題が起きたときには、誠意をもって対応したいと考えています。そのため、ゲストから苦情があった際に話を聞き、ケースの詳細を取得し、適切な補償を提案して体験を好転させるエージェントを構築しようとしているのです。
このプロセスをさらに効率的かつパーソナライズされたものにするために、Becca は Flex プロンプトテンプレートを作成します。これにより、エージェントはゲストごとの状況に応じて応答を動的に調整でき、常に適切な解決策を提供できるようになります。
プロンプトビルダーと Agentforce を利用できる無料の Developer Edition 組織にサインアップする
このモジュールを実行するには、プロンプトビルダーと Agentforce、そしてサンプルデータが搭載された特別な Developer Edition 組織が必要です。このモジュールの Challenge に取り組めるように、ここで無料の Developer Edition を入手して Trailhead に接続します。この Developer Edition は、このバッジの Challenge 用に設計されているため、他のバッジでは機能しないことがあります。使用している Trailhead Playground や特別な Developer Edition 組織が推奨されているものであることを必ず確認してください。
- この無料のプロンプトビルダーと Agentforce を利用できる Developer Edition 組織にサインアップしてください。
- フォームに入力します。
- [Email (メール)] には、有効なメールアドレスを入力します。
- [Username (ユーザー名)] に、メールアドレス形式の一意のユーザー名 (例: yourname@example.com) を入力しますが、有効なメールアカウントである必要はありません。
- [Email (メール)] には、有効なメールアドレスを入力します。
- フォームに入力したら [Sign me up (サインアップ)] をクリックします。確認メッセージが表示されます。
- アクティベーションメールを受信したら (数分かかる場合があります)、そのメールを開いて [Verify Account (アカウントを確認)] をクリックします。
- パスワードと確認用の質問を設定して、登録を完了します。後でアクセスしやすいように、ユーザー名、パスワード、ログイン URL を安全な場所 (パスワードマネージャーなど) に保存しておくことをお勧めします。
- Developer Edition にログインした状態になります。
新しい Developer Edition 組織を Trailhead に接続します。
- Trailhead アカウントにログインしていることを確認します。
- このページの下部にある「Challenge」セクションで組織名をクリックして、[Connect Org (組織を接続)] をクリックします。
- ログイン画面で、先ほど設定した Developer Edition のユーザー名とパスワードを入力します。
- [Allow Access? (アクセスを許可しますか?)] 画面で [Allow (許可)] をクリックします。
- [Want to connect this org for hands-on challenges? (この組織をハンズオン Challenge 用に接続しますか?)] 画面で [Yes! Save it. (はい、保存します。)] をクリックします。Challenge ページにリダイレクトされたら、このバッジの獲得を目指して新しい Developer Edition を使用できます。
Flex プロンプトテンプレートを作成する
Becca は Flex テンプレートを選択しましたので、これをプロンプトビルダーでどのように設定するかを見ていきましょう。新しい Developer Edition 組織で一緒に操作してもまいません。
-
をクリックし、[Setup (設定)] を選択します。[Setup (設定)] ページが新しいタブで開きます。
- [Quick Find (クイック検索)] ボックスで [Einstein Setup (Einstein 設定)] を検索して選択します。
- 切り替えをクリックして Einstein を有効にします。
- Einstein が有効になると新しいシステム管理者の設定が表示されますので、ブラウザーウィンドウを更新します。
- [Quick Find (クイック検索)] ボックスで [Prompt Builder (プロンプトビルダー)] を検索して選択します。
-
[New Prompt Template (新規プロンプトテンプレート)] をクリックします。
- 次の項目を入力します。
- Prompt Template Type (プロンプトテンプレート種別): Flex
- Prompt Template Name (プロンプトテンプレート名):
Guest Experience Compensation(ゲスト体験の補償) - API Name (API 参照名):
Guest_Experience_Compensation - Template Description (テンプレートの説明):
This template generates personalized compensation recommendations based on guest feedback and open case details, with tailored and empathetic responses.(このテンプレートは、ゲストからのフィードバックとオープンケースの詳細に基づいて、パーソナライズされた共感的な補償のおすすめを生成します。)
- Prompt Template Type (プロンプトテンプレート種別): Flex
- Flex テンプレートでは、最大 5 件のリソースを追加できます。[Define Sources (ソースを定義)] セクションで、2 件のリソースを追加します。1 件目はオブジェクト種別です。
- Name (名前):
Contact(取引先責任者) - API Name (API 参照名):
Contact(取引先責任者)
- Source Type (ソース種別): Object (オブジェクト)
- Object (オブジェクト):
Contact(取引先責任者)
- Name (名前):
- [Add Resources (リソースを追加)] をクリックして、2 件目の自由テキストリソースを追加します。
- Name (名前):
Complaint(苦情) - API Name (API 参照名):
Complaint(苦情) - Source Type (ソース種別):
Free Text(自由テキスト)
- Name (名前):
-
[Next (次へ)] をクリックします。プロンプトテンプレートワークスペースが開きます。
これでワークスペースの準備が整いました。
プロンプトを作成する
プロンプトテンプレートワークスペースの準備ができましたので、Becca は実際のプロンプトの作成に入ります。
彼女は次のテキストをプロンプトテンプレートワークスペースに入力します。
You’re a customer service representative responding to [Guest Name], a guest at Coral Cloud Resort, regarding a complaint they submitted about a recent experience they booked. Determine the appropriate tier of compensation based on the guidelines below: """[Tiered Guest Compensation]""" Response Format: “Hi [Guest Name], We know this wasn’t the experience you were expecting, and we want to make it right. [If Tier 0] We've noted your preferences for future stays and invite you to share any additional feedback to help us improve. [If Tier 1-3] Based on your recent experience, we’d like to offer you one of the following options: [Insert compensation options based on the determined tier] Please let us know which option you’d like to select, and we’ll take care of the rest. If you need any further assistance, we’re here to help!” Now create a message.
パーソナライズのためのプロンプトを調整する
この時点でプロンプトの構造は整っていますが、内容がまだ一般的すぎます。大規模言語モデル (LLM) に一般的なプロンプトを与えると、返ってくる応答も一般的になります。入力の詳細が不足していると、LLM にとって重要なコンテキストが不足してしまい、ゲストの名前やビジネスの詳細、関連するケース情報を認識できません。
より適切で効果的な応答を生成できるように、Becca はプロンプトの精度とパーソナライズを強化する必要があります。その方法を確認しましょう。
差し込み項目を追加する
差し込み項目と構造化データを組み込めば、それぞれのゲストに合わせた応答を動的に生成できるようにプロンプトを調整できます。
差し込み項目を使用すれば、ほんの数ステップでエージェントの応答をパーソナライズできます。
- [Prompt (プロンプト)] セクションで、指示文から
[Guest Name](「ゲスト名」)というテキストを探します。
-
[Guest Name]([ゲスト名]) プレースホルダーを削除して、差し込み項目に置き換えます。-
[Insert Resource (リソースを挿入)] をクリックし、[Contact (取引先責任者)] > [FirstName (名)] を選択します。
-
[Insert Resource (リソースを挿入)] をクリックし、[Contact (取引先責任者)] > [FirstName (名)] を選択します。
さらにコンテキストを追加する
Coral Cloud Resorts では、ゲストへの補償に段階的な構造を採用しており、サービスの中断を軽微な好み、軽微な不便、中程度の支障、重大な支障の 4 つのレベルに分類しています。このように構造化されたアプローチによって、苦情の深刻度に応じて公平かつ一貫性のある補償が可能になります。
Becca は、エージェントが Coral Cloud Resorts のビジネスポリシーに沿って正確で適切な応答を生成できるように、これらのランクと補償構造を明確に定義します。
- プロンプトで
[Tiered Guest Compensation](階層的なゲストへの補償) を探します。
- このプレースホルダーを次の構造化された詳細に置き換えます。
```Tier 0 (Minor Preference Issue) - No Open Cases Trigger: There are no open cases. Action: Apologize and acknowledge the feedback. Inform the guest that preferences will be noted for future stays and invite them to share more feedback to help improve. Do not offer compensation options. Tier 1 (Minor Inconvenience) Trigger: Issues such as delayed activity start times, minor room maintenance problems, or slow restaurant service fall into this category. Compensation Options: $50 Resort credit Complimentary drink, appetizer, or dessert Early check-in / late checkout (if available) Tier 2 (Moderate Disruption) Trigger: Covers booking errors affecting reservations, room/service dissatisfaction, extended delays Compensation Options: Rebooking of the same or alternative experience Resort credit (Up to $350 for dining, spa, or activities) Complimentary room upgrade (if available) Tier 3 (Major Disruption) Trigger: Activity cancellations, major booking failures, severe service issues, safety concerns Compensation Options: Resort credit (Up to $1000) Complimentary premium experience (private tour, fine dining, spa treatment) Complimentary 1-night stay extension```
完成したプロンプトテンプレートは次のようになります。
You’re a customer service representative responding to {!$Input:Contact.Name}, a guest at Coral Cloud Resort, regarding a complaint they submitted about a recent experience they booked. Determine the appropriate tier of compensation based on the guidelines below:
```Tier 0 (Minor Preference Issue) - Complaints that don’t significantly impact their experience but still warrant acknowledgment.
Include a personalized apology message acknowledging the feedback. Inform the guest that a note will be added to their profile to accommodate preferences for future stays. End with a friendly message inviting the guest to share more feedback for continuous improvement.
Tier 1 (Minor Inconvenience)
Issues such as delayed activity start times, minor room maintenance problems, or slow restaurant service fall into this category.
Compensation Options:
$50 Resort credit
Complimentary drink, appetizer, or dessert
Early check-in / late checkout (if available)
Tier 2 (Moderate Disruption)
Covers booking errors affecting reservations, room/service dissatisfaction, extended delays
Compensation Options:
Rebooking of the same or alternative experience
Resort credit (Up to $350 for dining, spa, or activities)
Complimentary room upgrade (if available)
Tier 3 (Major Disruption)
Activity cancellations, major booking failures, severe service issues, safety concerns
Compensation Options:
Resort credit (Up to $1000)
Complimentary premium experience (private tour, fine dining, spa treatment)
Complimentary 1-night stay extension```
Response Format:
“Hi [Guest Name], We know this wasn’t the experience you were expecting, and we want to make it right. Based on your recent experience, we’d like to offer you one of the following options:
[If Tier 0]
We've noted your preferences for future stays and invite you to share any additional feedback to help us improve.
[If Tier 1-3]
Based on your recent experience, we’d like to offer you one of the following options:
[Insert relevant compensation option]
Please let us know which option you’d like to select, and we’ll take care of the rest. If you need any further assistance, we’re here to help!”
Now create a message.プロンプトテンプレートをテストしてプレビューする
プロンプトテンプレートの指示を作成し終えたら、期待する結果が得られるかどうかをテストします。最初のステップは、テンプレートで使用する LLM を選択することです。
プロンプトビルダーでは複数の LLM にアクセスでき、Becca は目的に最適なツール、つまり LLM を選びたいと考えています。応答の速さが重要ですか? 詳細な分析が必要ですか? JSON のような構造化出力が必要ですか? それぞれのモデルは、異なるニーズに合わせて最適化されています。
以下の点を考慮してください。
-
スピード重視か複雑性重視か: 高速性を優先したモデルもあれば、深い推論に特化したモデルもあります。
-
構造化された出力か自然な出力か: 必要な形式に合ったモデルを選択してください。構造化データが必要な場合も、会話型テキストが必要な場合もあります。
まずは汎用モデルである Omni から始めて、他のモデルも試してみましょう。応答のスピードを重視する場合はターボモデルを、より深い分析が必要な場合はさらに高度なモデルを検討してください。
実際のデータでテンプレートをテストすることで、正しいコンテキストが取得され、正確でパーソナライズされた応答が返されるかどうかを確認できます。詳細や丁寧なトーンを追加することで、エージェントがより人間らしく応答しつつ、一貫性とブランド性も維持できます。
これこそがプロンプトビルダーの強みです。Salesforce データ、明確なプロンプト指示、適切な LLM を組み合わせることで、大規模かつ信頼性のあるパーソナライズされた応答を実現します。
Becca はいよいよプロンプトのテストに取りかかります。手順は次のとおりです。
- [Template Settings (テンプレート設定)] の [Model (モデル)] で、[OpenAI GPT 4 Omni Mini] を選択します。
- [Preview Settings (プレビュー設定)] の [Inputs (入力)] セクションで、[Contact (取引先責任者)] テキストボックスに「Sofia Rodriguez」と入力して選択します。[Complaint (苦情)] テキストボックスに「
The music was too loud on the beach.(ビーチの音楽がうるさすぎました。)」と入力します。 -
[Save & Preview (保存 & プレビュー)] をクリックします。
[Generated Response (生成された応答)] セクションを確認し、プロンプトテンプレートがテスト応答にどのような影響を与えているかを確認します。応答が期待どおりでなくても心配はいりません。テンプレートを修正し、再びテストして、これを必要に応じて何度でも繰り返して調整できます。[Language (言語)] を変更して、さまざまな言語での応答を確認することもできます。
-
[Activate (有効化)] をクリックします。
まとめ
これで、AI を活用したプロンプトの作成と改善に必要な基本スキルが身につきました。構造化された指示の作成から、最適なテンプレート種別の選択まで、Becca と一緒にビジネスニーズに合わせた応答を最適化する方法を学んできました。プロンプトテンプレートは一度作成すれば、どこでも再利用できます。営業でもサービスでも、その他の部門でも、きちんと設計されたプロンプトテンプレートを使用すれば、一貫性があり高品質な AI 応答が可能になります。
次の単元では、Becca がプロンプトをエージェントに接続する方法を学びます。これにより、自動化が「賢い」だけでなく「アクション可能」になります。このステップこそが、魔法が起きる瞬間です。プロンプトがエージェントと結びつき、ワークフローが動き出すのです。
リソース
