
Agentforceガイドの概要
推論、トピック、指示、アクションについて
推論、トピック、指示、アクションについて
AIエージェントは 、効率性の向上、手作業の削減、高度で適応性のある職場の構築を実現し、組織に革命をもたらす可能性を秘めています。そこでSalesforceは、AIエージェントを構築するためのプラットフォームであるAgentforceを立ち上げました。しかし新しいテクノロジーには、新しい概念と新たな実装上の懸念事項が伴います。
このガイドでは、Agentforceのコア要素をご紹介します。Agentforceとともに進化していく一連のガイドの導入箇所となります。このリソースでは、Agentforceの仕組みと、アーキテクトやすべての技術専門家がAgentforceを用いて構築する際に知っておくべき主要な機能とトレードオフについて詳しく説明します。
簡単に言えば、AIエージェントとは、生成AIを使用して次に何をすべきか、そしてどのように行うのかを決定するソフトウェアの一種です。AIエージェントは、質問(発話と呼ばれることが多い)を理解し、その目標を達成するためにどのようなアクションを取るべきかを自律的に推論します。そして必要なデータを特定し、人間の介入の有無にかかわらずアクションを実行できます。しかし、最大のメリットは、AIエージェントが、事前に記述された厳密なルールの代わりに大規模言語モデル(LLM)を使用する点にあります。これにより、AIエージェントはルールベースの自動化よりも動的な機能を果たします。またこれは、ハードコードされた指示に従う従来のソフトウェアとは大きく異なる点でもあります。
AIエージェントの主な機能
エージェントは従来のソフトウェアのようにハードコードされたロジックには従いませんが、Agentforceには、エージェントの推論方法にその他の制御を追加するためのコンポーネントが多数用意されています。また、Agentforceを拡張可能にする機能も多数あります。これらのコンポーネントを簡単に見てみましょう。
コンポーネント | 使用目的 | 必要なスキル |
---|---|---|
AIエージェントで使用できるアクション | FlowまたはApexからAIエージェントを呼び出す | ローコード |
AIエージェントのAPI | Salesforceの外部からAIエージェントを呼び出す | プロコード |
AIエージェントの変数 | AIエージェントがトピックとアクションの選択を通じて推論する方法に他の制御を追加する | ローコード |
Agentforce SDK | Pythonコードを使用し、SalesforceのAgentforceインフラへのプログラムインターフェースを介してエージェントを最初から構築する場合。 | プロコード |
モデルビルダー | 生成AIモデルのカスタマイズ、または予測モデルの作成 | ローコード |
AIエージェントを導入する際には、戦略的な計画が重要です。組織に戦略がない場合は、Trailheadの「AI計画」バッジ を取得することをお勧めします。ここから先は、AIビジョンの策定、AIカウンシルの設立、AIガバナンスの確立、AIユースケースの特定、ロードマップの構築といったプロセスにすでに精通していることを前提としています。
AIエージェントの構築には時間とリソースが必要です。慎重に計画を立てることで、最初から正しく進めることができます。AIエージェントの構築を開始する前に、ユースケースを定義し、構築する各AIエージェントのプロセスマップを作成します。Trailheadの「エージェントプランニング」バッジ は、「エージェントの作業の概要を定める 」単元のプロセスマッピングをカバーしています。理想的なユーザーエクスペリエンス(UX)と、システムがユーザーの入力にどのように応答し、潜在的なエラーや問題をどのように処理するかを概説します。
結果として作成される図は、フローの理解を確実にし、指示を生成し、アクション、変数、フィルターをどこで使用するのかを把握するのに役立ちます。このAIエージェントプランニングアプローチには、次のような利点があります。
先に進む前に、Salesforce Platformで使用できる生成AIツールはAIエージェントだけではないことを確認しておきましょう。プロンプトテンプレートも、生成AIを利用したアプリケーションを構築するための強力なツールの1つです。プロンプトビルダーに組み込まれたプロンプトテンプレートを使用すると、生成AIモデルが特定の出力を生成するよう指示する、構造化された再利用可能な指示セットを定義できます。プロンプトテンプレートは、事前定義されたフィールド、データグラフ、コンテキストデータ検索拡張生成(RAG)通じて、Salesforceのデータを参照できます。また、プロンプトテンプレートは安全性が高く、すべてのプロンプトはSalesforceのTrust Layerを介してルーティングされ、権限を尊重しながら機密データをマスキングし、有害な出力にフラグをつけます。
プロンプトテンプレートはAIとの1ターンの対話であり、メモリやマルチステップの推論を必要としない1回限りのタスクに最適です。たとえば、継続的な文脈が不要なケース(文章の言い換え、ケースの要約など)では、プロンプトテンプレートが理想的です。プロンプトテンプレートを使用してソリューションを設計する際は、プロンプトテンプレートがステートレス(ターン間でメモリを保持しない)であり、決定やアクションを行わないことを覚えておくことが重要です。プロンプトテンプレートは、設計時に指定した入力とロジックにもとづいて応答を生成します。
プロンプトテンプレートは、組み込みAIソリューションで単独で使用することも、エージェントアクションとしてプロンプトテンプレートをAIエージェントに追加することもできます。プロンプトテンプレートを単独で使用するのは次のような場合です。
プロンプトテンプレートのユースケース
プロンプトテンプレートは、実行時にレンダリングされる動的な入力にもとづいてデータを動的に入力し、応答を生成できます。ただし、オプションを通じて推論したり、アクションを実行したりすることはできません。
AIエージェントは、進化するコンテキストにもとづいて、何を、どの順序で、どのように行うかを自律的に決定するソフトウェアシステムです。AIエージェントは、計画や推論、外部アクション(APIコールやデータベース検索など)の呼び出し、そして結果に基づいた反応が可能であり、単一のプロンプトにとどまらない高度な処理を実現します。プロセスの途中で学ぶ内容に応じて、異なるパスや応答を選択できます。AIエージェントに最適なのは、以下のようなケースです。
AIエージェントのユースケース
Agentforceがどのようにユーザーのリクエストを理解し、どのようなアクションを取るべきかを決定する仕組みを理解したいですか?このセクションでは、意思決定プロセスの核心であるAtlas推論エンジンについて解説します。レコードがSalesforceに保存されるときに何が起こるかを理解するには、実行順序の理解が重要であるのと同様に、Atlas推論エンジンがバックグラウンドでどのように動作しているかを知ることで、Agentforceの仕組みを理解することができます。
Atlas推論エンジンは、一連のプロンプト、コード、LLMコール、そして3つの主要な構成要素を使用して、AIエージェントが効果的に理解し、応答できるようにします。以下の3つの要素(トピック、指示、アクション)を、AIエージェントを機能させるために制御するレバーと考えてください。これらの要素を調整することで、推論エンジンが理解、決定、行動するために使用するプロンプトをエンジニアリングしていることになります。そうです。Agentforceは推論エンジンのプロンプトを使用して、トピックとアクションを分類しているのです。まり、エージェントビルダーでAIエージェントを構築するたびに、あなたはプロンプトエンジニアリングをしているということです。
Atlas推論エンジンの詳細を説明する前に、Agentforceを使用してエージェントを構築するたびに定義する3つの重要なメタデータである、トピック、指示、アクションについて詳しく見てみましょう。
トピックは、AIエージェントの機能を構成する基盤であり、エージェントが実行できる内容や、それに必要なアクションと指示を定義します。トピックは、特定の専門知識、ツール(アクション)、ガイドライン(指示)を備えた専門部門と考えてください。顧客がメッセージを送信すると、AIエージェントはまずそのリクエストを処理する「専門部門」(トピック)を判断し、続いてその部門のガイドラインに従い、ツールを使って顧客を支援します。また、トピックにはスコープが設定されており、AIエージェントがその領域内で実行できること・できないことが定義されています。
指示とは、トピック内で会話をどのように処理するかを定めるガイドラインであり、アクションの選択を導き、会話の流れを設計し、ビジネス上の文脈を提供します。明確に区別されたトピックは重複を防ぎ、推論エンジンが顧客のリクエストを正確に分類できるようにします。AIエージェントを効果的に導くためには、指示は明確で具体的、かつ実行可能でなければなりません。
アクションは、AIエージェントが情報を取得したり、タスクをこなしたりするためのツールです。アクションを定義する際は、推論エンジンがそれらをどのように処理するかを理解しておくことが大切です。エンジンは、名前や説明、入力内容、トピックの指示、会話のコンテキストに基づいて使用可能なアクションを判断します。Agentforceには、標準のエージェントアクションがあらかじめ多数用意されています。また、カスタムアクションを作成することで、さらに実装を拡張できます。カスタムアクションを作成する前に、標準アクションで対応できるかどうかを必ず毎回確認しましょう。アクションは複数のトピックで使用できるため、再利用性を考えて設計しましょう。以下は、使用可能なカスタムエージェントアクションと、適切な使用状況の一覧です。
コンポーネント | 使用目的 | 必要なスキル | 追加ライセンスの要不要 |
---|---|---|---|
プロンプトテンプレート | LLMを呼び出して応答を生成する場合。プロンプトテンプレートのアクションは、AIエージェントがRAGを活用するための1つの方法です。 | ローコード | はい |
Flow | ローコードのルールベースの自動化とレコード取得を実行する場合 | ローコード | いいえ |
Apexコード | プロコードのルールベースの自動化とレコード取得を実行する場合 | プロコード | いいえ |
MuleSoft API | 複雑なエンタープライズ環境でレガシーシステムやその他の外部アプリケーションからデータを取得する場合 | プロコード | はい |
外部サービス | OpenAPI仕様をサポートするREST APIからデータを取得する場合 | ローコード | はい |
予測的モデル | エージェントで予測AIを使用する場合 | ローコード | はい |
エージェントが具体的にはどのようにしてトピック、指示、アクションを使用して作業を完了するのか、疑問に思う方もいるでしょう。ここでは、エージェントが呼び出されるたびにAtlas推論エンジン内でどんなことが起こるのか、段階的に説明していきます。
このプロセスは、ユーザーからメッセージまたはクエリを受信したとき、またはイベント、データ変更、API呼び出しからエージェントが呼び出されたときに開始します。
推論エンジンは、ユーザーのメッセージを分析して、もっとも関連性の高いトピックに分類します。この分類ステップで推論エンジンが参照するのは、トピック名とその説明だけです。適切なトピックが見つからない場合は、「オフトピック」に分類されます。
選択したトピックに関連するスコープ、指示、アクションは、元のユーザーメッセージと会話履歴(通常は直近の6ターン)とともにプロンプトに挿入されます。生成されたプロンプトはLLMに送信され、AIエージェントが次に何をすべきかを判断します。
AIエージェントは、結合された入力内容(ユーザーメッセージ、指示、潜在的なアクション)を分析し、以下に示す次のステップを決定します。
最終的な応答を送信する前に、AIエージェントは最後のチェックを行います。そして、提案された応答がトピック向けに提供された指示にもとづいたものであり、その指示に従っていることを確認します。このステップでは、応答が以下に該当しているかをチェックします。
最後に、検証済みの応答がユーザーに送信されます。グラウンディングステップが失敗した場合、エージェントは再試行して、グラウンディングされた応答の生成を試みます。グラウンディングされた応答を生成できないときには、リクエストに応じられないことをユーザーに通知するための標準メッセージを送信します。
このワークフローを理解することで、この推論プロセスとの連携の際にAIエージェントの各コンポーネント(トピック、指示、アクション)を慎重に設計することが求められる理由が明確になります。しかし、それだけではありません。
エージェントのワークフローに追加の制御を提供し、決定論的なロジックを追加する場合、Agentforceは条件付きフィルタリングを使用します。これは、フォームフィールドに動的な可視性ルールを設定するようなものですが、推論においてはエージェントに設定します。
条件付きフィルターは、推論プロセス中にトピックまたはアクションを検討する必要性の有無を決定するゲートキーパーとして機能します。LLMの決定をガイドする指示とは異なり、フィルターはシステムレベルで動作し、特定の条件にもとづいてトピックとアクションを完全に削除または含めます。
条件付きフィルタリングは、以下の2つの重要な方法を用いてエージェントのパフォーマンスを向上させます。
1. トピック分類の精度の向上
会話の状態にもとづいて無関係なトピックを検討対象から除外することで、トピック分類プロセス中の「セマンティックノイズ」を削減できます。これにより、LLMがユーザークエリに適切なトピックを選択しやすくなります。
たとえば、ユーザーがまだ認証されていない場合、フィルターはアカウント固有のアクションに関連するすべてのトピックを非表示にすることができます。これにより、エージェントが一般的なクエリを機密性の高いトピックに誤って分類し、最終的に認証エラーや不適切な応答につながるのを防ぎます。
2. コンテキストに応じたアクションの選択
トピックが選択されると、フィルターは現在の会話の状態にもとづいて、そのトピック内で使用可能なアクションをさらに絞り込みます。
条件付きフィルタリングの仕組み
Atlas推論エンジンは、コンテキスト変数とカスタム変数の2種類の変数にもとづいたフィルタリングをサポートしています。各タイプのプロパティの概要は以下のとおりです。
コンポーネント | コンテキスト変数 | カスタム変数 |
---|---|---|
ユーザーによるインスタンス化が可能 | いいえ | はい |
アクションの入力が可能 | はい | はい |
アクションの出力が可能 | いいえ | はい |
アクションによる更新が可能 | いいえ | はい |
アクションとトピックのフィルターで使用可能 | はい | はい |
サポートされているタイプ | テキスト/数値 | テキスト/数値 |
これらはメッセージングセッションから派生した変数であり、以下を含めることができます。
コンテキスト変数は、AIエージェントが会話で尋ねることなく、既知の顧客情報にもとづいてインタラクションをパーソナライズする場合に特に役立ちます。コンテキスト変数を使ってソリューションを設計する際は、それらがセッションの開始時に設定され、その後は変更できないことに注意することが大切です。
カスタム変数には、アクションから返された情報が格納されます。これらは、以下の目的のために使用できます。
フィルターは、コンテキスト変数およびカスタム変数の値に基づいて設定されます。フィルターはトピックレベルでもアクションレベルでも適用できます。
以下のシンプルなダイアグラムをご覧ください。これは、Atlas推論エンジンのトピックレベルとアクションレベルのフィルターが推論フローにどのように適合するかを示すものです。
フィルタリングのもっとも一般的なユースケースは、機密性の高い操作へのアクセスを以下のように制御することです。
フィルター:「認証が必要」
条件:AuthenticationStatus = 「verified(検証済み)」
適用対象:アカウント管理トピック、支払い処理トピック
これにより、ユーザーが認証前にアカウントや決済について尋ねたとしても、AIエージェントがこれらのトピックを呼び出すことはなくなります。
フィルターは、ステップを適切な順序で実行するためにも役立ちます。
フィルター:「Order Number Required(注文番号が必要)」
条件:orderNumber != null
適用対象:注文状況の確認アクション、注文の変更アクション
これにより、注文関連のアクションは、注文番号が収集され、変数に格納された後にのみ利用可能になります。
フィルタリングと指示の違いを理解することが重要です。
Atlas推論エンジンを構成するもう1つの要素が引用です。引用を使用して、LLMが応答を生成するために使用するソースを検証できます。以下のダイアグラムは、引用が推論エンジンの流れのどこに当てはまるかを示すものです。
このダイアグラムでは、推論エンジンの構成可能なアーキテクチャについても強調表示されています。エスカレーション、引用、ガードレールは、Service向けAgentforceのテンプレートを使用してAIエージェントを構築する際に、推論エンジンによって使用されるモジュラーコンポーネントです。現在、推論エンジンで使用されるモジュラーコンポーネントは、テンプレートごとに設定されています。Salesforceでは、これらのコンポーネントを、AIエージェントの中で自由に入れ替えられるレゴブロックのような仕組みにしようと取り組んでいます。将来的には、お客様ご自身で交換できるようにすることも視野に入れています。
すでに多くのことを取り上げてきましたが、ここでは一歩下がり、顧客がエージェントに質問するときに、トピック、指示、アクションが推論エンジンとどのように連携するのかを完全な例を挙げながら説明していきます。
カスタマーメッセージ:「昨日赤いセーターを注文しましたが、配送先住所を変更する必要があります」
推論エンジンの仕組みと、トピック、アクション、指示が非常に重要である理由を理解したところで、それらを作成するためのいくつかのベストプラクティスを見てみましょう。
トピックは、AIエージェントの能力の基盤であり、AIエージェントが何をできるか、どのような顧客リクエストに対応できるかを定義します。トピックは、トピック名、分類の説明、スコープの3要素で構成されます。
悪い例 | 良い例 | 優れている理由 |
---|---|---|
顧客情報 | 注文状況と詳細を提供する | 片付けるべき用事(Jobs to Be Done)を明確に説明する |
ご質問 | 技術的な質問に答える | 提供されるヘルプのタイプを指定する |
店頭でのやり取り | 決済情報の更新を支援する | 提供されるヘルプのタイプを指定する |
これは、このトピックをトリガーするユーザーメッセージについて説明するものです。トピック分類の説明は、エージェントがこのトピックをいつ使用するかを理解するために重要であり、分類ステップで使用されます。
悪い例 | 良い例 | 優れている理由 |
---|---|---|
注文に関する質問に対応してください。 | 注文番号を確認した後、注文の詳細とステータスの最新情報を顧客に提供してください。 | トピックの範囲が明確です。 |
アカウントに関するサポートを行ってください。 | ユーザーのログインの問題、アカウントの作成、パスワードのリセットを支援してください。 | より具体的で、AIエージェントが正しいものを選択できます。 |
支払いに関する問題を処理する前に確認してください。 | ユーザーがクレジットカードやPayPalの詳細などの決済情報を追加または更新できるよう支援してください。 | 別のトピックにリダイレクトするように具体的にメンションしています。 リマインダー:一貫性を高めるには、条件付きトピックフィルターを使用します。 |
AIエージェントがユーザークエリに対して、適切なトピックを一貫して選択できない場合には、まずトピック名と説明を調査して絞り込む必要があります。
これにより、このトピック内でエージェントができることとできないことの境界が定義されます。
悪い例 | 良い例 | 優れている理由 |
---|---|---|
注文に関する質問や問題を処理してください。 | あなたの仕事は、顧客の注文状況、返品状況、または返品および修理ポリシーに関連する質問に答えることのみです。注文や返品の開始または生成は絶対に実行しないでください。 | エージェントがすべきこととすべきでないことの間に明確な境界を設定できます。 |
ログインに関する問題をサポートしてください。 | あなたの仕事は、パスワードのリセットやユーザー名の検索を行い、ログインできない顧客を支援することだけです。アカウント情報の更新や権限の変更はできません。 | トピックが実行できるアクティビティと境界を明示的に示しています。 |
では、設計時にトピックを設定して、AIエージェントがユーザーのパスワードリセットを支援できるようにする方法を見てみましょう。この例では、トピック、手順、およびアクションは次のように構成されています。
コンポーネント | 目次 |
---|---|
トピック名 | パスワードのリセット |
分類の説明 | パスワードを忘れた、ログインできない、認証情報のリセットが必要、ロックアウトされている、またはログインの問題が発生している顧客を支援します。ユーザーのパスワード変更やアカウントアクセスの回復をサポートします。 |
スコープ | あなたの仕事は、顧客がパスワードをリセットしたり、ユーザー名を回復したりするのを支援することだけです。あなたは、メールまたは電話で本人確認を行い、パスワードのリセットを開始できます。あなたは、確認の範囲を超えてアカウントの詳細にアクセスしたり、パスワード以外の顧客情報を変更したりすることはできません。 |
指示 |
---|
お客様に、本人確認の方法(メールまたは電話)のいずれを希望するかを尋ねてください。 |
顧客の好みにもとづいて、「メールによる顧客確認」または「電話による顧客確認」アクションを使用します。確認が成功するまで、パスワードのリセットを試行しないでください。 |
確認後、「24時間後に有効期限が切れる安全なリセット用リンクをメールに送信します」とリセットのプロセスを説明します。 |
顧客が登録したメールまたは電話にアクセスできない場合にのみ、「セキュリティに関する質問による認証」を使用してください。 |
リセットが完了したら、アカウントへのアクセスに関連するその他のサポートが必要かどうか尋ねます。 |
アクション名 | 説明 | 入力 |
---|---|---|
メールによる本人確認 | メールアドレスとアカウントを照合して本人確認を行います。成功した場合は、確認ステータスと顧客IDを返します。 | メールアドレス:顧客のメールアドレス(形式:example@domain.com)。 |
電話による本人確認 | 顧客の電話にコードを送信して本人確認を行います。メールによる確認ができない場合に使用します。 | 電話番号:特殊文字を含まない10桁の番号。 |
パスワードリセットメールの送信 | 有効期間が24時間のリセット用リンクを確認済みのメールアドレスに送信します。確認が成功した後にのみ使用してください。 | 顧客ID:確認が成功したときの確認済みID |
その後のランタイムに、顧客が会社のWebサイトからエージェントとやり取りした場合には、以下のような展開が発生します。
指示は、トピック内の会話をどのように処理するかをAIエージェントに指示するガイドラインとなります。そして、AIエージェントが実行すべきアクションと応答方法を決定するのに役立ちます。
指示は、エージェントの意思決定プロセスにおいていくつかの重要な役割を果たします。
明確な指示がない場合、AIエージェントは間違ったアクションを選択したり、ユーザーの要求を誤解したりする可能性があります。また、一貫性のない応答を提供することも考えられます。ただし、指示はプロンプトにマージされてからLLMに送信されるため、必ずしも一貫した応答が得られるとは限りません。これらは、アクション内のコード化されたビジネスルールの必要性を置き換えるものではありません。
推論エンジンは、顧客の要求を処理する際に、ユーザーの指示を使用して以下の事柄を実行します。
指示が明確かつ具体的であるほど、エージェントのパフォーマンスの一貫性が向上します。
AIエージェントを構築する際は、指示とアクションの違いを正しく理解し、それに基づいて機能を設計することが重要です。複雑な計算、機密情報の処理、特定のシーケンス処理を必要とするマルチステップオペレーションなど、一貫して適用する必要がある重要なビジネスロジックについては、アクションを使用します。それとは対照に、指示の使用が適しているのは、会話の流れをガイドするようなケースです。具体的には、応答のフォーマットとトーンを定義し、情報が曖昧な場合に明確な戦略を確立することで、AIエージェントがコンテキストにもとづいて適切なアクションを選択できるよう支援します。
Refund Order Action Example:
public with sharing class RefundOrderHandler {
public class RefundResult {
@AuraEnabled public Boolean canReturn;
@AuraEnabled public String message;
}
@AuraEnabled
public static RefundResult processRefund(Id orderId, Date orderDate) {
RefundResult result = new RefundResult();
if (orderDate == null || orderId == null) {
result.canReturn = false;
result.message = 'Invalid input: Order ID and Order Date are required.';
return result;
}
Date today = Date.today();
Integer daysSinceOrder = today.daysBetween(orderDate);
if (daysSinceOrder > 30) {
result.canReturn = false;
result.message = 'Order cannot be returned.More than 30 days have passed.';
} else {
result.canReturn = true;
result.message = 'Order can be returned.Sending return slip.';
sendReturnEmail(orderId);
}
return result;
}
推論エンジンで適切に機能する指示の例をご紹介します。
悪い例 | 良い例 | 優れている点 |
---|---|---|
顧客の注文情報を取得してください。 | 顧客が注文状況について問い合わせてきた場合は、メールアドレス、注文日、注文IDなど、すべての検索オプションを提示してください。 | 具体的なガイダンスを提供し、アクション名に近い言葉を使用しています。 |
デバイス関連の問題をサポートしてください。 | 「ナレッジを使用して質問に回答する」アクションを使用してトラブルシューティング情報を取得する前に、デバイスの種類(OSまたはAndroid)を明確にしてください。「ナレッジを使用して質問に回答する」アクションの検索クエリにデバイスの種類を含めます。 | 最初に収集する情報を明確に指示し、使用するアクションを指定します。 |
製品に関する質問にナレッジを使用してください。 | 製品機能に関する質問については、まず、顧客が質問している製品を特定します。次に、正確な製品名で「ナレッジ」アクションを使用して、正確な情報を取得します。 | 明確な手順と情報指定により、アクションの効果を高めます。 |
顧客がサポートを必要としているかどうかを確認してください。 | 配送状況に関する情報を提供した後に、注文に関連する他のサポートが必要かどうかを必ず確認してください。 | フォローアップのタイミングと方法について具体的に説明します。 |
アクションは、エージェントが情報を取得したり、タスクを実行したりするために使用するツールです。
AIエージェントが顧客のリクエストを処理する際、推論エンジンは以下のことを行います。
このプロセスを効果的に機能させるには、明確でわかりやすい名前と指示をアクションに提供する必要があります。これにより推論エンジンは、いつ、どのような方法でアクションを使用するのかを理解できます。遅延を最小限に抑え、パフォーマンスを向上させるには、トピックに15個を超えるアクションを割り当てないでください。また、トピック間でアクションを再利用できることに留意してください。
AIエージェントの各アクションには、アクション名、アクションの指示、アクションの入力指示という3つの重要な要素があります。
悪い例 | 良い例 | 優れている点 |
---|---|---|
GetOrderInfo(注文情報の取得) | LookupOrderStatus(注文状況の確認) | アクションが提供する情報を明確に説明します。 |
UpdateContactRecord(連絡先レコードの更新) | UpdateCustomerPhoneNumber(顧客の電話番号の更新) | 更新される内容を具体的に説明します。 |
ProcessPmt(プロセスの支払い) | ProcessPmt(支払い処理) | わかりやすくするために省略形を避けます。 |
アクションの指示は、アクションが実行する内容とアクションを使用すべきタイミングを推論エンジンに伝えます。これらの指示は、AIエージェントが適切なタイミングで適切なアクションを選択できるようにする上で非常に重要です。
悪い例 | 良い例 | 優れている点 |
---|---|---|
電話番号を更新します。 | ユーザーに関連付けられているユーザーの電話番号を更新します。一致するレコードがない場合は、新しいレコードを作成します。 | アクションの機能とエッジケースの処理方法について説明します。 |
追跡情報を取得します。 | 追跡番号と配送先の郵便番号にもとづいて、顧客の注文の追跡情報を返します。 | アクションを使用すべきタイミングと必要な情報について説明します。 |
ナレッジを提供します。 | 製品、ポリシー、または手順に関するユーザーの質問への回答をナレッジベースで検索します。ユーザーが「方法」に関する質問をしたり、アカウント固有でない情報を求めている場合に、このアクションを使用します。 | 会話フローでアクション使用すべきタイミングについて説明します。 |
アカウントを確認します。 | 顧客アカウントが存在するかどうかを確認し、アカウントのステータス情報を返します。このアクションは、顧客がアカウントを保有しているか、または有効かどうかを確認する場合に使用します。検索を実行するには、メールアドレスまたは電話番号が必要です。 | 目的、使用するタイミング、どのような情報が必要かを明確に記述します。 |
アクション指示のベストプラクティス
アクションの入力指示は、必要な情報と、それをAIエージェントが顧客からどう取得するかを定義します。明確な入力指示があれば、AIエージェントは適切な形式で必要な情報を収集できます。
悪い例 | 良い例 | 優れている点 |
---|---|---|
注文IDを入力してください。 | 注文IDは18文字の英数字の識別子です。 | 入力形式の詳細を示します。 |
顧客のメール。 | アカウントの確認に使用される顧客のメールアドレス。形式は有効なメールアドレス(example@domain.com)である必要があります。 | 形式と検証の要件を指定します。 |
検索クエリ | ユーザーの質問を説明する詳細な検索クエリ。検索結果を改善するために、ユーザーが言及した特定の製品名、エラーコード、または症状を含めます。技術的な問題については、デバイスの種類(iOS/Android)とアプリのバージョン(記載されている場合)を必ず含めてください。 | 含める特定の要素を使用して、効果的なクエリを作成する方法を説明します。 |
電話番号。 | 顧客の10桁の電話番号(スペースや特殊文字を含まない)。顧客が書式設定付きの番号(555-123-4567など)を提供した場合は、アクションに渡す前に特殊文字を削除します。 | 明確な書式と処理方法を説明します。 |
アクションの入力指示の主なヒント
これは、私たちがお客様からよく受ける質問の1つです。答えは、「極めて重要」です。AIエージェント分析やDigital WalletなどのAgentforceの特定の機能にData Cloudアーキテクチャが活用されています。そのため、Data Cloudは、Agentforceにとって不可欠な要素と言えます。さらに、Data Cloudのインフラは、非構造化データのインデックス作成と検索、フィードバックのログ記録と監査証跡を強化します。また、Data Cloudを利用することで、 Agentforceの拡張性を向上できます。ユーザーは、独自のモデル(BYOM)と大規模言語モデル(BYO-LLM)を有効にして、Salesforce以外のプラットフォームで構築されたデータやモデルと、Agentforce上に構築されたAIエージェントを組み合わせて使用することもできます。
データフェデレーションを通じた他のデータレイクからのデータへのアクセスから、ペタバイト規模のデータに対応するハイパースケールインフラストラクチャの活用まで、Data CloudのアーキテクチャとAgentforceを活用することで、ユーザーはAIの成果をすぐに向上させることができます。また、AIエージェントを動かす基盤となるデータセットがどれほど大きく複雑であっても長期的な実行可能性を確保できるため、AIエージェントの導入を成功させることができます。
以下の概要にて、Data CloudがAgentforceのどの機能に搭載されるのかをご紹介します。デフォルトでData Cloudに対応しているAgentforceの機能や、実装の拡張を検討しているお客様が有効化できるData Cloudの任意の機能の概要について、ご確認いただけます。
Agentforce機能 | 説明 | プロビジョニング |
---|---|---|
監査証跡とフィードバックロギング | 生成AI監査データ | 任意選択 |
データライブラリの自動化 | 検索インデックスと取得ツールの作成を自動化して、ナレッジを活用して質問に答えるなどのエージェントアクションをサポートします | デフォルトでプロビジョニング |
独自の大規模言語モデル(BYO-LLM)の持ち込み | ユーザーが独自のLLMを使用できるようにします | 任意選択 |
Agent Analytics | レポートとダッシュボード向けに使用状況データをData Cloudにストリームします | デフォルトでプロビジョニング |
外部データソース(非CRM) | ユーザーは外部ソースからのデータを使用して、AIが生成した応答をグラウンディングできます | 任意選択 |
非構造化データ | ユーザーは非構造化データを使用して、AIが生成した応答をグラウンディングできます | 任意選択 |
リアルタイムのデータグラフ | ユーザーは、複数のData Cloudソースから取得した正規化データを使用して、AIが生成した応答をほぼリアルタイムで把握できます。 | 任意選択 |
検索拡張生成(RAG) | ユーザーは、推論時に取得されるSalesforceとData Cloudからのデータを使用してプロンプトを強化できます | デフォルトでプロビジョニング |
ここまで、Agentforceを機能させるための主な要素であるAtlas推論エンジンについて説明し、トピック、指示、アクションの使用方法を紹介してきました。Agentforceを効果的に使用するための鍵は、これらの要素を理解することです。Agentforceの成果を高めるため、Agentforceの実装を始める際にはこのガイドをご活用ください。詳細については、提供されているリソースを確認することをおすすめします。
エージェントプランニング:エージェントの作業の概要を定める
https://trailhead.salesforce.com/ja/content/learn/modules/agentforce-agent-planning/outline-the-agents-work
アクションの指示:
https://help.salesforce.com/s/articleView?id=ai.copilot_actions_instructions.htm&type=5
トピックの指示:
https://help.salesforce.com/s/articleView?id=ai.copilot_topics_instructions.htm&type=5
AIエージェントのトラブルシューティング:
https://help.salesforce.com/s/articleView?id=ai.copilot_troubleshoot.htm&type=5
Agentforceの変数:
https://developer.salesforce.com/blogs/2025/04/agentforce-variables-a-new-way-to-structure-agent-memory
https://developer.salesforce.com/blogs/2025/04/control-agent-access-and-decision-making-with-variables-and-filters
Agentforceガイドの主な内容は、SalesforceのAgentforceプラットフォームを使用したAIエージェントの構築についてです。AIエージェント、トピック、指示、アクション、Atlas推論エンジンなどのコア要素を網羅しています。
このガイドは、Agentforceを使用したAIエージェントの構築と導入に携わる技術専門家やアーキテクトを対象としています。
このガイドでは、Agentforceの基礎、プロンプトとAIエージェントの違い、Agentforceがどのように推論しているか、さまざまなコンポーネントのベストプラクティス、AgentforceにData Cloudが必要かどうかについて説明します。
Agentforceは、自律的に計画、推論、行動できるAIエージェントを導入し、手作業を減らして効率を高めることで、企業の生産性を向上させます。
主な利点には、AIエージェントがさまざまな状況に適応し、効果的に計画し、自律的にまたは人の介入を伴ってツールを使用できることがあります。また、Agentforceのさまざまな機能を強化する上でData Cloudも重要です。
はい。このガイドでは、戦略的な計画、トピックとその範囲の定義、明確な指示の記述、アクションの設定に関するベストプラクティスなど、実装に関するアドバイスを提供しています。
Agentforceは、責任あるAIを実現するため、フィルタリング、グラウンディングチェック、アクションと指示の慎重な設計などのメカニズムを備えています。これにより、AIエージェントは責任を持って行動し、正確な応答を提供します。