【ITニュース解説】A Guide to AI Batch Prompting with Salesforce using Flows
2025年10月02日に「Dev.to」が公開したITニュース「A Guide to AI Batch Prompting with Salesforce using Flows」について初心者にもわかりやすく解説しています。
ITニュース概要
SalesforceでAIを活用し、大量の業務を効率化する「バッチプロンプト」を紹介する。候補者情報の要約やメール作成など、個別対応で時間のかかる作業をAIがまとめて処理する仕組みをSalesforce Flowで自動化する具体例を解説する。
ITニュース解説
この解説では、Salesforceというビジネスプラットフォームにおいて、AI(人工知能)を大量のデータ処理に活用し、業務を自動化する方法について説明する。具体的には、「プロンプトテンプレートバッチ処理」と呼ばれる技術と、Salesforceの「Flow」という自動化ツールを組み合わせて、どのように効率的なシステムを構築できるかを学ぶ。
多くの企業では、日々の業務で大量の情報を処理している。例えば、顧客からの問い合わせ内容を要約したり、見込み客に送るパーソナライズされたメールを作成したり、商品の説明文を生成したりする作業がある。これらのタスクを一つ一つ手作業で行うと、非常に時間がかかり、人件費も増大してしまう。しかし、AIの力を借りれば、これらの「少し考える力が必要な」タスクも自動化できる。さらに、AIに一度に何千ものレコードを処理させる「バッチ処理」という方法を使えば、その効率は飛躍的に向上する。
まず、「プロンプトテンプレート」とは何かを理解しよう。これはAIに対して「何をどのように実行してほしいか」を具体的に指示するための再利用可能な指示書である。SalesforceのPrompt Builderという機能を使って、このテンプレートを作成する。ここで重要なのは、「マージフィールド」という仕組みを使って、Salesforceに保存されている実際のデータ(例えば、顧客の名前や商品の詳細情報など)をAIへの指示に組み込むことだ。これにより、AIは単なる一般的な応答ではなく、特定のレコードに基づいた、より文脈に即したアウトプットを生成できるようになる。これは、手紙の差し込み印刷で名前だけを差し込むような単純なものではなく、AIに全く新しいコンテンツを生成させるための豊富な情報を提供するものと考えると良い。
次に、「バッチ処理」がなぜ非常に重要なのかを説明する。プロンプトテンプレートを使って個々のレコードに対してAIを動かすだけでも便利だが、これを何千ものレコードに対して一度に、しかもシステムに負荷をかけずにバックグラウンドで実行する能力こそが、真の力を発揮する。
バッチ処理の利点は以下の通りである。 まず、その圧倒的な効率性が挙げられる。レコードを一つずつ処理するのではなく、大量のデータをバックグラウンドでまとめて処理するため、システムリソースを占有することなく、膨大な作業をこなせる。リアルタイムでの応答が不要な、例えば夜間の集計処理のような高ボリュームの用途に最適だ。 次に、優れた拡張性を持つ。大規模なデータクリーンアップやデータエンリッチメント(データに付加情報を追加する作業)プロジェクトであっても、バッチ処理はエンタープライズレベルのデータ量に無理なく対応できる設計になっている。数百、数千といった大量の入力レコードに対して、プロンプト応答の生成を大規模に実行できる。 さらに、費用対効果が高い。処理効率が向上するということは、AIの利用にかかる費用をより有効に活用できることを意味する。大規模なリクエストが、大規模言語モデル(LLM)の利用制限に抵触するのを避けるためにも、バッチ処理は推奨される方法である。 そして、非同期処理が可能である。これは、特定の作業を即座に実行するのではなく、システムが空いている時間や、ユーザーが作業していない夜間などにスケジュールして実行できることを意味する。これにより、ユーザーは通常の業務を中断されることなく、システムが裏で作業を完了させられる。
それでは、具体的な例として、採用候補者の情報をAIで要約し、自動化するシステムを構築する手順を見ていこう。 シナリオとして、企業には日々新しい採用候補者のデータが登録されるが、採用担当者が履歴書や関連フィールドのテキストを読み解くのに多くの時間を費やしているという状況を想定する。Salesforceには「Candidate」(候補者)というカスタムオブジェクトがあり、そこには氏名、経験、スキルなどの詳細情報が格納されている。私たちの目標は、まだAIによる要約がされていない候補者レコードを毎日探し出し、AIが生成した簡潔な要約を「Candidate AI Summary」というテキストフィールドに自動的に保存することである。この自動化は、毎日実行されるスケジュールトリガーFlowを使って実現する。
まず、手順として「プロンプトテンプレートの作成」から始める。SalesforceのPrompt Builderで、候補者の履歴書ドキュメントや、レコードの各フィールド情報(氏名、学歴、所在地、興味のある分野など)を入力として受け取り、LLMに要約を生成させるテンプレートを作成する。この記事の例では、「Field Generation」タイプのプロンプトテンプレートが採用されている。
このプロンプトテンプレートには、AIへの具体的な指示が記述される。例えば、「あなたは採用担当アシスタントとして、候補者のプロファイルを要約し、特定の要約フィールドに保存する仕事をする」といった役割の定義がある。また、要約の構造(候補者名、概要、キーとなるスキル、経験年数、最新の役職、実績、資格など)も明確に指示される。特に重要なのは、Salesforceのデータを使ってプロンプトに具体的な情報(「Candidate: {!$RecordSnapshot:Candidate__c.Snapshot}」「Name: {!$Input:Candidate__c.First_Name__c} {!$Input:Candidate__c.Last_Name__c}」など)を組み込む部分である。これにより、AIは特定の候補者の詳細に基づいて、パーソナライズされた要約を生成できる。また、PDFや画像を処理できるLLMモデルを選択することも指示されている。出力形式についても、「リッチテキスト形式で、分かりやすく読みやすい箇条書きを含む構造化されたプロファイルを生成する」といった具体的な指示が含まれる。
次に、「スケジュールトリガーFlowの構成」に移る。Salesforce Flowは、コードを書かずにドラッグ&ドロップ操作で複雑なビジネスプロセスを自動化できる強力なノーコードツールである。スケジュールトリガーFlowは、指定された時間にバックグラウンドで繰り返し実行され、複数のレコードに対して一括で処理を行うのに非常に適している。これは、手動でのデータ更新のリスクを減らし、時間を節約できる上、システムが混雑していない時間帯に実行することで、ユーザーの操作との競合を避けることも可能だ。
Flowの作成は、Salesforceの「設定」から新しいFlowを作成し、「スケジュールトリガーFlow」を選択することから始まる。このFlowを毎日実行するように設定し、処理対象となるオブジェクトとして「Candidate」を選択する。 まず、Flowは「Decision(決定)」要素から開始する。これは、現在処理中の候補者レコードがすでにAIによる要約を持っているかどうかを判断するためのものだ。もし「Candidate AI Summary」フィールドが空白であれば、それはまだ要約が作成されていないことを意味するため、処理を進める「No」のパスに進む。すでに要約があれば、そのレコードの処理はスキップされる。 要約がまだない「No」のパスでは、「Action(アクション)」要素を追加する。ここで、先ほど作成した「Candidate AI Summary (Batch Generation)」というプロンプトテンプレートアクションを呼び出す。このアクションには、処理中の候補者レコードの情報を入力として渡す。タイムアウト期間を1日と設定することで、大規模言語モデルでの処理に十分な時間を確保する。 プロンプトテンプレートによるAIの処理が完了したら、その次のステップは「Update Records(レコード更新)」要素である。この要素を使って、現在の候補者レコードの「Candidate AI Summary」フィールドに、AIが生成した要約の出力結果を保存する。これで、要約がレコードに永続的に記録される。 最終的に、このFlowを保存し有効化すると、設定したスケジュール(例えば毎日)で自動的に実行されるようになる。
この自動化が実際に動き出すと、「AiJobRun」というジョブが「Ready」ステータスで作成される。このジョブは、処理すべき各レコードに対する複数のジョブアイテムを持つ。処理が開始されるとステータスは「InProgress」に変わり、処理が成功すれば「Completed」、エラーが発生すれば「Failed」となる。これらのジョブのステータスは、Salesforceの拡張機能やAPIツールを使って確認できる。
結果として、採用担当者は新しい候補者のレコードページに自動生成された簡潔な要約をすぐに確認できるようになり、履歴書全体を読み解く手間が大幅に削減される。これは、日々の業務における時間と労力の大きな節約につながる。
結論として、Salesforceにおけるプロンプトテンプレートバッチ処理は、AIの能力を最大限に引き出し、業務を自動化するための非常に強力なツールである。プロンプトテンプレートの再利用性と、バッチ処理による大量データ処理の効率性を組み合わせることで、企業は時間を節約し、手作業を減らし、生産性を新たなレベルに引き上げることができる。今回紹介した候補者要約の例は一つの応用例に過ぎず、このアプローチは製品説明の生成や顧客からの問い合わせ記録の要約など、幅広い業務に適用可能である。また、Flowだけでなく、より複雑なロジックを実装したい場合にはApexというプログラミング言語を使ってバッチ処理をすることも可能だ。今後、どのようなAI駆動の自動化が生まれるか、期待は大きい。