Skip to content

エージェントステップ

エージェントステップを使用すると、AIを活用した意思決定やコンテンツ生成をキャンバスワークフローに直接組み込むことができます。一般的な情報については、Brazeエージェントを参照してください。

キャンバスのユーザージャーニーにおけるエージェントステップ。

前提条件

エージェントステップは、キャンバスコンテキスト変数を使用して関連するコンテキストを取り込み、キャンバスで活用できる変数を出力します。

仕組み

ユーザーがキャンバスのエージェントステップに到達すると、Brazeは設定した入力データ(フルコンテキストまたは選択したフィールド)を選択したエージェントに送信します。エージェントはモデルと指示を使用して入力を処理し、出力を返します。その出力は、ステップで定義した出力変数に格納されます。

この変数は、主に3つの方法で使用できます。

  • 意思決定: エージェントのレスポンスに基づいて、ユーザーを異なるキャンバスパスにルーティングします。例えば、リードスコアリングエージェントが「Sales Ready」、「Marketing Qualified」、「Disqualified」といったリードカテゴリを返す場合があります。この割り当てを使用して、「Sales Ready」のリードに対してSlackアラートや自動メッセージをトリガーし、「Disqualified」のリードをジャーニーから除外することができます。
  • パーソナライゼーション: エージェントのレスポンスをメッセージに直接挿入します。例えば、エージェントが顧客のフィードバックを分析し、顧客のコメントに言及して解決策を提案する共感的なフォローアップメールを生成することができます。
  • ユーザーデータの処理: ユーザーデータを分析・標準化し、ユーザープロファイルに保存するか、Webhookを使用して送信します。例えば、エージェントがセンチメントスコアや製品アフィニティの割り当てを返すことができます。そのデータをユーザープロファイルに保存して、将来の利用に活用できます。

エージェントステップの作成

ステップ1: ステップを追加する

サイドバーからエージェントコンポーネントをドラッグ&ドロップするか、ステップの下部にあるプラスボタンを選択してエージェントを選択します。

ステップ2: エージェントを選択する

このステップでデータを処理するエージェントを選択します。設定のガイダンスについては、カスタムエージェントの作成を参照してください。

エージェントリストでは、各エージェントに1日の呼び出し上限がラベル表示されています。上限にカーソルを合わせると、使用率や本日の呼び出し回数と上限の比較など、その日の進捗状況が表示されます。

エージェントの設定パネル。エージェントドロップダウンに2つのエージェントが表示されており、各エージェントに1日の呼び出し上限がラベル表示されています。最初のエージェントのツールチップには、使用率と本日の呼び出し回数が表示されています。

ステップ3: エージェントの出力を設定する

エージェントの出力は「出力変数」と呼ばれ、簡単にアクセスできるようにコンテキスト変数に保存されます。出力変数を定義するには、変数に名前を付けます。

出力変数のデータ型はエージェントコンソールで設定されます。エージェントの出力は、文字列、数値、ブール値、またはオブジェクトとして保存できます。これにより、キャンバスでのテキストパーソナライゼーションと条件ロジックの両方に柔軟に対応できます。各データ型の一般的なユースケースは以下のとおりです。

データ型 一般的なユースケース
文字列 メッセージのパーソナライゼーション(件名、本文、レスポンス)
数値 スコアリング、しきい値、オーディエンスパスでのルーティング
ブール値 条件分岐でのYes/No分岐
オブジェクト 単一のLLM呼び出しで、このセクションで前述した1つ以上のデータ型を予測可能なデータ構造で活用

出力変数は、コンテキスト変数と同じテンプレート構文を使用してキャンバス全体で使用できます。コンテキスト変数セグメントフィルターを使用するか、Liquidを使用してエージェントのレスポンスを直接テンプレート化します: {{context.${response_variable_name}}}

オブジェクト出力変数から特定のプロパティを使用するには、ドット表記を使用してLiquidでそのプロパティにアクセスします: {{context.${response_variable_name}.field_name}}

Body HTML Writerのエージェントステップ。変数「agent_output」のオブジェクトデータ型出力が表示されています。

ステップ4: オプションのステップ指示を追加する

このステップに固有で、エージェントのメイン指示ではまだカバーされていない情報がある場合、オプションのステップ指示を含めることができます。キャンバスで通常使用するLiquidテンプレート値を入力できます。

ステップ5: エージェントをテストする

エージェントステップは2つの方法でテストできます。

ステップ内プレビュー(キャンバスビルダー): ステップを設定した後、ステップのプレビューを使用して、ランダムなユーザー、既存のユーザー、またはカスタムユーザーに対するエージェントの出力を確認できます。これはキャンバス全体のパスを実行せずに、ステップを単独でテストします。

テストキャンバス(フルジャーニー): キャンバスのフッターにあるテストキャンバスを選択すると、ユーザーパスをエンドツーエンドでプレビューできます。テストがエージェントステップに到達すると、Brazeはエージェント「{agentName}」を実行しますか?と確認します。

  • はいを選択すると、オプションでコンテキストを追加し、レスポンスをシミュレートを選択してプレビューユーザーに対するエージェントを呼び出すことができます。テストユーザーのプロファイルや上流で設定済みのキャンバスコンテキストを補足するために、サンプル入力を自然言語で記述できます(例: カートの内容やメッセージテキスト)。
  • いいえを選択すると、ライブ呼び出しをスキップし、代わりにエージェントコンソールで設定されたフォールバック出力を使用します。

レスポンスをシミュレートからの呼び出しは、エージェントの1日の呼び出し上限にカウントされ、エージェントコンソール > ログに表示されます。テストキャンバスの完全な動作については、ユーザーパスのプレビューを参照してください。

ランダムなユーザーとしてエージェントの出力をプレビューする画面。

エラー処理

Brazeがエージェントの失敗、レート制限エラー、呼び出しフロー制御をどのように処理するかについては、エージェントのデプロイのエラー処理とフォールバック動作およびBrazeエージェントのエラー処理を参照してください。

  • 接続されたモデルがLLMプロバイダーからレート制限エラーを返した場合、Brazeはエクスポネンシャルバックオフを使用して、呼び出しが成功するか完了できないと判断されるまで継続的にリクエストを再試行します。その後、ユーザーは次のキャンバスステップに進みます。
  • その他の失敗(タイムアウトエラーや無効なAPIキーなど)、またはエージェントが1日の呼び出し上限に達した場合、エージェントコンソールでフォールバック値が設定されていない限り、出力変数はnullに設定されます。フォールバック値が設定されている場合、BrazeはユーザーごとにフォールバックをLiquidでレンダリングし、結果を出力変数に保存します。これは1日の上限により呼び出しがブロックされた場合も同様です。
  • フォールバック値を設定しない場合は、下流のメッセージステップでデフォルトのLiquid値を使用してnull出力を処理してください。たとえば、パーソナライゼーションを追加モーダルで、{{context.${response_variable_name}.push_title | default: 'Hello friend!'}}{{context.${response_variable_name}.push_body | default: 'Open our app to get your prize!'}}のようなデフォルトのLiquid値を入力できます。
  • 同一の入力に対する応答はキャッシュされ、数分以内の同一の呼び出しに再利用される場合があります。
    • キャッシュされた値を使用する応答も、合計および1日の呼び出し回数にカウントされます。
  • エージェントステップは、大量のユーザーバッチの処理に時間がかかる場合があります。Brazeは呼び出しフロー制御に従って呼び出しをキューに入れるため、大量送信時にユーザーが保留中になる場合があります。ログを確認して呼び出しが行われていることを確認してください。

分析

エージェントステップのパフォーマンスを追跡するには、以下の指標を参照してください。

指標 説明
エントリー済み ユーザーがエージェントステップに入った回数です。
次のステップに進んだ エージェントステップを通過した後、フロー内の次のステップに進んだユーザーの数です。
キャンバスを退出した エージェントステップを通過した後、キャンバスを退出したユーザーの数です。

ベストプラクティス

複雑なユースケースではエージェント間でタスクを分割する

エージェントに依頼しているタスクの複雑さに苦戦している場合は、作業を複数のエージェントステップに分割してください。1つのプロンプトにデータのクリーンアップ、ルーティングロジック、メッセージの完全な作成を混在させると、それぞれの目的が競合し、出力品質が不安定になることがあります。

以下のパターンは、旅行の例で3つのエージェントを使用しています。最近アプリで検索したが予約しなかったユーザーに対して、チェックアウトへと誘導するリターゲティングコピーを作成したいケースです。

  • エージェント1はキャンバスのコンテキストを要約します。ロイヤルティティア、最後に検索した都市、高インテントの検索行動などのフィールドを読み取り、後続のステップで再利用できる出力変数として短い構造化サマリーを返します。
  • エージェント2はキャンバスが分岐に使用できるルーティング値を返します。出力が分岐方法と一致するように、数値、ブール値、または構造化オブジェクトを使用してください。その値をオーディエンスパスまたは条件分岐ステップにマッピングします。たとえば、ロイヤルティ重視のメッセージングとお得情報重視のメッセージングで別々のパスを検討してください。
  • エージェント3は、必要なブランチでのみ生成メッセージテキストを下書きします。エージェント1のサマリー(およびブランチ固有のコンテキスト)を渡すことで、このエージェントは同じプロンプトで入力の正規化や戦略の選択をする代わりに、トーンとチャネルの制限に集中できます。

実験パスステップを使用してエージェントジャーニーを小規模でテストする

エージェントのパフォーマンスとクレジット消費量を既存のジャーニーと比較してテストするには、実験パスステップを追加して、オーディエンスの一部のみがエージェントステップを含むブランチに入るようにします。

たとえば、1日あたり数千人のユーザーをエージェントのあるパスに送り、残りのユーザーをコントロールパスまたはエージェントのないパスに送ることから始められます。1〜2週間データを収集し、パス間でKPIs、カウンターメトリクス、エージェントのクレジット消費量を比較します。これにより、エージェント有効ブランチへのトラフィックを増やす前に自信を持ってROIを実証でき、同時に呼び出し消費量を抑えることができます。

よくある質問

エージェントステップはどのような場合に使用すべきですか?

一般的に、特定の文脈に応じたデータをLLMに入力し、人間では不可能な規模でキャンバスコンテキスト変数をインテリジェントにエージェント的に割り当てたい場合に、エージェントステップの使用をお勧めします。

以前にチョコレートとストロベリーを注文したユーザーに、新しいアイスクリームのフレーバーを推薦するパーソナライズされたメッセージを送信するケースを考えてみましょう。エージェントステップとAIアイテムレコメンデーションの違いは以下のとおりです。

  • エージェントステップ: LLMを使用して、エージェントに与えられた指示とコンテキストデータポイントに基づき、ユーザーが何を求めているかについて定性的な判断を行います。この例では、エージェントステップはユーザーが新しいフレーバーを試してみたいという可能性に基づいて、新しいフレーバーを推薦する場合があります。
  • AIアイテムレコメンデーション: 機械学習モデルを使用して、購入などの過去のユーザーイベントに基づき、ユーザーが最も欲しがりそうな商品を予測します。この例では、AIアイテムレコメンデーションは、ユーザーの過去2回の注文(チョコレートとストロベリー)と、ワークスペース内の他のユーザーの行動との比較に基づいて、フレーバー(バニラ)を提案します。

エージェントステップは入力データをどのように使用しますか?

エージェントステップは、エージェントが使用するように設定されたコンテキストデータと、ステップに追加したオプションのステップ指示を分析します。

New Stuff!