コンテンツにスキップ

会話型エージェント

会話型エージェントは、ユーザーがAIエージェントと対話して、定義したタスクを完了できるチャネルです。ブランドのためにエージェントが何をすべきかを記述する会話ワークフローを作成します。例えば、ワークフローでユーザーの好みに基づいてアイテムの購入を手助けできます。

仕組み

会話型ワークフローとは、エージェントに完了させたいタスクのことです。各ワークフローには、目的、チャネル設定、ターゲットオーディエンス、自然言語で記述したステップが含まれます。ステップにツールを追加すると、エージェントがカタログの検索、属性の設定、イベントの記録、Webhook の呼び出しを行えるようになります。

ワークフローを作成したら、設定でブランドガイドラインとチャネルの動作を確認してください。会話をプレビューする、シミュレーションを作成する、会話履歴を確認するを使用して、エクスペリエンスをテストし、ツール呼び出しを確認できます。

Web チャットウィジェットを設定する

サイトに Conversational Agents のチャットウィジェットを表示するには、Braze Web SDKで次の手順を完了します。

ステップ1:SDK認証を設定する

Web アプリのSDK認証を有効にします。

ステップ2:Web SDKをインストールする

次のいずれかをインストールします。

オプション 詳細
npm 最新の @braze/web-sdk パッケージをインストールします。
CDN 会話型ビルドを読み込みます: https://js.appboycdn.com/web-sdk/latest/braze.conversational.min.js

ステップ3:ユーザー提供のJavaScriptを有効にして初期化する

initialize の呼び出しで、allowUserSuppliedJavascript: true を設定します。

braze.initialize("{YOUR_API_KEY}", {
  baseUrl: "{YOUR_SDK_ENDPOINT}",
  allowUserSuppliedJavascript: true
});

{YOUR_API_KEY} を Web SDK APIキーに、{YOUR_SDK_ENDPOINT} をSDKエンドポイントに置き換えます。

ステップ4:チャットウィジェットを有効にする

セッションを開く前に、braze.automaticallyManageChat() を呼び出します。

braze.automaticallyManageChat();
braze.openSession();

会話型ワークフローを作成する

会話型ワークフローを使用して、タスクを定義し、チャネルとオーディエンスを選択し、各ステップでエージェントが行うことを指示します。

ステップ1: ワークフローの詳細を設定する

エージェントコンソール > 会話型エージェントに移動し、ワークフローの詳細を設定します。

  1. ワークフローの名前を入力します。
  2. このワークフローの役割を説明する目的を入力します。これにより、エージェントがこのワークフローを使用するタイミングを判断できます。
  3. このワークフローを有効にするチャネルを選択します。サポートされているチャネルは、SMS、RCS、WhatsApp、Web です。
    • Web の場合は、このワークフローを有効にする Web アプリを選択します。
    • SMS、RCS、WhatsApp の場合は、このワークフローを有効にする購読グループを選択します。
  4. このワークフローにアクセスするためにユーザーが所属している必要があるセグメントを選択します。

SMS、RCS、WhatsApp では、一部の受信メッセージトリガーによってエージェントがブロックされる場合があります。設定ページで、購読グループごとにエージェントをブロックする可能性のあるトリガーを確認してください。

ステップ2: ワークフローのステップを作成する

ワークフローを完了するためにエージェントが実行するステップを追加します。1つのワークフローには最大10個のステップを設定できます。各ステップには指示が必要で、指示は最大5,000文字まで入力できます。

目標が1つのステップでは、指示を1~3文の短い文章で記述します。ルールは明確にし、最後に明示的な質問や確認を入れてください。これにより、エージェントはユーザーへの次の応答をどのように表現すればよいかを判断できます。

ステップ3: ステップにツールを追加する

ステップには、エージェントが作業中に使用するツールを含めることができます。ステップの指示で / を入力するとツールが挿入され、指示内にタグとして表示されます。1つのステップで参照できるツールは最大10個です。

ワークフローステップの指示テキストボックスで、ツールを挿入するためのスラッシュメニューが開いている様子。

ツール

ステップには次のツールを追加できます。

ツール 説明
ナレッジソースを検索 ナレッジソースを通じてカタログをクエリします。
ワークフロー属性を設定 このワークフローをスコープとする値を保存します。
ワークフロー属性を取得 前のステップで設定したワークフロー属性を取得します。
カスタムイベントを記録 Braze のカスタムイベントを記録します。
カスタム属性を設定 ユーザーにカスタム属性を設定します。
カスタム属性を取得 ユーザーからカスタム属性を取得します。
ユーザー属性を取得 標準のユーザープロファイルフィールドを取得します。
Webhook を呼び出す 外部エンドポイントに HTTP リクエストを送信します。
Webhook レスポンスを取得 以前の Webhook レスポンスから抽出したフィールドを取得します。

ナレッジソースを検索

このツールを使用すると、エージェントが Braze カタログをクエリして理解できるようになります。次のようなカタログのナレッジソースを作成します。

  • 製品カタログ
  • FAQ
  • サイズ表

まず、ナレッジソースページでナレッジソースを作成します。次に、指示のテキストボックスに / を入力し、ナレッジソースを検索を選択します。既存の会話型ナレッジソースツールを選択するか、新しい検索ツールを作成を選択します。

新しいツールを作成する場合は、名前と説明を入力し、ナレッジソースを選択します。ナレッジソースを選択したら、エージェントがアクセスできるフィールドを選びます。

ワークフロー属性を設定する

このツールを使用すると、同じワークフロー内で後からエージェントが再利用できる属性を設定できます。ワークフロー属性は、設定されたワークフローにスコープされます。カスタムイベントプロパティ、カスタム属性の値、Webhook パラメーターとして使用できます。

属性を作成する際に、必要に応じて許可された値を追加できます。

  • 許可された値を空のままにすると、エージェントは会話に基づいてその型の任意の値を設定できます。
  • 許可された値を追加すると、エージェントは定義したサブセットに制限されます。後続のツール (Webhook を呼び出す、カスタムイベントを記録、カスタム属性を設定など) で、エージェントの自由な選択ではなく管理された値を再利用したい場合に使用します。

指示で / を入力し、ワークフロー属性を設定を選択します。既存のワークフロー属性を選択するか、新しい属性を作成を選択します。

新しい属性を作成する場合は、名前と説明を入力し、型を選択します。型を選択したら、必要に応じて許可された値を追加します。

ワークフロー属性を取得する

このツールを使用すると、前のステップで設定したワークフロー属性の値を取得できます。

カスタムイベントを記録する

このツールを使用すると、Braze のカスタムイベントを記録できます。指示のテキストボックスに / を入力し、カスタムイベントを記録を選択します。既存のカスタムイベント記録ツールを選択するか、新しいカスタムイベントツールを作成を選択します。

新しいツールを作成する場合は、カスタムイベントを選択し、名前と説明を入力します。カスタムイベントとともに送信するイベントプロパティを選びます。各カスタムイベントプロパティでは、次のいずれかのソースを使用できます。

ソース 説明
エージェント エージェントが指示とツールの説明に基づいて値を決定します。
ワークフロー属性 エージェントが前のステップで設定したワークフロー属性をプロパティに使用します。
カスタム属性 ユーザーのカスタム属性をプロパティに使用します。

すべてのプロパティに値を設定する必要はありません。一部のプロパティ型はサポートされていません。

プロパティの値が空のときにツールを失敗させる場合は、必須を選択します。

ユーザーをキャンバスに送るには、キャンバスがエントリプロパティとして使用するカスタムイベントを記録します。

カスタム属性を設定する

このツールを使用すると、ユーザーにカスタム属性を設定できます。指示のテキストボックスに / を入力し、カスタム属性を設定を選択します。既存のカスタム属性設定ツールを選択するか、新しいカスタム属性ツールを作成を選択します。

新しいツールを作成する場合は、名前と説明を入力し、ツールで設定するカスタム属性を選択します。カスタム属性では、次のいずれかのソースを使用できます。

ソース 説明
エージェント エージェントが指示とツールの説明に基づいて値を決定します。
ワークフロー属性 エージェントが前のステップで設定したワークフロー属性をユーザー属性に使用します。

カスタム属性を取得する

このツールを使用すると、カスタム属性を取得できます。

ユーザー属性を取得する

このツールを使用すると、標準のユーザープロファイルフィールドを取得できます。指示のテキストボックスにスラッシュ (/) を入力し、ユーザー属性を取得を選択します。次のいずれかのフィールドを選びます。

  • External ID
  • Braze ID
  • メール
  • 名
  • 姓
  • 電話番号

Webhook を呼び出す

このツールを使用すると、Webhook を呼び出すことができます。指示のテキストボックスに / を入力し、Webhook を呼び出すを選択します。既存の Webhook ツールを選択するか、新しい Webhook を作成を選択します。

新しいツールを作成する場合は、名前と説明を入力し、変数を追加します。変数を使用すると、Webhook の URL、本文、またはヘッダーにパーソナライズされた値を含めることができます。

変数では、次のいずれかのソースを使用できます。

ソース 説明
エージェント エージェントが指示と説明に基づいて値を決定します。
ワークフロー属性 エージェントが前のステップで設定したワークフロー属性を変数に使用します。
カスタム属性 ユーザーのカスタム属性を変数に使用します。
ユーザープロファイル ユーザープロファイルフィールド (external ID、Braze ID、メール、名、姓、電話番号) を変数に使用します。

変数を設定したら、リクエストメソッドを選びます。次のリクエストメソッドがサポートされています。

  • GET
  • POST
  • PUT
  • PATCH
  • DELETE

次に URL を入力します。URL で変数を使用するには、{{variable_name}} 構文で参照します。例:

https://myurl.com/create/{{user_id}}

次に、リクエスト本文を設定します。本文は空のままにするか、{{variable_name}} プレースホルダーを含められる文字列を入力します。ほとんどの API では JSON 本文を送信します。例:

{
  "user": {
    "id": "{{external_id}}",
    "favorite_color": "{{favorite_color}}",
    "is_called_by_agent": true
  }
}

変数を使用してヘッダーを設定することもできます。認証情報については、ダッシュボードで Connected Content の認証情報を作成し、このツールで参照します。

Webhook レスポンスは大きくなることがあるため、ワークフローに必要なフィールドだけを抽出できます。レスポンス本文内の値を指す JMESPath 式を使用してレスポンスフィールドを作成します。これらのフィールドを正しく抽出するには、レスポンス本文が有効な JSON である必要があります。抽出したフィールドは、後で Webhook レスポンスを取得ツールで参照します。

Webhook レスポンスを取得する

このツールを使用すると、前の Webhook を呼び出すステップから抽出した Webhook レスポンスフィールドを参照できます。

設定

Conversational Agents のブランド・ガイドラインとチャネルの動作を設定します。エージェントコンソール > Conversational Agents に移動し、設定を選択します。

ブランド・ガイドライン

エージェントが応答時に従うブランド・ガイドラインを選択します。ガイドラインは コンテンツ > ブランド・ガイドライン で作成・管理し、ここで1つを選択します。

Web設定

オープニングメッセージを設定します。これは、ユーザーが Web で会話を開始したときに最初に表示されるメッセージです。

SMS、RCS、WhatsApp の設定

次の項目を設定します。

設定 説明
1日のターン上限 メッセージングチャネルにおける、ユーザー1人あたりの1日の最大ターン数です。
AI 開示メッセージ すべての SMS、RCS、WhatsApp の会話で、エージェントの最初の返信の冒頭に表示されるテキストです。文言は変更できますが、オフにすることはできません。デフォルトのメッセージを使用するには、フィールドを空白のままにします。
エージェントをブロックする可能性のあるトリガー ワークフローで有効になっている各購読グループのインバウンドメッセージトリガーの一覧です。インバウンドメッセージがこれらのトリガーのいずれかを有効化した場合、会話型エージェントは応答しません。

優先される可能性のあるトリガーには、次のものがあります。

  • キーワードトリガー
  • アクションベースのキャンペーン
  • アクションベースのキャンバスエントリ
  • キャンバスのアクションパス
  • キャンバスのイグジット

会話をプレビューする

プレビューには2つの方法があります。

  • 保存済みのワークフローを編集する際に、そのワークフローのみをプレビューします。新しいワークフローは保存するまでプレビューできません。
  • 設定ページで、Webアプリまたは購読グループのエクスペリエンスをプレビューします。必要に応じて下書きワークフローを含めるを選択すると、下書きのワークフローを有効にする前にテストできます。

いずれの場合も、特定のユーザーとしてプレビューします。

シミュレーションを作成する

エージェントコンソール > 会話型エージェント に移動し、シミュレーションを選択します。

ユーザーのシナリオと期待される結果を記述したシミュレーションケースを作成します。シミュレーションを実行すると、ワークスペースの会話型ワークフローに対してそれらのケースをテストできます。Webhookのレスポンスをモックできるため、エージェントの動作を評価する間もケースの結果を予測可能な状態に保てます。

会話履歴を確認する

会話エージェントページで、会話履歴を選択します。このページには、実際のユーザーとの会話と、プレビューでの会話が表示されます。

会話履歴を使用してツール呼び出しを確認し、エージェントが期待どおりに動作していることを確かめます。

会話履歴ページ。ユーザーとの会話とエージェントのツール呼び出しが表示されています。

例

架空の衣料品小売ブランドである Flash & Thread は、次のような 2 ステップのショッピングワークフローを使用できます。

  • ステップ 1: ユーザーに、どの商品カテゴリーを探しているかを尋ねます。
  • ステップ 2: ワークフロー属性を設定ツールを使用して、product_category 属性を文字列として取得します。この属性には、ステップ 1 でユーザーが今日探していると答えた商品カテゴリーが記録されます。

ショッピング例の 2 つのワークフローステップ。ステップ 1 では商品カテゴリーを尋ねます。ステップ 2 では product_category ワークフロー属性を設定し、選択内容を確認します。

New Stuff!