プロンプトビルダーの主要な概念
プロンプトビルダー全体で使用される主要な概念と語彙について説明します。
必要なエディション
| 使用可能なインターフェース: Lightning Experience |
| 使用可能なエディション: Einstein for Platform、Einstein または Agentforce for Sales/Service アドオン、または Agentforce Foundation が付属する Enterprise Edition、Performance Edition、および Unlimited Edition |
プロンプト
生成言語モデルは汎用性が高く、さまざまな応答種別を作成できます。応答を生成するには、プロンプト形式で LLM に要求を指定します。プロンプトによって LLM の応答の品質と関連性が決まるため、モデルで理解して使用できるプロンプトを作成することが重要です。
プロンプトデザイン
プロンプト設計は、モデルの応答の品質と精度を向上させるプロンプトを作成するプロセスです。多くのモデルは特定のプロンプト構造を想定しているため、使用しているモデルでテストして反復することが重要です。モデルに最適な構造を理解したら、特定の使用事例に合わせてプロンプトを最適化できます。プロンプト設計プロセスを拡張するには、プロンプトテンプレートと呼ばれる再利用可能なプロンプトを作成します。
プロンプトテンプレート
バックグラウンドで、Einstein生成AIはプロンプト テンプレートを使用します。プロンプトテンプレートは、プロンプトビルダーで作成および管理できる再利用可能な詳細なプロンプトです。これらのテンプレートは使用事例駆動型であり、LLM が高品質の応答を生成するのに役立つ目標、制約、ブランドガイドラインなどの情報が含まれます。また、LLM に送信するプロンプトが最新のデータに基づいているように、プロンプトテンプレートには、顧客名、連絡先情報、商品価格など、変更される情報のプレースホルダーが含まれます。
グラウンディング
グラウンディングでは、要求に関連するデータにプロンプトを接続することで応答が改善されます。グラウンディングを使用しない場合、モデルの応答に一般的な詳細や無関係な詳細が含まれる可能性があります。LLM は Salesforce データまたはアップロードされたファイルを使用して、プロンプトにコンテキストとパーソナライズを追加します。プロンプトビルダーでは、レコード項目、フロー、Apex、およびアップロードされたファイルを参照する差し込み項目を使用して、プロンプトをグラウンディングできます。LLM は、グラウンディングデータと、トレーニングされた元の汎用データを使用します。
Einstein Trust レイヤは、代わりにプレースホルダー テキストを送信することで、LLM からの機密データをマスキングします。プレースホルダーテキストを確認するには、[解決済みプロンプト] を確認します。応答では、Salesforce によって再度追加されたマスク解除されたデータを確認できます。[Data Masking Details (データマスキングの詳細)] ダイアログで、応答のすべてのマスキングされたデータの概要を確認できます。
Einstein によるデータのセキュリティ保護方法についての詳細は、「Einstein Trust Layer」を参照してください。
プロンプトテンプレート種別
プロンプトテンプレート種別は、特定の使用事例のプロンプトテンプレートを作成するのに役立ちます。たとえば、セールスメールプロンプトテンプレートを使用すると、営業チームは取引先責任者またはリード向けにパーソナライズされたメールのドラフトを作成できます。
プロンプトの手順
プロンプト命令は、プロンプトテンプレートの自然言語命令です。「説明は 500 文字以内で記述してください」など、LLM の ToDo を記述します。プロンプトテンプレートに命令を追加すると、テンプレートのプレースホルダーが関連する CRM データに置き換えられます。プロンプトテンプレートはグラウンディング済みプロンプトになり、LLM に送信されます。
プロンプトおよびプロンプトテンプレート
大規模言語モデル(LLM)は、Einstein生成AIをバックグラウンドで実行します。LLM は、多くの言語ベースのタスクでユーザーをサポートします。たとえば、顧客へのパーソナライズされたメールを生成したり、顧客のフィードバックを分析して主要なインサイトを抽出したりできます。ただし、LLM は単独で優れたコンテンツを作成することはできません。プロンプト形式でユーザーによるガイダンスが必要です。
プロンプトは、LLM に指定する一連の命令です。正確でパーソナライズされた出力をモデルが生成するのに役立つ特定のコンテキスト情報、データ、命令、制約が提供されます。LLM が生成する出力は応答と呼ばれます。
このプロンプトは、LLMにAstroのベーカリー・アカウントのオープン・ケースの概要を作成するように指示します。
You’re a support representative and you need to create a short summary of all open cases for the Astro’s Bakery account.
When I ask you to summarize the open cases, you must strictly follow my instructions below.
Instructions:
"""
Summarize the open cases in one paragraph no more than 500 characters. Mention how many open cases there are and what the case issues are.
Use clear, concise, and straightforward language using active voice and strictly avoiding the use of filler words and phrases and redundant language.
Use the following information to write the summary:
Case #1 details: The widgets we received are the wrong size. We needed a widget in size A, but we received a widget in size B.
Case #2 details: Our widgets haven’t been delivered. We can't track our order. According to the last tracking update, the widgets should have arrived on June 5. Now it's June 10, and they still haven't arrived.
Do not attribute any positive or negative traits in the summary.
"""
Now create the summary.
LLM によって次の概要が生成されました。
There are two open cases for the Astro’s Bakery account. In Case #1, the issue is that the received widget is the wrong size. The requested size was A, but size B was received instead. In Case #2, the issue is that the widgets haven’t been delivered and the order cannot be tracked. The expected delivery date was June 5, but as of June 10, the widgets have not arrived.
LLM の応答の品質は、プロンプトの特殊性によって異なります。漠然とした指示や不正確な指示があると、LLM は無関係な応答や偏った応答を返す可能性があります。LLM が幻覚を見て誤った情報を生成することもあります。また、プロンプトを実行するたびに LLM に対して新しいコールを実行するため、まったく同じプロンプトを渡す場合でも応答が異なる可能性があります。幻覚を防ぎ、応答間の変動を最小限に抑えるには、できるだけ具体的なデータを含むプロンプトを作成します。高品質で正確な応答を一貫して得られるようになるまで、プロンプトを確認して編集することが重要です。
新しいプロンプトで 1 つの高品質な応答のみを作成して反復するプロセスは時間がかかる可能性があります。データと仕様が異なる多数の元のプロンプトを設計することはさらに困難です。また、異なるユーザーによって作成されたプロンプトは、書き方のバリエーションによって出力が一貫していない可能性があります。プロンプト設計を効率的に拡張するには、再利用可能なプロンプトであるプロンプトテンプレートを使用することをお勧めします。プロンプトテンプレートには、顧客や商品などに関する特定の詳細のプレースホルダーが含まれます。
このプロンプトテンプレートは、LLM に取引先のオープンケースの概要を生成するように指示します。前の例のプロンプトとは異なり、このプロンプトテンプレートでは取引先名を指定したり、現在のオープンケースを説明したりしません。代わりに、プロンプトテンプレートにはプレースホルダーとして {!$Input:Account.Id} などの差し込み項目が含まれます。
You are a support representative and you need to create a short summary of all open cases for account {!$Input:Account.Id}.
When I ask you to summarize the open cases, you must strictly follow my instructions.
Instructions:
"""
Summarize the open cases in one paragraph no more than 500 characters. Mention how many open cases there are and what the case issues are.
Use clear, concise, and straightforward language using active voice and strictly avoiding the use of filler words and phrases and redundant language.
Use the following information to write the summary:
{!$Flow:Get_Open_Cases_for_Account}
Do not attribute any positive or negative traits in the summary.
"""
Now create the summary.
プロンプトビルダーによって、テンプレートのプレースホルダーが実際のデータに置き換えられます。結果は、選択したデータに合わせて調整されたプロンプトになります。プロンプトテンプレートに特定のデータを入力するこのプロセスは、プロンプト解決と呼ばれます。解決済みプロンプトの例として、Astroのベーカリー・アカウントの2つのオープン・ケースに関するプロンプトがあります。Einstein を使用すると、プロンプトに関連付ける Salesforce レコードを選択するだけで、プロンプトを簡単に解決できます。
プロンプトテンプレートを使用すると、一貫性のあるデータ主導の出力を大規模に生成できるため、B2C コミュニケーションに最適です。同じブランドガイドラインを含むテンプレートでは、統一された音声とスタイルでコンテンツが生成されます。各テンプレートは特定の使用事例に合わせて開発されており、異なるデータを使用してプロンプトを調整することで再利用できます。
