複雑なプロンプトテンプレートの整理
複数のデータソースと差し込み項目を使用してプロンプトを構成し、明確さと一貫性を確保します。適切に整理されたプロンプトにより、エラーが減少し、トラブルシューティングが迅速化され、より信頼性の高い AI 出力が生成されます。
必要なエディション
| 使用可能なインターフェース: Lightning Experience |
| 使用可能なエディション: Einstein for Platform、Einstein または Agentforce for Sales/Service アドオン、または Agentforce Foundation が付属する Enterprise Edition、Performance Edition、および Unlimited Edition |
複雑なプロンプトの課題
1 つまたは 2 つの差し込み項目を含む単純なプロンプトは簡単です。ただし、本番プロンプトには大量のデータが必要になることが多く、適切に整理しないと、読みづらくなり、メンテナンスやトラブルシューティングが困難になります。一般的な問題は次のとおりです。
- 文に溶け込む項目をマージし、更新をミスしやすくする
- 命令とデータの境界が明確でない
- どの差し込み項目がどの項目かを識別するのが困難
- 問題が発生したときのトラブルシューティングが困難
三重引用符を使用したデータと命令の分離
三重引用符 (""") を使用すると、変数データと命令を明確に区別するビジュアルコンテナが作成されます。これは、複雑なプロンプトを整理するための最も重要な手法です。3 つの引用符の間にあるすべての情報は、命令とは異なるデータまたはコンテキストとして処理されます。
三重引用符なし
You are a customer service representative. Write a follow-up email to {!Contact.FirstName} {!Contact.LastName} at {!Account.Name} about their case {!Case.Subject} which was created on {!Case.CreatedDate} and is currently {!Case.Status} with priority {!Case.Priority}. Their account details show they're on the {!Account.Support_Tier__c} support tier. Make sure to reference the resolution notes: {!Case.Resolution__c}. Be professional and empathetic. Keep it under 200 words.三重引用符を使用
You are a customer service representative.
Task: Write a follow-up email about the customer's support case
"""
Contact Information:
Name: {!Contact.FirstName} {!Contact.LastName}
Account: {!Account.Name}
Support Tier: {!Account.Support_Tier__c}
Case Details:
Subject: {!Case.Subject}
Created: {!Case.CreatedDate}
Status: {!Case.Status}
Priority: {!Case.Priority}
Resolution: {!Case.Resolution__c}
"""
Instructions:
- Greet the customer by first name
- Reference the case subject
- Confirm the case status and resolution
- Thank them for their patience
- Provide next steps if any
Tone: Professional and empathetic
Length: Under 200 words三重引用符を使用すると、項目の追加、削除、変更が容易になり、命令をデータと完全に分離できます。
トリプル見積内のデータの整理
三重引用符ブロック内で、次の手法を使用して差し込み項目を論理的に整理します。
オブジェクトでグループ化
"""
Account Information:
{!Account.Name}
{!Account.Industry}
{!Account.Annual_Revenue__c}
Contact Information:
{!Contact.FirstName}
{!Contact.LastName}
{!Contact.Email}
Case Information:
{!Case.Subject}
{!Case.Status}
{!Case.Priority}
"""表示ラベルの使用
各項目に判読可能な表示ラベルを付けます。表示ラベルは、特に項目名がわかりづらい場合に、AI モデルが各データの内容を理解するのに役立ちます。
"""
Customer: {!Contact.FirstName} {!Contact.LastName}
Company: {!Account.Name}
Issue: {!Case.Subject}
Opened: {!Case.CreatedDate}
Priority: {!Case.Priority}
Status: {!Case.Status}
"""参照 1 回の原則に従う
原則として、プロンプトテンプレートに各データを 1 回だけ含めます。同じ差し込み項目を複数回繰り返すと、結果が一貫しなくなり、プロンプトの管理が困難になる可能性があります。すべての差し込み項目を 1 つのデータセクションに配置し、差し込み項目構文を繰り返すことなく、概念的に指示で参照します。
複数のトリプルクォートセクションの使用
プロンプトが非常に複雑な場合は、複数の三重引用符を使用して、異なるデータ型を区切ります。たとえば、1 つ目のブロックは変数データに使用し、2 つ目のブロックは口調と構造を誘導する静的な例に使用します。
"""
Prospect Information:
Name: {!Lead.FirstName} {!Lead.LastName}
Company: {!Lead.Company}
Industry: {!Lead.Industry}
"""
Instructions:
- Personalize based on their industry
- Reference a common pain point
- End with a soft call to action
"""
Example tone and structure:
Hi [Name],
I noticed [Company] is in [Industry]. Many [Industry] leaders we work with struggle with [Pain Point].
Would you be open to a quick 15-minute call?
"""空の項目または欠落している項目の処理
多数の差し込み項目を使用している場合、特定のレコードで一部が空になることがあります。代替命令を使用して、欠損値を適切に処理する方法を AI に指示します。
Instructions:
- Greet contact by name
- Reference account name
- If Support Tier is populated, mention their tier level
- If Annual Revenue is populated, acknowledge their business size
- If fields are empty, skip mentioning them (don't say "no tier" or "unknown revenue")非常に長いプロンプトの構造
プロンプトが 1 つの画面を超えて大きくなった場合は、セクションヘッダーをクリアにしてスキャンしやすくし、メンテナンスしやすくします。
========================================
ROLE
========================================
[Role definition]
========================================
DATA
========================================
"""
[All merge fields organized by object]
"""
========================================
TASK
========================================
[What to produce]
========================================
INSTRUCTIONS
========================================
[Step-by-step instructions]
========================================
FORMAT
========================================
[Response structure requirements]
========================================
CONSTRAINTS
========================================
[Boundaries and limits]
========================================よくある組織の間違い
| 間違い | 問題 | 解決方法 |
|---|---|---|
| データと命令の混在 | 何がデータで何が命令かの解析が困難 | 3 つの引用符で区切ります。 |
| 差し込み項目の表示ラベルなし | AI がデータの意味を理解しない | 説明ラベルを追加する |
| 同じ差し込み項目の繰り返し | 一貫性のない結果 | 各項目を一度参照する |
| ランダムな項目順序 | スキャンと管理が困難 | オブジェクトまたはコンテキストでグループ化 |
| セクションヘッダーなし | 長いプロンプトをナビゲートできない | 明確なセクション区切りの追加 |
| 暗号化項目名 | AI がデータを誤って解釈する | プレーンランゲージの表示ラベルを使用 |
組織のチェックリスト
複合プロンプトテンプレートを最終処理する前に、次の項目を確認します。
- すべての変数データは三重引用符ブロックに含まれる
- 各差し込み項目は 1 回のみ参照されます。
- 差し込み項目の表示ラベルがわかりやすくなっている
- 項目は論理的にグループ化される (オブジェクト別またはコンテキスト別)
- セクションヘッダーで主要コンポーネントを分離
- 命令はデータから完全に分離されている
- プロンプトをスキャン可能 (10 秒以内に項目を見つける)
- 空の項目と欠落している項目の処理に対応

