はじめに

みなさん、こんにちは。株式会社セールスフォース・ジャパンの製品統括本部で Platform と Trusted Services のプロダクトマネージャーを担当してます Hiro です。

Salesforce Platform もさまざまな生成 AI 活用機能を続々と新規に開発・搭載しています。それに伴い各機能を画面から設定する「〇〇ビルダー」も複数登場してきました。今回は「プロンプトビルダー」に焦点をあてて、その位置付け・概要から機能詳細について解説します。

免責のお伝えです。本記事は 2024/11/20 時点の画面・提供機能でもって作成しています。その後の更新等で画面が変わっていたり機能が追加されている場合もあります。あらかじめご了承ください。最新情報については Help ページを参照いただきますよう、よろしくお願いいたします。

当サイトでは、最新かつ正確な情報の掲載を努めておりますが、正確性や安全性、効果等を保証するものではありません。本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。また、当サイトの掲載内容によって損害等が生じた場合は、一切の責任を負いかねますので、ご利用の際はヘルプやリファレンスをご参照の上、お手元で十分検証をいただいたのち導入についてご判断くださいますようお願いいたします。

プロンプトビルダーの位置付け・概要

生成 AI による効果を高めるためにプロンプトがいかに重要であるかは多くの方の共通認識であると思います。Salesforce Platform において、そのプロンプトを定義・管理する役割を「プロンプトビルダー」が担っています。

この「プロンプトビルダー」が管理しているものは、正確にはプロンプトテンプレートです。テンプレートとはどういうことなのか?まずは項目生成機能を使う場合を例にとって動きを見てみましょう。

  1. レコード詳細ページ編集画面上の項目欄横に出現するボタンを押すことで、あらかじめ設定してあるプロンプトテンプレートが呼び出されます。
  2. プロンプトテンプレートの内容に従い、項目の値を取ってきたりフローを実行するなどし必要なデータを回収してプロンプトに追加されます。
  3. こうして完成したプロンプトが大規模言語モデルに送られ、結果が生成されます。

つまり、Salesforce Platform における生成 AI 活用は、はじめから Salesforce 上のデータを活用する RAG を前提とした仕組みになっているわけです。この活用できるデータとプロンプトの距離の近さは、Salesforce Platform で生成 AI を活用する特徴の一つでもあります。

そして、このプロンプトテンプレートは、項目生成機能だけではなく、例えばフローから呼び出したりもできます。また、セールスメール機能など、Sales Cloud / Service Cloud 向けとして実装された生成 AI 活用機能の一部のプロンプトテンプレートも、カスタマイズすることができます。個々の企業のニーズに合わせて変更を加えることで、活用効果をより高めることができるようになっています。

それでは詳しくみていきましょう。

プロンプトビルダーの使い方

機能有効化と権限セットの割り当て

まず初めに、Salesforce Platform 全体の生成 AI 機能を有効化します。そして権限セットを割り当てます。
プロンプトビルダー用の権限セットは 2つ用意されており、

  • プロンプトテンプレートマネージャー (プロンプトビルダーを利用し作成・更新など管理を行える)
  • プロンプトテンプレートユーザー(プロンプトビルダーは利用できないが、プロンプトテンプレートを呼び出す機能を利用できるようになる)

となっています。適切なものを必要なユーザーに割り当ててください。

機能への辿り着き方

プロンプトテンプレートマネージャーの権限を割り当てられたユーザーで操作します。設定画面左側のメニューから Einstein → Einstein 生成 AI → プロンプトビルダーとたどります。

新規作成・テンプレートの種類

「新規プロンプトテンプレート」ボタンを押すことでダイアログが出現します。テンプレートの種別を選び、必要な設定をします。

テンプレートの種別の例

  • 項目生成: レコード詳細画面の編集モードで指定した項目横に出現するボタンを押すことで呼び出せるテンプレート
  • Flex: フローや Apex から呼び出せるテンプレート
  • セールスメール: セールスメール機能で使われるテンプレート(Einstein for Sales のアドオンライセンスが追加されている場合に出現)

Salesforce 組織に追加されているライセンスや有効にしている機能によって、出現するテンプレートも変わります。

画面構成・各機能

プロンプトビルダーは、プロンプトテンプレートの組み立て・設定に加えて動作確認テストを行うこともできます。

  • ① ワークスペース: ここにプロンプトの雛形を書き込みます。
  • ② リソースピッカー: 動的に追加するデータ項目や処理をマウス操作で選択できます。
  • ③ レコードセレクター: プレビューで使用するデータを指定します。
  • ④ Preview Language: プレビュー実行時の生成をどの言語とするか指定します。
  • ⑤ 解像度: データが動的に追加された結果の完成したプロンプトが表示されます。またデータマスキングが有効な場合は、マスク後の結果も確認できます。(解像度という日本語訳についてはより適切なものに変更予定です)
  • ⑥ 生成結果: 完成したプロンプトによる生成結果が表示されます。
  • ⑦ 設定パネル: 使用するモデルや通常利用時の言語設定などを指定します。

Salesforce データ・外部データのプロンプトへの追加

動的に追加できるデータについて、もう少し詳しく紹介しましょう。ワークスペースで色のついている文字列がいわゆる変数となり、実行時に指定されたデータが差し込まれる場所になります。

例えば、テンプレートが次の内容で、プレビューで使うデータを「田中 明日都」とした場合です。プレビュー実行時に「田中 明日都」のレコードが読み込まれ、その中から役職・部署、また関連オブジェクトである取引先の業種・概要がプロンプトに追加されます。

この仕組みにより、利用者は組み合わせるデータを指定するだけで、プロンプトを書き換えることなく、そのデータごとに個別化された生成結果を得ることができるようになります。実際には、利用者はレコード詳細画面でこの機能を呼び出したりするので、その場合は表示しているレコードがそのまま組み合わせデータとして指定されることになり、機能を利用する時にデータを選択するという操作自体を意識することもありません。

追加できるデータはレコードの項目だけではありません。組織に関することや利用者に関するデータ、フローや Apex を実行してその結果を受け取ることもできるので、何かを集計・処理した結果や、外部のデータを取り込むことも可能です。また、Data Cloud のベクトルデータベース機能と連動し、類似性検索の結果をプロンプトに追加することもできます。(これはまた別の機会にご紹介しましょう)

プロンプトテンプレートから始まる仕掛けによって、利用者はそれぞれのデータに合わせて個別化された結果を手間なく受け取れる、しかもそれをコーディング不要で画面からの操作で設定・管理できる、そんな仕組みを Salesforce Platform は提供しています。

効果的なプロンプトの作り方

試しはじめていただいた方からよくある質問の一つに「プロンプトはどう書けば良いのですか?」というものがあります。これに関しては、何か Salesforce の生成 AI 機能特有のコツというものはありません。実際に生成を行う大規模言語モデル自体は、OpenAI 社や Anthropic 社のものであったりするので、例えば「ChatGPT 活用プロンプト集」「Claude サンプルプロンプト」なんてものがそのまま応用できます。個人的には言語学の観点からのプロンプトの書き方に関する内容も参考になったりしました。

Trailhead にも「プロンプトの基本事項」というモジュールがありますので参考になると思います。

大規模言語モデル自体は、元々は人間が作り出した言葉を学習しているわけです。誰かに何かをお願いするのと同じように、何をどうして欲しいのか具体的に書くこと、そして得たい結果が得られるまで試行錯誤しながら練度を上げていく行動、これにはきちんと向き合って取り組んで欲しいなと思います。Python を知らなくても Salesforce の操作に少し慣れてもらえれば大丈夫です。

まとめ

どうでしょう、試してみたくなりましたか? そんな方には Trailhead の「クイックスタート: プロンプトビルダー」をご紹介します。お試し用の環境を取得して一部機能を操作してみることができます。Trailhead のアカウントが必要ですが無料で作成できますので、是非お試しください。

次回以降で、生成 AI 関連の他のビルダーについての紹介や、項目生成やフローを使った応用例を紹介していきますのでお楽しみに。

参考情報

Get the latest Salesforce Developer blog posts and podcast episodes via Slack or RSS.

Add to Slack Subscribe to RSS