Skip to main content

プロンプトを実際に使ってみる

学習の目的

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

  • 高度なプロンプトエンジニアリング手法を使用してプロンプトを作成する。
  • 高度なプロンプトエンジニアリングと直接プロンプトを比較した場合の利点を説明する。
メモ

メモ

日本語で受講されている方へ
Challenge は日本語の Trailhead Playground で開始し、かっこ内の翻訳を参照しながら進めていってください。Challenge での評価は英語データを対象に行われるため、英語の値のみをコピーして貼り付けるようにしてください。日本語の組織で Challenge が不合格だった場合は、(1) この手順に従って [Locale (地域)] を [United States (米国)] に切り替え、(2) [Language (言語)] を [English (英語)] に切り替えてから、(3) [Check Challenge (Challenge を確認)] ボタンをクリックしてみることをお勧めします。

翻訳版 Trailhead を活用する方法の詳細は、自分の言語の Trailhead バッジを参照してください。

プロンプトエンジニアのように考えることができるようになりましたので、これからは自分自身でプロンプトを作成できます。ゼロショット (ダイレクト) プロンプトテンプレートから始めて、初期のプロンプトを編集します。その後、高度なエンジニアリング手法を活用して、いくつかのユースケースに取り組みます。各プロンプトに対するモデルの出力を比較することで、わずかな変更で各応答をどのように改善できるかがわかります。

この単元の手順に沿って進み、最後の Challenge に合格してバッジを獲得しましょう。まず、開発者組織にサインアップしてから、その組織を Trailhead に接続します (手順は以下を参照)。そのうえで Challenge を確認し、このバッジを取得します。

Agentforce 用の Developer Edition 組織にサインアップする

このモジュールを受講するためには、Agentforce が有効になっている特別な Developer Edition 組織が必要です。このバッジの Challenge を実行できるように、ここで無料の Developer Edition を入手して Trailhead に接続してください。この Developer Edition は、このバッジの Challenge 用に設計されているため、他のバッジでは機能しないことがあります。使用している Trailhead Playground や特別な Developer Edition 組織が推奨されているものであることを必ず確認してください。

  1. 無料の Agentforce を搭載した Developer Edition 組織にサインアップするには、リンクをクリックします。
  2. フォームに入力します。
    • [Email (メール)] には、有効なメールアドレスを入力します。
    • [Username (ユーザー名)] に、メールアドレス形式の一意のユーザー名を入力します。有効なメールアカウントである必要はありません。
  3. フォームに入力したら [Sign me up (サインアップ)] をクリックします。確認メッセージが表示されます。
  4. アクティベーションメールを受信したら (数分かかる場合があります)、そのメールを開いて [Verify Account (アカウントを確認)] をクリックします。
  5. パスワードと確認用の質問を設定して、登録を完了します。
  6. Developer Edition にログインした状態になります。

新しい Developer Edition 組織を Trailhead に接続します。

  1. Trailhead アカウントにログインしていることを確認します。
  2. このページの最下部にある「Challenge」セクションで Playground 名をクリックし、[Connect Org (組織を接続)] をクリックします。
  3. ログイン画面で、先ほど設定した Developer Edition のユーザー名 (受信したメールに記載されています) とパスワードを入力します。
  4. [Allow Access? (アクセスを許可しますか?)] 画面で [Allow (許可)] をクリックします。
  5. [Want to connect this org for hands-on challenges? (この組織をハンズオン Challenge 用に接続しますか?)] 画面で [Yes! Save it. (はい、保存します。)] をクリックします。

Challenge ページにリダイレクトされたら、このバッジの獲得を目指して新しい Developer Edition を使用できます。

Agentforce を設定する

まず Agentforce を有効化します。

  1. 設定 をクリックします。
  2. [Quick Find (クイック検索)] 項目で [Einstein Setup (Einstein 設定)] を検索して選択します。
  3. [Turn on Einstein (Einstein を有効化)] 切り替えがオンになっていることを確認します。
  4. ブラウザーを更新して設定を再読み込みします。
  5. [Quick Find (クイック検索)] ボックスで [Agentforce Agents (Agentforce エージェント)] を検索して選択します。
  6. [Agentforce] 切り替えがオンになっていることを確認します。

ゼロショットプロンプトテンプレートを作成する

  1. [Quick Find (クイック検索)] 項目で [Prompt Builder (プロンプトビルダー)] を検索して選択します。
  2. [New Prompt Template (新規プロンプトテンプレート)] をクリックします。
  3. プロンプトテンプレートで次のように情報を選択または入力します。
    • Prompt Template Type (プロンプトテンプレート種別): Flex
    • Prompt Template Name (プロンプトテンプレート名): Generate Sample Email (サンプルメールの生成)
    • API Name (API 参照名): Generate_Sample_Email (自動入力されます)
    • Template Description (テンプレートの説明): Creates a basic email template. (基本的なメールテンプレートを作成)
  4. [Define Sources (ソースの定義)] で次の詳細を入力します。
    • Name (名前): Customer Account (カスタマー取引先)
    • API Name (API 参照名): Customer_Account (自動入力されます)
    • Source Type (ソース種別): Object (オブジェクト)
    • オブジェクト: Account (取引先)
  5. [Next (次へ)] をクリックします。
    では、イベント招待メールの簡単な指示から始めましょう。エージェントにいくつかの指示と、招待メールを作成するために必要な詳細を与えます。
  1. 次のゼロショット指示をコピーして、プロンプトテキスト領域に貼り付けます。

Write the introduction and body for a friendly and professional email from the Salesforce marketing
team inviting an example customer to attend an upcoming event. Include the event name, location, and
value of attending.


Event Details:
Name: Salesforce AI Launch Tour
Location: Chicago
Date: June 25
  1. 次に、モデルが使用するデータとして特定のカスタマー取引先を参照します。[Template Settings (テンプレート設定)] の上にある [Preview Settings (プレビュー設定)] (“”) をクリックします。
  2. [Inputs (入力)] の下にある [Customer Account (カスタマー取引先)] 項目で「Burlington Textiles Corp of America」を検索して選択します。
  3. [Inputs (入力)] の上にある [Save & Preview (保存 & プレビュー)] (“”) をクリックし、応答を生成してプレビューします。
    出力が表示される項目は 2 つあります: [Resolved Prompt (解決済みプロンプト)] と [Generated Response (生成された応答)] です。[Resolved Prompt (解決済みプロンプト)] セクションには、プレースホルダーが解決された状態のプロンプトが表示されます。[Generated Response (生成された応答)] 項目で、完成したサンプルメールを確認できます。

このゼロショット応答はやや一般的なメールになりますが、出発点としては十分です。次に、モデルが学習できるように例を追加して、トーンと構成をさらに改善してみましょう。

フューショット例でプロンプトを編集する

モデルをより明確に誘導するために、いくつかのフューショット例を追加します。

  1. [Prompt (プロンプト)] (””) をクリックしてプロンプトに戻ります。
  2. [Prompt (プロンプト)] 領域のテキストを削除し、次のテキストをコピーして貼り付けます。

Write the introduction and body for a friendly and professional email from the Salesforce marketing
team inviting an example customer to attend an upcoming event. Include the event name, location,
and value of attending.


Replicate the following format, but make the email body more detailed and evocative:


Event Details:
Name: Salesforce AI Launch Tour
Location: Chicago
Date: June 25


Example 1:
Event: Salesforce AI Launch Tour
Location: Chicago
Customer: Jordan Manning
Company: FutureWorks Industries
Email:
Subject: You’re Invited to the Salesforce AI Launch Tour – Chicago
Hi Jordan,
We’re excited to invite you and your team at FutureWorks Industries to the Salesforce AI Launch Tour
in Chicago on June 25.
Write the introduction and body for a friendly and professional email from the Salesforce marketing
team inviting an example customer to attend an upcoming event. Include the event name, location, and
value of attending.


Replicate the following format and tone, but replace all names with placeholders. Expand on the email
copy to include at least three paragraphs while keeping the tone friendly and the content engaging.


Event Details:
Name: Salesforce AI Launch Tour
Location: Chicago
Date: June 25


Example 1:
Event: Salesforce AI Launch Tour
Location: Chicago
Customer: Jordan Manning
Company: FutureWorks Industries
Email:
Subject: You’re Invited to the Salesforce AI Launch Tour – Chicago
Hi Jordan,
We’re excited to invite you and your team at FutureWorks Industries to the Salesforce AI Launch Tour
in Chicago on June 25.
It’s a great chance to see how Salesforce AI can drive productivity and connect with peers in your
industry.
Hope to see you there!
– Your Salesforce Team


Example 2:
Event: Salesforce Customer Success Summit
Location: New York
Customer: Maya Jones
Company: NextStep Health


Subject: Let’s Meet at the Salesforce Customer Success Summit
Hi Maya,
We’d love to see you at our Customer Success Summit in New York on May 12.
NextStep Health has been doing incredible work, and this event is a great opportunity to explore
new tools to grow faster with Salesforce. We're excited to share the future and out latest innovations
with our fantastic customers.
Let us know if you can make it!
– Your Salesforce Team
  1. [Save & Preview (保存 & プレビュー)] をクリックして、[Generated Response (生成された応答)] 項目に応答を生成してプレビューします。
    例に含めた言葉づかいやスタイルが反映されたメールが表示されます。

生成したい出力の具体例をエージェントに提示することで、より良いメールを生成できるようになりました。また、2 つのプロンプトを比較すると、簡単な例であっても、特にプロンプトの使用方法に関する指示と組み合わせることで、大きな違いが出ることがわかります。そして何よりも、このテクニックとこれまでに学習した他の手法は、さまざまな LLM やプロンプト種別で使用できます。

CoT プロンプトを試す

基本的なプロンプトを改善する方法を理解したところで、今度はゼロショットプロンプトに高度なエンジニアリング手法である Chain-of-Thought (CoT: 思考の連鎖) プロンプトを追加してみましょう。この手法が異なる形式の出力にも有効であることを示すために、今回は Einstein AI-Generated Search Answers (EinsteinAI で生成された Search Answer) プロンプトで試します。

新しいプロンプトテンプレートを作成する

  1. まだ前のセクションのプロンプトが表示されている場合は、左上の戻る矢印をクリックして [Prompt Builder Setup (プロンプトビルダー設定)] ページに戻ります。
  2. [New Prompt Template (新規プロンプトテンプレート)] をクリックします。
  3. 次の項目を入力します。
    • Prompt Template Type (プロンプトテンプレート種別): Einstein AI-Generated Search Answers (EinsteinAI で生成された Search Answer)
    • Prompt Template Name (プロンプトテンプレート名): Resort Package Names (リゾートパッケージ名)
      API Name (API 参照名): Resort_Package_Names (自動入力されます)
    • Template Description (テンプレートの説明): Generates package names for Coral Cloud resort offerings based on the provided details. (提供された詳細に基づいて Coral Cloud リゾートのパッケージ名を生成)
  4. [Next (次へ)] をクリックします。

プロンプト指示を定義する

  1. [Template Settings (テンプレート設定)] の上にある [Preview Settings (プレビュー設定)] (””) をクリックします。
  2. ページ左側の [Inputs (入力)] セクションに次の情報を入力します。
    • Query (クエリ): Generate 5 Package names (パッケージ名を 5 つ生成)
    • Chunks (チャンク) (各行に 1 つずつ):
      • private villas (プライベートヴィラ)
      • beachside dining (ビーチサイドダイニング)
      • family-friendly atmosphere (家族向けの雰囲気)
  3. [Prompt (プロンプト)] 領域に次のテキストを貼り付けます。
You are a marketing assistant creating luxurious and appealing resort package names.
Based on the following details, generate 5 creative and enticing names for a resort
vacation package.


Resort details:


Coral Cloud Resorts offers private villas, beachside dining, and a family-friendly
atmosphere focused on luxurious comfort.
  1. [Save & Preview (保存 & プレビュー)] をクリックしてプロンプトをテストします。
  2. [Response (応答)] セクションで生成されたパッケージ名を確認し、例が出力にどのような影響を与えたかを確認します。番号付きの名前が角括弧内に表示された回答が次のように表示されます。

{"answer":"1.Coral Cloud Escape Package (コーラルクラウドエスケープパッケージ) \n2.Beachside Bliss Family Retreat (ビーチサイドの至福ファミリーリトリート) \n3.Luxe Villa Getaway (ラグジュアリーヴィラゲートウェイ) \n4.Serenity by the Sea Experience (海辺の静けさ体験) \n5.Private Paradise Family Adventure (家族向けプライベート楽園アドベンチャー) ","sources":""}

表示される内容は異なる場合がありますが、新しいパッケージ名が生成されていれば成功です。

CoT 指示を追加する

次に、テンプレートを編集して CoT 指示を追加します。

  1. [Prompt (プロンプト)] (””) をクリックしてプロンプトに戻ります。
  2. 現在のプロンプトテキストを削除し、次のテキストをコピーして貼り付けます。
You are a marketing assistant creating luxurious and appealing resort package names.
Based on the following details, generate 5 creative and enticing names for a resort
vacation package.


Resort details:
Coral Cloud Resorts offers private villas, beachside dining, and a family-friendly
atmosphere focused on luxurious comfort. Make the names concise, elegant, and themed
to match the details. Avoid generic phrases like “Special Deal” or “Vacation Offer.”
Aim for names that evoke emotion and curiosity. Explain your thought process for each
package step-by-step.

explain your thought process for each package step-by-step (各パッケージの思考過程を詳しく説明してください) というフレーズを含めることで、CoT ロジックをプロンプトに追加しますLLM は文脈を理解できるため、こうした指示は意味が通る場所であればどこに含めてもかまいません。

  1. クエリとチャンクはそのままにします。
  2. [Save & Preview (保存 & プレビュー)] をクリックして、更新された応答を生成します。

次のような応答が表示されます。

{"answer":"1.**Serenity Shores Retreat** - This name conveys a sense of peace and tranquility, appealing to those seeking relaxation in luxurious surroundings.(**浜辺の静けさリトリート** - この名前は平穏さと静けさを連想させ、贅沢な環境でリラックスを求める人々の心に訴えます。)\n\n2.**Coral Haven Escape** - The use of 'Haven' suggests a safe and welcoming space, while 'Escape' evokes a desire to leave daily stress behind for a luxurious getaway.(**サンゴ礁の隠れ家プラン** - 「Haven (隠れ家)」は安全で温かく迎え入れる空間を、「Escape (エスケープ)」は日常のストレスから離れて贅沢な休暇を求める気持ちを表現しています。)\n\n3.**Azure Bliss Villas** - 'Azure' reflects the beautiful ocean colors, and 'Bliss' communicates a feeling of happiness and contentment associated with a luxurious stay.(**アジュールブリスヴィラ** - 「Azure (アジュール)」は美しい海の色を表し、「Bliss (至福)」は贅沢な滞在に伴う幸福感と満足感を伝えます。)\n\n4.**Tropical Tranquility Experience** - This name emphasizes the serene environment of the resort, inviting guests to immerse themselves in a calm and luxurious atmosphere.(**トロピカル静寂体験** - この名前はリゾートの静かな環境を強調し、ゲストが落ち着いた贅沢な雰囲気に浸るように誘います。)\n\n5.**Family Oasis Retreat** - This name highlights the family-friendly aspect of the resort while suggesting a luxurious and comfortable environment for all ages.(**ファミリーオアシスリトリート** - この名前は家族向けリゾートの特性を強調し、すべての年代にとって贅沢で快適な環境を提案します。)","sources":""}

違いがわかりますか? 更新後の応答は、エージェントが各パッケージを提案した理由を理解するのに役立ちます。CoT プロンプトでは、AI エージェントに各パッケージ名を生成した理由を説明するように指示します。この例では、エージェントと協力してパッケージ名のさまざまなアイデアをブレインストーミングしました。その過程で、エージェントは関連する文脈とともに例を提示しました。これにより、生成されたコンテンツの背後にある思考プロセスを確認できます。経験を積めば、このようなインサイトによって、あらゆるプロンプトからより多くの成果を得られるようになります。

次は、CoT プロンプト手法を使用してプロンプトビルダーを操作してみましょう。Challenge の手順を完了したら、[Check Challenge (Challenge を確認)] をクリックしてこのバッジを獲得してください。

お疲れさまでした。高度なプロンプト手法を駆使してより良い結果を得るための第一歩を踏み出しました。

リソース

Salesforce ヘルプで Trailhead のフィードバックを共有してください。

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

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