データ検索の効率化!SalesforceのAgentforceを活用する
AIを利用した業務の効率化が当たり前となってきました。
SalesforceもAI製品を随時強化・拡張しており、「Salesforceを利用するにあたりAI(Agentforce)を利用するのは当たり前」という風潮になってきています。
そのような中、「Agentforceを自社でも利用したいけど、どうやって設定したらよいのだろう?」「自分たちで設定・メンテナンスができるのだろうか」という悩みを持たれている方もいると思います。そこで、弊社の導入事例を元に、Agentforceの基本的な設定方法をご紹介できればと思います。
Salesforce(セールスフォース)のAgentforce(エージェントフォース)とは?
Agentforceとは、Salesforceが提供する「自律型AIエージェント」のことです。AIには予測AI(過去のデータから未来を予測する)や、生成AI(学習したデータから新しいものを生み出す)や、Copilot(コパイロット:人からの指示を待つ)がありますが、自律型AIエージェントは、「人の指示の意図を汲み取り、最終的な目標やタスクを『自律』して考え、実行する」エージェントとなります。
例えば、地方への旅行プランを組みたく、どのような交通手段があるかをAIに質問する場合、今までのAIは単純に交通手段(新幹線、飛行機など)を回答するのみですが、自律型AIエージェントは予算や目的などを尋ねたりし、より質問者に対し最適なプランの提案・回答だけでなく、システム上の更新や手続きまでを人に代わって実行します。
なぜ、自律型AIエージェントが重要なのでしょうか?近年、日本において労働人口は減少しています。人手は減る一方で、顧客から求められるサービス品質(待ち時間を少なく、パーソナライズされた対応、親身なサポート)の期待値は高まり続けています。限られた人的リソースでこれらに応え、ビジネスを成長させるには「人の指示を持たずに365日働き続けるデジタルな労働力」として自律型AIエージェントの活用が不可欠となります。
Agentforceの設定にあたり押さえておきたい機能
Agentforceの重要性が理解できたところで、Agentforceの設定にあたり必要な機能を紹介します。
Agentforceエージェント
AIエージェントに具体的な役割・命令を与えるAgentforceにおける主要機能です。
AIエージェントは複数作れるため、用途に沿ってエージェントを使い分けることが可能です。
AIエージェントに役割とどういった処理をしてほしいか指示をする「トピック」と具体的な処理を実行する「アクション」を指定します。(詳細は後述いたします)
プロンプトビルダー
プロンプトテンプレート(変数を含む再利用可能なプロンプト)を作成するツールです。
データの検索・サマリなどを自然言語文で記載していきます。
SalesforceのレコードデータやData 360に取り込んだデータ、フローやApexを使用して取得したデータなどが利用可能です。
プロンプトビルダーについては、こちらの記事で詳細に紹介しておりますので、参照下さい。
フロー
フローとはクリックやドラッグ&ドロップの操作だけで複雑な業務プロセスを自動化できるローコード/ノーコードのツールです。AIエージェントにデータ検索・作成・更新を複数ステップの処理を一連で行いたい場合などはフローを活用することが必要になります。
また、フロー内でプロンプトを呼び出すことや、プロンプトの中でフローを呼び出すことなどが可能です。
Data 360(旧Data Cloud)
Data 360はあらゆるデータをリアルタイムで統合し、AIや業務アクションに直結させるプラットフォームです。企業内の様々なシステムを一か所に集め、統合(名寄せ)し、活用するための基盤です。Data 360にバラバラになっているシステムを集め・整理することで人間だけでなくAIもすぐに集まったデータを利用することができます。
設定してみよう:類似する商談を検索する
今回はData 360に商談を取込み、ベクトル検索を利用して現在見ている商談と似た商談を探す動き(以下「類似商談検索」と記載)をAIエージェントに実装してみます。
ベクトル検索とは、データ同士の類似性を元に検索結果を提供する技術のことです。
これまでは、項目と値をそれぞれ指定して検索する、キーワード検索が一般的な検索の仕組みでしたが、ベクトル検索は「データの意味」を元に検索をするため、よりユーザーの意図に近い検索結果を得ることができます。
では、実際に設定していきましょう。今回作成する類似商談検索の流れは下記画像のような流れとなります。

設定順序としては以下の通りになります。(括弧内番号は図の該当箇所となります)
- Data 360に商談データを取込む(①)
- DLOからDMOへマッピングする(②)
- DMOから検索インデックス・レトリーバーを作成(③)
- データを検索するプロンプトを作成する(⑤⑥⑦)
- AIエージェントに商談検索を依頼された際に、4.のプロンプトを実行する指示を追加する(④⑤)
1.Data 360に商談データを取り込む
※Data 360が初期設定済みである前提となります。

Data 360(またはData Cloud)アプリケーションを開き、[データストリーム]タブをクリック→[新規]ボタンをクリックします。

[Salesforce CRM]をクリックして次へ進みます。

[オブジェクトを表示]ボタンをクリック→その下のテキストボックスに「商談」と入力してオブジェクト名「商談(またはOpportunity)」(オブジェクトAPI参照名Opportunity)を探してチェック→[次へ]ボタンをクリック

以下の情報を入力し、[次へ]ボタンをクリックします。
- オブジェクトカテゴリ:エンゲージメント
- イベント時刻項目:完了予定日(Close Date)
※オブジェクトカテゴリについての詳細はSalesforce公式ヘルプを参照ください。

[リリース]ボタンをクリックします。(リリース処理は少し時間がかかります)
※[検索条件を設定]からData Cloudへ取り込むデータを絞り込むことも可能です。
データストリーム(Data Stream)で取り込んだデータはDLO(Data Lake Object:データレイクオブジェクトの略称)と呼ばれる領域に格納されます。
2.DLOからDMOへマッピングする
DLOに取り込んだものをDMO(Data Model Object:データモデルオブジェクトの略称)と呼ばれる領域にマッピングする必要があります。

[データストリーム]タブをクリックし、先ほど取り込んだ商談(Opportunity)のリンクをクリックします。

詳細画面で画面右側の[データマッピング]セクションにある[開始]ボタンをクリックします。

画面が表示されたら、画面右側の[データモデルエンティティ]にある鉛筆マークのボタンをクリックします。(読み込みに少し時間がかかる場合があります)

オブジェクトの選択画面が表示されたら、[カスタムデータモデル]タブ→[新規カスタムオブジェクト]の順序でクリックします。

名称([オブジェクトの表示ラベル]、[オブジェクトのAPI参照名])を確認(任意で変更可)し、項目がすべて選択されていることを確認して[保存]ボタンを確認します。(保存後読み込みに少し時間がかかります)

各項目がマッピングされていることを確認し、[保存して閉じる]ボタンをクリックし、マッピングを完了します。これでDMOの設定が完了となります。
注:
今回は検索利用が目的のため、カスタムデータモデルを使用し、DLOと同じ項目を保持するDMOを作ってマッピングしていますが、標準データモデルのOpportunityにマッピングすることも可能です。(標準データモデルを使用する場合は、カスタム項目などを追加した上ですべての項目を手動マッピングする必要があります)
3.DMOから検索インデックス・レトリーバーを作成
プロンプトでRAG検索をするためにレトリーバーを作成します。

[検索インデックス]タブをクリック→[新規]タブをクリックします。
(タブは[さらに表示] 内にある可能性があります。)

[簡易設定]を選択し、[次へ]ボタンをクリックします。

先ほど作成した商談のDMOを選択し、[次へ]ボタンをクリックします。

名称([Search Index Configuration Name]、[Search Index Configuration API Name])を確認(任意で変更可)し、[保存]ボタンをクリックします。(作成に少し時間がかかる可能性があります)

検索インデックスを作成したら、[Einstein Studio]タブ→[レトリーバー]→[新規レトリーバー]の順序でクリックします。

[個別レトリーバー]を選択して[次へ]ボタンをクリックします。

レトリーバービルダーが起動します。[Data Cloud]を選択します。
すると、データスペース、データモデルオブジェクトなどを選択する項目が表示されます。
以下をそれぞれ選択し、[次へ]ボタンをクリックします。
- どのデータスペースにソースデータが存在しますか?:default
- データモデルオブジェクトを選択:作成した商談のDMOを選択
- データモデルオブジェクトの検索インデックス設定:作成した検索インデックスを選択

[すべてのドキュメント]を選択し、[次へ]ボタンをクリックします。
注:
成立した商談のみを検索対象としたい場合は、[返されるドキュメントを絞り込む]で設定します。(作成後に検索条件を付与することはできませんので注意してください)

返される結果項目を設定します。ここで設定した項目が、AIが実行した際に返す文章の元として使用されます。(表示したい情報は項目に設定しておく必要があります)
今回は、以下の項目を出力するように設定します。(実際の環境に合わせて必要な項目を設定してください)
- 商談Id: 直接属性 > DMO名(Opportunity_Homeなど)> Opportunity ID
- 商談名:直接属性 > DMO名(Opportunity_Homeなど)> Name
- 説明:直接属性 > DMO名(Opportunity_Homeなど)> Description
- Chunk:関連属性 > DMO名(chunkが入ったDMOを選択) > Chunk
結果項目を設定したら[次へ]ボタンをクリックします。

設定内容を確認したら[保存]ボタンをクリックします。

任意の名称を設定し、[保存]ボタンをクリックします。

保存後[有効化]ボタンをクリックします。
※右上の[有効化]ボタンが[無効化]という表示になったら有効化完了です。
4.データを検索するプロンプトを作成する

設定画面を表示し、[クイック検索]に「プロンプト」と入力→[プロンプトビルダー]をクリックし、プロンプトビルダーの画面を開きます。

[新規プロンプトテンプレート]ボタンをクリックします。
表示されたウィンドウで以下の情報を入力し、[次へ]ボタンをクリックします。
- プロンプトテンプレート種別:Flex
- プロンプトテンプレート名:任意の名称を設定(日本語可)
- API参照名:任意の名称を設定(半角英数と一部記号のみ)
- テンプレートの名称:任意の文章を記入(空白可能)
- 入力:[追加]ボタンをクリックし、[ソース種別]:「オブジェクト」、[オブジェクト]:「商談」を選択する([名前]と[API参照名]は任意の名称を設定する)

プロンプトを入力する画面が表示されるので、AIに指示する命令文を記載していきます。
画像はプロンプトの入力例です。画像の青番号について補足します。
①検索元となる商談情報の項目を表示するようにプロンプト内で指示しています。
画面上部[リソースを挿入]から商談の変数(上記の[入力]で指定した名前)から項目名を選択します。
②検索先として作成したレトリーバーを選択します。
画面上部[リソースを挿入]から[検索]→DMO名→作成したレトリーバー名の順でクリックします。選択後、プロンプト内のレトリーバー名(②-1)をクリックすると、左側のパネルが検索パラメーターを指定する内容(②-2)に変わります。項目などを指定します。(ここで指定した値(項目値)が検索に使用されます)。

出力結果の言語を設定したい場合は言語を指定(検索パラメーター指定が表示されている場合は、左上の[詳細]タブをクリックすると切り替わります。)します。
[保存]ボタンをクリックし、設定を保存します。

動作確認を行います、[プレビュー]ボタン横のバーアイコンをクリックし、任意の商談を選択し、[プレビュー]ボタンをクリックし、実行します。
結果を確認し、問題なければ[有効化]ボタンをクリックします。
※結果が想定通りにいかない場合はプロンプトの命令を修正する、AIモデルを変更する(左上歯車アイコンクリック→[モデル]を変更)などを行ってください。
5.エージェントに商談検索を依頼された際に、4.のプロンプトを実行する指示を追加する
プロンプトを有効化したら、エージェントに作成したプロンプトを実行する命令を追加します。

設定画面を表示し、[クイック検索]に「エージェント」と入力→[Agentforce エージェント]をクリックします。

任意の従業員エージェント(種別=従業員となっているもの)をクリックします。

画面右上の[ビルダーで開く]ボタンをクリックします。

今回は既存の「General CRM」トピックに追加していきます。有効化されている場合(右上ボタンが「無効化」表示になっている場合)は無効化します(ボタン名が「有効化」になっている場合は無効になっています)
[General CRM]をクリックし、トピックの詳細を表示します。

トピック(指示)を編集します。
※編集できない状態の場合は画面下部の[新しいバージョン]ボタンをクリックすると編集可能な状態になります。
[指示を追加]ボタンをクリックし、作成したプロンプトを呼ぶ挙動を行う命令を追加します。
指示を追加したら[保存]ボタンをクリックします。
トピックの一覧に遷移するので、再度同じトピック名をクリックします。

指示に対して実行するアクションを追加します。[このトピックのアクション]タブをクリックし、[新規]→[新規アクションを作成]ボタンをクリックします。

以下の情報を入力し、[次へ]ボタンをクリック
- 参照アクション種別:プロンプトテンプレート
- 参照アクション:作成したプロンプト名を選択(有効化していないと選択できません)/li>
- エージェントアクション表示ラベル:任意の名称を設定(トピックで指定した名称を設定します)/li>
- エージェントアクションAPI参照名:任意の名称を設定/li>

以下の情報を入力します。(その他はデフォルト値のままで問題ありません)
- エージェントアクション指示:どういった場合にこのアクションを実行するか記載します。
- 読み込み中テキスト:このアクションを実行している場合に表示されるメッセージです。([このアクションで読み込み中テキストを表示]のチェックを外すことで指定は不要ですが、想定の動きをしているかどうか視覚的に確認ができるので設定することを推奨します)
- 左側[入力]にある[Opportunity]の[指示]に入力
- 右側[出力]にある[Prompt Response]の[会話中に表示]をチェック
必要な情報を入力したら[保存]ボタンをクリックします。

保存したら[有効化]ボタンが表示されます。
警告ウィンドウが表示された場合は[無視 & 有効化]ボタンをクリックします。
※有効化前に会話プレビューで動作確認することを推奨します。
これで設定は完了です。実際の画面で動作確認してみます。

任意の商談を表示し、右上のAgentアストロアイコンをクリック→会話パネルが開いたら「この商談に似た商談はありますか?」と質問を入力し、送信してみます。

設定した実行中メッセージが表示されることを確認します。

実行結果が返ってくることを確認します。
今回は基本的な設定ということで、検索のみの解説ですが、更に命令を追加したり、フローを組み合わせることでデータ更新などの処理などを入れることも可能です。
利用時の注意事項
Agentforceのライセンスは従来のSales CloudやService Cloudなどのユーザー1名につき月額何円というサブスクリプションモデルではなく、利用量に応じて料金が変動する「コンサプションモデル」を採用しています。そのうちの購入モデルとして事前に必要となる利用量を購入し、オーバーした場合には精算をするというモデルがあります。
この場合は事前にどの程度利用しそうかという計算も必要となりますが、利用量を常に監視しておく必要があります。
利用量については、Salesforce上に「消費カード」という画面から確認が可能です

契約形態については他に利用料に応じて後払いするタイプや、無制限の利用が可能なタイプなど複数あるため、詳細についてはライセンスの契約時にセールスフォース社の営業担当(AE)にご確認ください。
まとめ
「データ検索の効率化!SalesforceのAgentforceを活用する」と題して紹介しました。プロンプトやAIエージェントへの命令などは自然言語での設定であり、従来のプログラミングのイメージとは全く異なり、プログラミングをしない人でも設定可能であり、設定やメンテナンスのハードルが低いことが理解できたかと思います。
最初に紹介しました通り、自律型AIエージェントは今後のビジネスに置いて必要不可欠な存在となってきます。Agentforceを活用して業務の効率化・自社ビジネスの成長を目指しましょう!
とはいえ、自社のどういった業務がAIエージェントにお願いできそうか、お悩みの方もいらっしゃると思います。弊社ではAgentforceの導入・設定の相談のみでなく、自社の業務のどこをAIにお願いするか検討するためのワークショップも実施可能です。
Agentforceの導入の検討の際はぜひ弊社にご相談ください。
当サイトでノウハウ共有やSalesforceの定着促進・保守運用・開発を検討している方へ、様々なダウンロード資料をご用意しております。ぜひ資料をダウンロードいただき、ご活用ください。


