信頼できるAIエージェント行動を実現するためのAgentforceガイド
5レベルの決定論のフレームワーク
5レベルの決定論のフレームワーク
Olfa Kharrat、商品管理担当ディレクター - Agentforce
Reinier van Leuken、商品管理担当シニアディレクター - Agentforce
信頼は、1999年の創業以来、SalesforceのNo.1の価値であり、クラウドコンピューティングとSaaSの新しいテクノロジーモデルを開拓してきました。企業は、貴重な企業データをクラウドに保存し、そのデータが安全で適切なアクセス制御によって管理されていることを認識することで、Salesforceに信頼を寄せています。それは依然として重要ですが、エージェント型AIの時代には、信頼の定義はさらに広くなっています。企業が重要なビジネス機能を実行するために自律型エージェントに依存するようになるにつれて、AIエージェントは、仕事が正確かつ適切で頼りになるような、信頼の置けるビジネスパートナーになる必要があります。
では、信頼できるAIエージェントを構築するにはどうすればよいのでしょうか?通常、信頼性とは、同じ入力に対して同じ結果が出力されることを意味します。しかし、AIエージェントは大規模言語モデル(LLM)をベースにしているため、必ずしもそのように機能するとは限りません。LLMは本質的に非決定論的です。非決定論的であることで、AIエージェントは、遭遇する条件や状況を一々明示的にプログラムすることなく、特定の状況に合わせた創造的なソリューションを開発できる流動性を手にしています。ただし、AIエージェントには、ビジネス要件に準拠し、運用ガイドラインを遵守するためのガバナンスも必要です。ビジネスプロセスを実行する際には、信頼性を実証し、決定論的制約に合致するビジネス成果を生み出す必要があります。決定論は、厳格性と規律を課するため、AIエージェントが持つ自律性と流動性に対立します。したがって、AIエージェントの作成を成功させるための鍵は、創造的な流動性とエンタープライズコントロールの適切なバランスを取ることです。
このドキュメントでは、信頼できるAIエージェントを開発するための重要な考慮事項について説明します。エージェント制御の5つのレベルを定義し、各レベルでAIエージェントの行動を制御・維持するためのベストプラクティスを提供します。ガイダンスでは、Agentforceの推論エンジンがどのように機能するかを説明します。このドキュメントは、Agentforceが成長するにつれ、最新のベストプラクティスを反映させるために更新されます。
このドキュメントでは、AgentforceのAIエージェントの設計と構築に関する基本的な知識があることを前提としています。Agentforceの概要については、以下をお勧めします。
AIエージェントの行動をより深く理解するために、まずAIエージェントと、目的は似ているものの硬直的なチャットボットを比較してみましょう。
チャットボット:硬直的にルールに従う
チャットボットは、自身が参加できるダイアログを構造化する、事前に決定されたディシジョンツリーに従います。ディシジョンツリーの走査は、ユーザーの回答にもとづいて実行されます。この回答は、択一式の選択にすることも、自由テキストの回答にすることもできます。自由テキストの回答の場合、インテント分類には予測的モデルが使用されます。これらのツリーは、潜在的なすべての会話経路をマッピングし、各ステップにおけるチャットボットの応答を決定します。チャットボットの行動は、事前に設定されたルールによって硬直的に決定されます。ユーザーの入力が認識されたパスと一致しない場合、または予測的モデルが特定のインテントを認識するようにトレーニングされていない場合、チャットボットは適切に応答できません。
AIエージェント:適応力があり、直感的
対照的に、AIエージェントはLLMの力と自然言語処理(NLP)の高度な機能を活用します。AIエージェントは、LLMにより、ユーザーの入力が予期しない方法で表現されていても、その背後にあるインテントを理解できます。AIエージェントは、インテントの理解にもとづいて、さまざまな可能性の中から最も適切なアクションを選択できます。AIエージェントは、まったく新しい応答を構成することもできます。この柔軟性と適応力により、AIエージェントはチャットボットとは一線を画しています。
料理を活用したアナロジー
チャットボットとAIエージェントの違いは、新米コックと熟練のシェフの違いに例えることができます。
話をまとめると、AIエージェントとチャットボットの根本的な違いは、適応力と予期しない入力を処理できる能力にあります。
AIエージェントのインテリジェンスの明確な特徴は、最適なアクションを適切なタイミングでオーケストレーションして動的に実施できる能力にあります。この柔軟性により、あらゆる潜在的なユーザーインタラクションを広範囲にプログラムする必要がなくなります。
Agentforceでは、AIエージェントを構築するには、トピック、アクション、自然言語による指示、説明が必要です。
トピックとは、AIエージェントが「完了すべきジョブ」です。トピックには、分類の説明、スコープ、各ジョブとその実行方法を定義する指示などの属性があります。トピックには、AIエージェントが実行できるアクションと、これらのアクションがどのように実行されるかを管理する指示が含まれます。
アクションとは、AIエージェントがジョブを遂行するために実行できる事前定義されたタスクです。アクションには、次の5種類があります。
AIエージェントの定義には、AIエージェントのアセットを説明し、AIエージェントが従うべきガイドラインを定義する自然言語の指示が含まれています。指示は、アクションとトピックに対して書かれます。
これらのさまざまな構成要素が正しく構築されていれば、AIエージェントが適切な境界を逸脱することなく、意図した目的を実行するのに役立ちます。
Agentforceの推論エンジンは、これらの構成要素をオーケストレーションして、適切なエージェント行動に落とし込みます。また、トピックとアクションに定義された自然言語の指示と説明を活用します。これは、2022年にYaoらによって導入されたLLMのための新しい推論パラダイム、ReActにもとづいて構築されています。このパラダイムは、問題について推論し、アクションを実行し、アクションの結果を観察し、このサイクルをタスクが完了するまで繰り返すことで、人間のタスク管理を模倣します。
SalesforceのAIエージェントは、このパラダイムを遵守しています。
推論エンジンは、あらゆる推論でLLMを使用し、ステップを観察します。アクションタイプによっては、行動ステップでLLMを使用することもできます。
このセクションでは、AIエージェントの決定論を強化するための段階的アプローチについて説明します。各レベルは前のレベルを基盤として構築され、複雑性と機能が段階的に増加し、AIエージェントの行動をより細かく制御できるようになります。
最初のレベルでは、AIエージェントが関連するトピックを自律的に識別し、明示的な指示ではなく、目標を使用して適切なアクションを選択できるようにすることに重点を置いています。コアメカニズムは、コンテキストを理解してユーザーの入力に応答することです。技術的には任意のアクションタイプを追加できますが、ここではアクションがプロンプトアクションであると想定します。プロンプトアクションを備えた指示のないトピックは、よくある問い合わせを迅速かつ効率的に処理する手段を提供します。
このレベルでは、動的な理解を通じて、AIエージェントの応答性と自律性のベースラインレベルを確立することが重視されます。
指示のないアクション選択の基盤にもとづいて、このレベルでは、AIエージェントの行動をガイドする明示的な指示を導入します。正確な指示を追加することで、AIエージェントがさまざまな状況にどのように対応するかを制御できるようになります。AIエージェントへの指示は、ルール、ガイドライン、ガードレール、例のようなものです。これらは、さまざまなトピックを処理し、アクションを実行し、出力を処理する方法について、AIエージェントに具体的な指示を与えます。このレベルの目標は、一貫性を高め、企業のガイドラインとプロセスを厳格に遵守させるために、AIエージェントに明確なガイダンスを提供することです。
グラウンディングとは、AIエージェントの理解と応答を外部のナレッジソースに結び付けることです。グラウンディングにより、AIエージェントによって提供された情報の正確性、最新性、関連性を確保できます。このレベルでは、データベース、知識ベース、その他の情報リポジトリへのアクセスが統合されます。AIエージェントの応答を検証済みのデータにグラウンディングすることで、AIエージェントの信頼性と信用が強化されます。
このレベルでは、AIエージェントが変数を使用する機能が追加されます。変数があることで、AIエージェントはインタラクションをパーソナライズし、複数のインタラクションをまたいでコンテキストを保持し、エージェントセッション中に維持されている特定のデータポイントにもとづいて行動を動的に調整できるようになります。たとえば、AIエージェントは、ユーザーの好み、注文の詳細、その他の関連情報を取得し、そのデータを使用してインタラクションを調整できます。変数の追加により、AIエージェントはより複雑で詳細に規定され、パーソナライズされたインタラクションを適切に処理できるようになります。
最後のステップでは、AIエージェントをSalesforceのコア機能であるApex、API、フローと連携させます。連携により、AIエージェントはSalesforceエコシステム内で複雑なアクションを実行できるようになります。データへのアクセスと操作、ワークフローの動的な実施、他のシステムとのインタラクションなどです。
このレベルでは、AIエージェントは、高度なタスクを実行し、ビジネス成果に直接貢献できる強力なツールに変身します。
AIエージェントの応答性と自律性のベースラインを出発点として、トピックとアクション、それに対応する説明のみで構成されるAIエージェントについて考えてみましょう。このサンプルエージェントを使用して、推論エンジンの各ステップについて説明し、AIエージェントがこれらの説明をどのように使用して適切なトピックと実行するアクションを選択するかを示すことができます。この例ではトピック指示を省いているため、レベル1のAIエージェントが上位レベルと比べて最も高い自由度を持つことが確認できます。レベル1では、AIエージェントは進行中の会話のみにもとづいて、適切だと考えるアクションを完全に自由に選択できます。
アクティビティ | ステップ | 説明 |
---|---|---|
AIエージェントの呼び出し | 1 | AIエージェントが呼び出されます。 |
トピック分類 | 2~3 | エンジンは、顧客のメッセージを分析し、トピック名と分類の説明にもとづいて、もっとも適切なトピックを選択します。 |
コンテキストアセンブリ | 4~5 | エンジンは、トピックを選択した後、トピックのスコープ、指示、使用可能なアクションに加えて会話履歴を収集します(注:指示については、レベル2のエージェント制御で説明します)。 |
意思決定 |
これらすべての情報を使用して、エンジンは次のうちどれを行うかを決定します。 • アクションを実行して情報を検索または更新する • 顧客に詳細を尋ねる • 直接回答を返す |
|
アクションの実行 | 6~8 | アクションが必要な場合、エンジンはアクションを実行し、結果を収集します。 |
アクションループ | エンジンは新しい情報を評価し、次に何をすべきか(別のアクションを実行するか、詳細を尋ねるか、回答するか)を再び決定します。 | |
グラウンディングチェック | 最終回答を送信する前に、エンジンは応答が次の条件を満たしていることをチェックします。 • アクションまたは指示からの正確な情報にもとづいていること • トピックの指示で提供されるガイドラインに従っていること • トピックのスコープによって設定された境界を逸脱していないこと |
|
応答の送信 | グラウンディングされた応答が顧客に送信されます。 |
以下の推論エンジンに関する考慮事項を確認してください。
推論プロセスには、次の4つの主要ステップがあります。
トピックは、AIエージェントが適切なアクションまたはアクションのシーケンスを分類する際の正確性を向上させるように設計されています。各トピックは、意味的に区別可能な複数のアクションで構成されている必要があります。これらのアクションは、すべて1つの簡潔なトピック説明に、そして類似する1つのAIエージェント機能に属することができます。
推論エンジンLLMによって、適切なトピックが選択されます(図のステップ2~3)。LLMは、トピックプロンプトを使用して、分類の説明が最後の発話に最も近いトピックを選択します。このトピックプロンプトには、すべてのトピックの分類の説明と会話履歴が表示されます。会話履歴には、発話とAIエージェントの応答に加えて、実行されたアクションとその結果が含まれます。さらに、このプロンプトには重要な指示が組み込まれており、会話履歴のコンテキスト内での分析を義務付け、LLMに思考プロセスを共有することを求めています。
その他の考慮事項:
トピックの目的は2つあります。
AIエージェントの能力を、関連アクションで構成され、明確に定義されたトピックに慎重に整理することで、AIエージェントは効果的かつ予測どおりに動作し、更新と拡張が容易になります。トピック設計には、トップダウンとボトムアップの2つのアプローチがあります。
どちらのアプローチも、適切に従えば良い結果につながります。
まず、AIエージェントが実行できる必要のある具体的なアクションをすべてリストアップするところから始めます。この段階では、一般的にし過ぎず、非常に具体的にすることが大切です。早い段階でアクションをグループ化したり、単純化したりしないでください。目標はAIエージェントができることの包括的かつ詳細な視野を作成することです。
たとえば、カスタマーサービスエージェントの場合、最初のリストには次のようなものが含まれる場合があります。
この時点では、「顧客の苦情の解決」などのアクションは広範すぎることに注意してください。アクションは、AIエージェントの行動の最小単位の細かさを表す必要があります。苦情にはさまざまな種類があり、それぞれ異なるアクションにすでに対応が含まれています。
性質がよく似ているアクションをマークします。推論エンジンを混乱させる可能性があるからです。説明に意味的に十分な差異がないと、推論エンジンはステップ5でどちらのアクションを選択すべきか判断できなくなります。
たとえば、「技術的な問題をトラブルシューティングする」と「ナレッジで質問に回答する」の説明は似ていますが、機能が大きく異なる場合があります。このような意味的な重なりをマークすることで、複数のトピック間に分離すべきアクションを識別できます。
アクションを明確に定義し、意味的な重複を特定したら、アクションを仮トピックにグループ化できます。トピックは、機能の論理的なカテゴリであり、全体としてAIエージェントの一貫した能力またはスキルを表すアクションのグループです。
これらのグループを作成する際は以下に注意してください。
ここでは、カスタマーサービスエージェントの初期グループ化の例を示します。
トピック1:
トピック2:
最初のグループ化が完了したら、各トピックの分類の説明を記述します。
改善後、トピックは次のようになります。
要約すると、最初に可能なすべてのアクションの包括的なリストを作成し、アクション間の意味的な重複をマークします。次に、(1つのトピックの境界内で推論エンジンが混乱しないように)少なくとも意味的な重複をすべて解決できるトピックのセットを作成します。次に、すべてのトピックの分類の説明を記述します。トピックのスコープが広すぎる場合は、もう少し細かくトピックを分割します。このガイダンスを実施することで、パフォーマンスが優れているのみならず、メンテナンスや拡張も簡単なAIエージェントを構築できます。
この構造により、より優れた推論、より正確な実行、そしてAIエージェントの行動における、より明確な判断の境界が実現します。また、AIエージェントの機能をより透明性が高くモジュール化されたものにするには、デザイナー、エンジニア、各分野の専門家のコラボレーションが不可欠です。
効果的なトピック作成のためのさらなる考慮事項
サービスエージェントが腕時計の保証ポリシーリクエストを受け取ったとします。この保証の問題は、商品の交換やサポートに関連しているようには見えません。注文管理が、このリクエストに対処するための最も適切なトピックのようです。したがって、リクエストを満たす可能性が最も高いトピックとして、後者が推論エンジンによって選択されます。
トピックを選択した後、推論エンジンは、選択したトピックから実行する適切なアクションを選択します。推論エンジンLLMが再び選択を担当し、観測プロンプトと呼ばれる別のプロンプトを使用します。観察プロンプトの目的は、推論プロセスの次のステップを取得することです。この次のステップは、次のいずれかになります。
観察プロンプトへの入力は、トピックに含まれるすべてのアクションのすべての説明と会話履歴から形成されます。
アクションとは、AIエージェントがジョブを遂行するために実行できる事前定義されたタスクです。アクションは、作業の最も細かい定義です。AIエージェントアクションには、(1)Apexコードの実行、(2)APIの呼び出し、(3)フローの実行、(4)プロンプトテンプレートに対するLLM応答の取得、(5)予測的モデルの呼び出しの5種類があります。これらのアクションのほとんどは決定論的です。例外はプロンプトテンプレートに対する応答の取得です(外部システム、フロー、またはApexアクションにプロンプト呼び出しなどの確率的要素が含まれていないと仮定)。これらの問題については、エージェント制御のレベル5で説明します。
前の例を続けましょう。サービスエージェントは、腕時計の保証ポリシーに関する質問を受け取りました。注文管理トピックが選択された後、最も適切なアクションが選択されます。これは注文管理トピックであるため、論理的な最初のステップは、注文検索アクションを起動して、注文を検索することです(そうでなければ、何の保証情報を検索するというのでしょうか?)。
ユーザーの発話は、回答がユーザーに送り返される前に、複数のアクションの実行を動的に実施できます。これはエージェントループによるもので、次のいずれかの条件が満たされるまで、最も適切な次のアクションの選択と実行を繰り返します。
アクションに特定のタイムアウトは適用されません。これは、アクションの実行時間が複雑さによって変動する場合に中断を避けるためです。単純に一部のアクションは他のアクションよりも実行が複雑です。
注文検索を開始した後、推論エンジンはこれまでに生成された応答を評価し、回答をユーザーに送り返す前にさらに作業を行う必要があると判断します。会話履歴に注文が記録されたので、次に保証ポリシーを調べます。
ところが、この処理を行う中で、AIエージェントは「注文検索」アクションで検索した情報により、顧客が実際には腕時計を2本購入していたことが判明します。そのため、エージェントループ内で、推論エンジンは顧客にどちらの腕時計の保証情報が必要なのかを指定するよう質問することを決定します。
AIエージェントの信頼性を高めるには、アクションを各トピックにバランス良く割り振り、アクションとトピックについて適切な説明を記述することが重要です。しかし、これらの手法では、推論エンジン内でビジネスルール、ポリシー、ガードレールを表現することができません。指示は、重要なエージェント制御のレイヤーを追加します。指示は、推論エンジンがさまざまなアクションをまとめて使用するときの詳細なガイダンスを提供します。 これにより、AIエージェントの動作をより細やかに、ポリシーにもとづいて制御できるようになります。指示により、エージェントビルダーは、AIエージェントが確実に機能するだけでなく、確立されたビジネスルールやベストプラクティスを遵守できるようにします。
トピックレベルで記述された指示は、観察プロンプトの一部になります。トピック指示は、推論エンジンが適切なアクションを選択するようガイドします。トピック指示は、いつどのアクションを選択すべきかについてのガイダンスを提供し、アクション間の依存関係を定義することができます。特定の条件下では、シーケンシャル制御を適用することもできます。ただし、シーケンシャル制御には代替手段が存在するため、その要件に合わせて慎重に指示を使用する必要があります。トピック指示は1つずつ追加され、UIの個別のボックスに表示されます。ただし、これらは常に観測プロンプトにまとめて送信されます。指示を個別のボックスに分けて追加すると、トピックの読みやすさとメンテナンス性が向上しますが、推論エンジンには影響しません。
指示が個別のトピックには関連せず、AIエージェントにグローバルに適用されることがあります。グローバル指示を維持する機能は、現在製品ロードマップに記載され、今後提供される予定です。トピック指示の記述のベストプラクティスについては、『Agentforce Guide to Topics, Instructions, and Actions』(トピック、指示、アクションについてのAgentforceガイド)を参照してください。その他のガイドラインについても確認していきましょう。
AIエージェントがユーザーと会話する方法をあまり台本化しすぎないようにします。過剰な台本化は、AIエージェントが信頼関係を築き、ユーザー固有のニーズを理解し、動的な状況にリアルタイムで効果的に応答する能力を妨げます。さらに、長々とした指示により、AIエージェントの応答が遅くなり、推論エンジンが混乱する可能性があります。指示による決定論の強制は、好ましいアプローチではありません。
たとえば、AIエージェントに対して、サービス対応で競合他社に言及しないように指示する必要はありません。これは意図しない行動につながる恐れがあります。競合でもあるプロバイダーとの連携について聞かれた際にもAIエージェントが回答を拒否する可能性があるからです。代わりに、「競合他社について話すときは、自社の利益を考慮して回答する」といった指示にすることができます。これにより、「競合他社xyzについては…の場合のみ言及する」といった限定的な条件付き指示を回避し、LLMの推論能力を活用できます。この例は、どうすれば人間のサービススタッフが入社後に研修を受けるのと同様に、抽象レベルの高い指示を与えられるかを示しています。
すべきでないことの例をさらにいくつか見てみましょう。以下は、求人Webサイトで求職者のプロフィールを担当するサービスエージェントに与えられた不適切な指示の例です。このような指示は、求職者に可能なあらゆる発話の予測を試みているため、避けるべきです。
指示1:
AIエージェントが「プロフィールに写真を追加できますか?」という質問を受けたら、すぐ求職者に「プロフィールのタイプは何ですか?」と聞き返します。
指示2:
求職者がプレミアムプロフィールであると回答した場合は、「契約情報を確認させてください」と回答し、契約情報を検索して、プロフィール写真の更新について合意があるかどうかを確認します。
求職者が写真を更新できることについて合意があった場合は、「はい、追加できます。新しい写真をアップロードしていただけますか?」と回答します。写真を受け取ったら、それを使用して求職者のプロフィールを更新します。契約内容にプロフィール画像の変更が含まれていない場合は、「申し訳ありませんが、追加することはできません。担当者におつなぎします」と回答します。
指示3:
プレミアムプロフィール以外の場合:求職者がプレミアムプロフィール以外であると回答した場合は、「写真を更新することはできません。ご希望でしたら、担当者におつなぎします」と回答します。
指示4:
プロフィールタイプがはっきりしない場合は、「プロフィールタイプを理解できませんでした」と回答します。
このようなマイクロマネジメントを行うのではなく、AIエージェントの行動や振る舞いを指示する柔軟なアプローチを採用します。以下のベストプラクティスを検討してください。
「プロフィールの写真を更新できるのは、契約で写真の変更が許可されているプレミアムプロフィールの求職者のみです」
と記載することを意味します。これらのベストプラクティスにもとづいて指示セットを改善すると、次のようになります。
指示1
:「アカウントの変更についてのリクエストを受けた場合は、ナレッジアクションを使用してポリシーの確認します」
指示2
:「該当するポリシーが見つからなかった場合は、質問に回答しないでください」
これらのガイドラインを適用することで、AIエージェントの結果を改善できます。これで求職者がAIエージェントにプロフィールの変更をリクエストしたときに、AIエージェントは、必要なポリシーを知識ベースから検索し、取得したルールを解釈し、そのルールを状況に適用し、最後に求職者に回答する必要があることを理解できるようになります。台本化のしすぎとは対照的に、この行動的なアプローチは汎用性が高く、幅広い場面に応用が効きます。起こりうる会話パターンをすべて書き出さなくても、AIエージェントは幅広い会話トピックに対して期待される行動で柔軟に応じることができるようになります。
求人Webサイトエージェントの例の続きを見ていきましょう。AIエージェントは適切な面接官との面接日程を処理できるようにする必要があります。このとき、まず採用担当者の空き時間を確認してから、求職者に3つの時間枠を提案しなければなりません。
この場合、実行順序を維持するため、指示を別々のボックスに分けないでください。
面接官の空き時間を確認します。
次に求職者に適切な時間枠を提案します。
これらの指示は機能しません。推論エンジンは、指示2の「次に」という表現が何を指しているか分からないからです。これは、指示は特定の順序ではなくグループとして推論エンジンに送られるためです。
そうではなく、シーケンスを定義する指示は一つの文にまとめて、次のように記述してください。
面接官の空き時間を確認します。次に求職者に適切な時間枠を提案します。
ただし、プロンプトアクションが1つしか実行されていないことが想定される場合、AIエージェントがアクションの出力を一切変更しないような指示を実装することができます。これにより、AIエージェントの行動を予測可能で信頼性の高いものにすることができます。
承認済みのプロンプトテンプレートでこの厳格な遵守を徹底することは、特定のシナリオ、特に一貫性、コンプライアンス、事前定義されたメッセージングが重要な場合に決定的に重要になります。以下に2つの例を示します。
この指示は、AIエージェントがアクションの出力を変更する自由を制限します。このPlan Tracerに示されているように、指示がプロンプトテンプレートの出力(「promptResponse」など)を参照していることを確認してください。
そのため、この場合の指示は次のようになります。
「
AIエージェントのチャネルに関係なく、promptResponseの出力を変更しないでください
」
厳格な遵守適用の限界:
1つのインタラクションで複数の異なるエージェントアクションが必要な場合、単一のテンプレートを厳格に遵守させることは現実的ではありません。実際、このような状況では、推論エンジンがこれらのアクションを1つの回答にまとめるため、すべてのアクション出力を変更する必要があります。
一般的なLLMの特性にもとづくと、目標とする指示の数は、指示の複雑さと指示のインタラクションに応じて5〜10個の範囲になります。推論エンジンが従える指示の数に影響する指示特性は次のとおりです。
指示に従うことが非常に重要な場合は、その重要性を反映する用語を追加します。
回答をデータにグラウンディングすることで、AIエージェントの信頼性と信用度が大幅に向上します。グラウンディングされた回答は、憶測や古い知識ではなく、事実にもとづいています。検索拡張生成(RAG)は広く採用されている手法で、より正確で適切なコンテキストの回答を作成するため、AIエージェントが知識ベースにアクセスして使用できるようにします。ユーザーの質問にもとづいて、AIエージェントはRAGを使用して適切なデータソースから関連情報を検索し、この情報でプロンプトを補強してから、LLMに送ります。RAGを使用するAIエージェントは、インタラクションの品質、正確性、全体的な実用性が高く、ユーザーの信頼と満足度が向上します。RAGのベストプラクティスについては、「Agentforceand RAG: best practices for better agents 」(AgentforceとRAG:AIエージェント改善のベストプラクティス)という一般公開されているホワイトペーパーで詳しく説明しています。
ガイダンスと柔軟性の適切なバランスを取るには、ナレッジと指示を区別することが重要です。両者の目的は異なるからです。
検索拡張生成(RAG)は、ナレッジのインテリジェントなデータレイヤーとして機能します。AIエージェントはさまざまな形式の情報にアクセスでき、質問に答えるための関連するテキストフラグメントを提供します。RAGを使用すると、AIエージェントは、無関係なコンテンツでLLMプロンプトを圧迫したり、コンテキストウィンドウを超えたりすることなく、より正確なLLM応答を得ることができます。
RAGは実行時に次の3つのステップを実行します。
Agentforceでは、プロンプトテンプレートの有無にかかわらずRAGを使用できます。
推奨される方法はオプション1です。推論エンジンが実行するタスクの数が減り、回答の質が向上します。次のセクションでは、このルールの例外について説明します。この例外では、コンテンツが会話全体を通じて保持され、アクションに明示的に渡されます。
RAG出力の変数保存:インタラクション数の上限に達した場合は、RAG出力を変数に保存します。これにより、標準のしきい値を超えても、AIエージェントのインタラクションのガイドに必要な情報にアクセスできる状態を維持できます。具体例は次のセクションで紹介します。
特定のビジネスプロセスでは、特定のアクションシーケンスの適用や、アクションまたはトピックを動的に実施する条件など、実行が予測可能であることが求められます。
変数を利用することで、この決定論的な行動を達成できます。変数は、AIエージェントの構造化された短期記憶として機能し、アクションの入力または出力として使用されます。さらに、変数の状態は、特定のトピックやアクションの動的な実施を制御できます。
これらの変数タイプは以下の機能をサポートしています。
コンテキスト変数 | カスタム変数 | |
---|---|---|
ユーザーによるインスタンス化が可能 | X | ✓ |
アクションの入力として使用可能 | ✓ | ✓ |
アクションの出力として使用可能 | X | ✓ |
アクションによる更新が可能 |
X | ✓ |
アクションとトピックのフィルターで使用可能 | ✓ | ✓ |
ユースケースの例である顧客対応のトラブルシューティングエージェントを使用して、変数をさらに掘り下げていきましょう。この例では、変数は、永続的な動的グラウンディング、アクションの入力/出力、フィルタリングの3つの目的すべてに使用されます。
この例では、AIエージェントは、顧客がデバイスの技術的な問題をトラブルシューティングする手助けをします。通常、トラブルシューティングにはいくつかのステップが必要です。AIエージェントは、人間のサービス担当者の仕事を模倣したサービスエクスペリエンスを提供する必要があります。そのために、AIエージェントは顧客にすべてのトラブルシューティング手順を一気に提示してはいけません。代わりに、顧客の反応にもとづいてステップ間を移動できる機能(前の手順に戻るなど)とともに、段階的な手順を提供すべきです。
この場合の課題の1つは、会話全体を通してすべてのトラブルシューティング手順を覚えておくAIエージェントの能力です。AIエージェントが保存できるインタラクションの数に制限があるため、AIエージェントのメモリは限られており、会話が長引くとこれらの手順が推論エンジンのコンテキストから失われる可能性があります。
この課題に対処する方法は、トラブルシューティング手順全体で、変数を使用して推論エンジンを動的にグラウンディングすることです。情報を検索して変数に保存することで、会話全体を通じて情報が利用可能な状態を維持し、更新することができます。推論エンジンは、この変数に保存された情報を使用して、動的にグラウンディングします。
この例では、トピックに2つのアクションが含まれています。これら2つのアクションは、一貫したデータフローを維持するために必要です。1つ目のアクションは、変数にすべてのトラブルシューティング手順を格納するために使用されます。2つ目のアクションは、実際のトラブルシューティングでその変数を使用します。
元の顧客からの質問は両方のアクションに入力されます。2番目のアクションにはもう一つの入力があります。変数「Resolution Steps」の内容です。この変数は1つ目のアクションで設定されました。2つ目のアクションはトラブルシューティング手順を自分で検索するのではなく、変数を通じて1つ目のアクションから入力として受け取ることに注意してください。次の図は、これら2つのアクション間のデータフローを示しています。
[Use in the Middle of Solving an Issue]アクションは、常に[Issue Resolution Steps]アクションによって検索された元のトラブルシューティング手順を参照します。このデータフローにより、トラブルシューティング手順が一貫して維持され、会話の長さに関わらず常に利用可能な状態が保たれます。
この例で定義されたアクションを実行するには、「常に『解決手順の設定』を最初に実行する」といった具体的な指示が必要です。しかし、AIエージェントが使用するLLMの非決定論的な性質により、場合によっては異なる順序で実行される可能性があります。そこで、アクションが決定論的な順序で実行されるように、これらの変数に条件付きフィルターを導入し、適切なアクションシーケンスを適用します。AIエージェントは、変数「Resolution Steps」の値を読み取り、この変数に値があるかどうかにもとづいて2つのフィルターを定義します。
これらの条件付きフィルターは、アクションの実行シーケンスを決定論的に強制するようになりました。[Use in the Middle of Solving an Issue]は、[Issue Resolution Steps]が完了するまで待たなければならず、[Resolution Steps]変数に常に値があることが保証されます。
アクションを正しく実行するには、問題が完全に解決されたときに、[Resolution Steps]変数をリセットする3つ目のアクションが必要です。その結果、AIエージェントは、新たに発生する別の問題を支援するために必要な状態にリセットされます。この3つ目のアクションは、[Empty the Resolution Variable]と呼ばれます。アクションの全体図を以下に示します。
トラブルシューティングエージェントが顧客の問題を解決するときに変数が不可欠なのは、次のような機能があるためです。
生成AIの時代においても、予測AIは生成能力を導き、強化し、コンテキスト化する基盤的なインテリジェンスを形成するという点で、その重要性は失われていません。生成AIがテキスト、画像、動画などの新しいコンテンツの作成に注力する一方、予測的モデルはリアルタイムのビジネスデータにもとづいて未来を予測します。ビジネス成果の例としては、顧客の解約可能性、コンバージョン率、ケースエスカレーションの確率、顧客生涯価値、ケース分類などがあります。予測は、トレンドと数値を分析することで、ユーザーのニーズの先読み、出力のパーソナライズ、意思決定の実行、コンテンツの関連性のリアルタイム最適化に役立ちます。たとえば、パーソナライズ学習、医療、財務計画などの用途では、予測AIが生成出力を個々のコンテキストや将来起き得るシナリオに合わせて出力します。予測AIと生成AIの連携により、強力な相乗効果が生まれます。先見性と創造性の融合は、よりインテリジェントで適応力があり、インパクトのあるテクノロジーソリューションを推進します。
予測モデルの出力をAIエージェントのワークフローに組み込むには、予測的モデルアクションをAgentforceアセットに追加するだけです。モデルビルダーは、予測的モデルを構築または登録(BYO)する手段を提供し、これらのモデルはAIエージェントが予測を行うために使用されます。結果の予測(および予測因子)は、カスタム変数に保存できます。AIエージェントは、これらの変数値を入力として使用し、特定のアクションやトピックの実行を条件化することができます。
特定のビジネスプロセスは正確な順序で実行する必要があり、実行中にユーザー入力を必要としません。この場合、フロー、API、Apexを介して、事前に決められたステップのフローを適用できます。本番環境で実績のある既存のフローがある場合は、そのビジネスプロセスを実行するときに、そのフローを維持して、AIエージェントに使用させることができることを示しています。以下の例はすべて、AIエージェントがユーザー入力なしで実行できる事前に決められたステップのシーケンスが含まれています。この場合のAIエージェントの行動は、実行すべき決定論的プロセスの特定、必要な入力の収集方法、出力の解釈と処理方法で構成されます。
多くの連続したステップ(目安として4つ以上)と多くの変数への依存が含まれるビジネスプロセスは、複雑になりすぎて指示による制御が大変になります。この場合、単純にこのセクションに記載されている決定論的アクションタイプを使用して、ハードコードすることができます。最後に、これらの実装には、解決されたプロンプトテンプレートを使用してLLMを呼び出すなど、非決定論的要素を含めることができることに注意してください。したがって、これらは必ずしも完全に決定論的であるとは限らず、AIエージェントらしい望ましいレベルの流動性を依然として実証することができます。
マーケティングジャーニーのステップのシーケンスは固定ルールによって条件付けられており、ユーザーの会話入力には依存しません。したがって、このフローはAgentforceアクションとして使用できます。呼び出し可能なアクションを作成して、フローやApexクラスを呼び出せるソリューションコンポーネントから、バックグラウンドタスクやイベントトリガータスクを実行することができます。フローまたはApexクラスに呼び出し可能なアクションを追加し、AIエージェントが実行するタスクと、AIエージェントを動的に実施する条件を指定します。呼び出し可能アクションは、AIエージェントのコンテキスト変数を保持し、重要な情報を渡すこともできます。
Salesforceフローは、フォローアップタスクの作成、リマインダーメールの送信、レコードの更新などの日常的なタスクを自動化するために使用できます。フローは業務の効率と生産性を向上させます。AIエージェントもフローアクションを使用してフローを実行できます。フローは、その決定論的な性質のため、ビジネスプロセスを特定のシーケンスで実行する必要がある場合に、AIエージェントの行動を指示する優れた方法です。フローアクションが望ましいことを示す良い指標は、フローアクションを使わなければ、トピックに「最初にこれを実行し、次にこれを実行し、最後にこれを実行する」といった指示が含まれるような場合です。4つ以上のステップのシーケンスを適用すると、指示や変数でステップを管理することが大変になります。
プロンプトを呼び出すことで、フローに非決定論的要素を含めることもできます。フロー内のプロンプトノードは、プロンプトテンプレートを呼び出し、フロー内の他の要素に渡すことができる応答を収集します。これらの追加の要素は、再びプロンプトノードになることもできます。たとえば、前の応答を要約することで、プロンプトのチェーンを作成します。これは、プロンプトチェイニングのルールが固定要素によって定義され、ユーザー入力に依存しない場合に特に便利です。一例として、エージェント型RAGがあります。この場合、フロー内に事前定義されたリトリーバーまたはプロンプトのシーケンスが、特定の順序で特定のデータソースにアクセスできます。たとえば、最初にユーザーの国のドキュメントからデータを検索してから、必要に応じて他のソースを参照するなどです。このチェイニングメカニズムにより、信頼できる関連情報を決められた順番で抽出できます。
フローと同様に、ApexアクションとAPIアクションは、事前定義されたアクションのシーケンスをコード化できる点で決定論的です。これらのアクションには、プロンプトテンプレートやLLMの呼び出しなど、非決定論的要素を含めることができます。ただし、その定義において、これらのステップは定論的に実行されます。適切なタイミングでアクションを呼び出し、必要な入力を収集し、出力を処理することで、AIエージェント的な変動性が軽減されます。これらの責任は依然としてAIエージェントの指示によって管理する必要があるため、非決定論的です。ApexアクションとAPIアクションは、フローアクションと同等のプロコードです。
AIエージェントの信頼できる行動を実現するには、大規模言語モデル(LLM)に固有の柔軟性と、エンタープライズレベルの制御と予測可能性の必要性のバランスを取る構造化アプローチが必要です。この記事では、インテリジェントで自律的なだけでなく、一貫して正確でビジネスプロセスに沿ったAIエージェントの作成を可能にする「ガイド付き決定論」を実装するための段階的戦略を概説しました。このような信頼できるAIエージェントを構築する鍵は、制御メカニズムの段階的な実装にあり、段階を進めるごとに、信頼性の新たなレイヤーが追加されます。
思慮深い設計や明確な指示から、データのグラウンディング、状態管理、決定論的なプロセス自動化まで、これらの制御レイヤーを体系的に適用することで、一貫したビジネス成果をもたらす、信頼できるAIエージェントを構築するという課題をうまく乗り越えることができます。この戦略的アプローチにより、エンタープライズ環境で求められる正確性と一貫性をもって、AgentforceのAIエージェントが重要なビジネス機能を実行できると信頼できるようになります。
AIにおける決定論の5つのレベルとは、指示のないトピックとアクションの選択、AIエージェントの指示、データグラウンディング、エージェント変数、フロー、Apex、APIを使用した決定論的アクションです。
AIの決定論を理解することは、創造的な流動性とエンタープライズ管理のバランスを取りながら、重要なビジネス機能を正確かつ一貫して実行できる信頼性の高いAIエージェントを構築するために不可欠です。
AIにおいて「決定論的」とは、同じ入力と条件が与えられた場合に同じ出力を生成できるシステムの能力を指し、信頼できるAIエージェント行動に不可欠な厳密性と規律を課すものです。
AIシステムにおける非決定論は、主に大規模言語モデル(LLM)の使用に起因して発生します。LLMは本質的に非決定論的であり、これによりAIエージェントが柔軟性と適応力を持つことができます。
決定論のレベルは段階的にAIエージェントの決定論性を強め、それによってAIエージェントの自律性に影響を与えます。レベルが進むにつれて、AIエージェントの自律性は低下しますが、信頼性が向上し、ビジネスプロセスとの整合性が向上します。
あまり決定論的でないAIシステムは、本質的に予測不能な行動を引き起こす可能性があるため、信頼性とビジネス要件へのコンプライアンスの点で課題を抱えています。
企業は、思慮深い設計、明確な指示、データグラウンディング、変数による状態管理、フロー、Apex、APIを使用した決定論的プロセスの自動化など、段階的アプローチを適用することで、さまざまな決定論レベルのAIシステムを管理しています。