プロンプトテンプレートの一括処理
フローと Apex を使用して、多数のプロンプト応答を非同期で生成します。
必要なエディション
| 使用可能なインターフェース: Lightning Experience |
| 使用可能なエディション: Einstein for Platform、Einstein または Agentforce for Sales/Service アドオン、または Agentforce Foundation が付属する Enterprise Edition、Performance Edition、および Unlimited Edition |
| 必要なユーザー権限 | |
|---|---|
| フローまたは Apex でプロンプト テンプレートを実行する | 「プロンプトテンプレートユーザー」権限セット
または 「アプリケーションのカスタマイズ」権限 |
概要
一括処理では、1 つの要求で多数のプロンプト応答が非同期に生成されます。この方法により、LLM レート制限に達することを回避し、大量のコンテンツの生成を効率的に処理できます。
一括処理ジョブがキューに入れられ、すべての項目が処理され、結果が保存されます。ジョブの進行状況を監視し、準備ができたら完了した応答を取得できます。実際の完了時間はモデルプロバイダーによって異なり、異なる場合があります。
一般的な使用事例を次に示します。
- 何千もの顧客向けにパーソナライズされたメールキャンペーンを作成する。
- カタログデータから商品説明を生成する。
- 大量のケースメモや顧客からのフィードバックの集計。
- 複数のレコードでコンテンツを翻訳する。
- スケジュールまたはレコードの変更によって一括コンテンツ生成をトリガーする。
実装オプション
Salesforce では、一括処理を実装するために主に次の 2 つの方法を提供しています。
フロー
このアプローチはほとんどの使用事例で機能し、ノーコードソリューションを構築する Salesforce システム管理者に最適です。スケジュールトリガーフローまたはレコードトリガーフローで [プロンプトテンプレート (一括生成)] アクションを使用して、自動的に実行される一括処理ジョブを作成します。これらのフローには [完了] パスと [タイムアウト] パスが含まれており、正常な完了シナリオとタイムアウトシナリオを異なる方法で処理できます。
制限:
- 通常、フロー一括処理ジョブは送信から 2 時間以内に処理を開始します。
- 標準モデルでは 1 日あたり最大 10,000 世代。
- ネイティブのバッチ処理をサポートするモデルを使用している場合、1 日あたり最大 50,000 世代。
- WebSearch Retrievers を使用する場合、1 時間あたり最大 1,000 件の項目。
Apex
このアプローチでは、カスタムインテグレーションと自動化の柔軟性を最大限に高めることができます。AiJobRun および AiJobRunItem オブジェクトを使用して、プログラムで一括処理ジョブを作成および管理します。Apex は、次の場合にお勧めします。
- カスタム UI を作成します。例: ジョブを開始するボタン、一括処理ジョブをリストするダッシュボード。
- バッチサイズを動的に制御する (件数または時間のしきい値に達するまで項目を累積し、しきい値を超えると開始)。
- レコードトリガーまたはスケジュールベースではない外部イベントからトリガーします。
制限:
- AiJobRun ごとに最大 1,000 個の AiJobRunItem。
- ネイティブ一括処理をサポートするモデルを使用している場合、各 AiJobRun には 10,000 AiJobRunItem の制限があります。
- WebSearch Retrievers を使用する場合、1 時間あたり最大 1,000 件の項目。
- 24 時間あたり最大 5 個の AiJobRun オブジェクト。要求が 1 日の制限を超えた場合、制限がリセットされるまでキュー状況になります。
ベストプラクティス
適切なモデルを選択します。
- プロンプトビルダーで「バッチのサポート: はい」という表示ラベルのモデルを使用して、最も速く処理します。
- バッチ用のミニモデルは動作が顕著に遅くなるため、避けてください。
バッチのサイズ:
- 大きい方がいい制限要素はジョブの数であり、それらのジョブの項目数ではありません。200 と 2,000 のバッチはほぼ同じ時間で終了します。
- 1 つ以上の失敗した項目によって残りのバッチがブロックされることはありません。
適切な実装を選択します: フローと Apex:
- ジョブ、動的バッチサイズ、またはレコード以外のトリガーとスケジュール以外のトリガーを開始するカスタム UI が必要な場合を除き、フローを使用します。
フローを設計します。
- フローごとに 1 つの一括処理アクションのみを実行します。チェーン化された一括処理アクションはキューに入れられ、ランタイムが大幅に増加します。
- 可能な場合は、プロンプトを 1 つのテンプレートにまとめます。
- タイムアウトを 1 日に設定します。
ジョブの進行状況を監視します。
- AiJobRun と AiJobRunItem に状況、項目数、エラー、応答を照会します。
- イベント駆動型ワークフローの AiJobRunStatusEvent に登録します。
制限と考慮事項
前提条件
- 指定されたプロンプトテンプレートには有効なバージョンが必要です。
- フローの場合: [プロセスの自動化設定] でデフォルトのワークフローユーザーを設定する必要があります。
処理動作
- ジョブは作成日に基づいて時系列で処理されます。
- 数秒以内に作成されたジョブは、厳密な順序に従わない場合があります。
- 処理が開始されると、入力値と特定の項目は不変になります。
- ジョブ状況の変更はシステムで管理され、手動で変更することはできません。
- 完了時間はモデルプロバイダーによって異なり、異なる場合があります。
プラットフォームに関する考慮事項
- バッチ処理は非同期であり、結果はすぐには返されません。
- 適切なタイムアウトの長さを設定します。フロー一括処理ジョブでは 1 日をお勧めします。
- プラットフォームイベントまたはジョブレコードを照会して、ジョブの状況を監視します。
- 時間的制約のあるワークフローを設計するときは、処理時間を考慮して計画します。
- バッチ内の失敗した項目のフォールバック処理を考慮します。

