AIエージェント
「AIエージェント」シナリオブロックを使用すると、以下のAIプロバイダーの言語モデルを活用して、音声およびチャットの両方のシナリオにおいて、顧客との目的意識を持った対話を自動化することができます。 AIプロバイダーとの連携の言語モデルを使用し、音声およびチャットの両シナリオにおいて、顧客との目的意識を持った対話を自動化できます。任意の数の期待される成果を定義し、モデルにどのように振る舞うかを指示します。AIエージェントブロックは、言語モデルを使用して顧客との音声またはチャット対話を行い、指示に従いながら、期待される成果に向けた情報を収集します。ブロックが望ましい成果に到達するために十分な情報を収集すると、ブロックは終了し、 シナリオ変数 には、対話から抽出されたデータが入力されます。
| 前提条件 | ||
| ||
ブロックによる会話の進め方
「AIエージェント」ブロックは、以下のステップに従って顧客との会話を進めます:
*初期化:
シナリオが「AIエージェント」ブロック(ダイアログブロック)を実行すると、 AIプロバイダー (AI)が、「AIへの指示」の設定およびリストを使用して、最初のメッセージを作成します。 「要求された結果」に基づいて、顧客への最初のメッセージを作成します。
- 顧客とのやり取り(音声またはチャット):
**音声:AIのメッセージは、既定のテキスト読み上げプロバイダーを使用して顧客に再生されます。顧客の応答は、 テキスト認識機能 設定で指定された方法でテキストに変換されます。 **チャット:AIのメッセージはチャットメッセージとして顧客に送信されます。ダイアログブロックは、顧客からのテキストによる返信を待ちます。
- 返信タイムアウトが経過しても顧客からの返信がない場合、AIには顧客から「返信なし」であったことが通知されます。
- 返信タイムアウトが経過しても顧客からの返信がない場合、AIには顧客から「返信なし」であったことが通知されます。
*応答の評価:顧客の応答はAIによって分析されます。
- 顧客の応答に、以下のいずれかに関連するデータが含まれている場合 要求された結果のいずれかに関連するデータが含まれている場合、AIはそのデータを抽出してフォーマットし、ダイアログブロックが後で使用できるようにします。
- 要求された成果について必須のデータがすべて収集された場合、AIはダイアログブロックがどの成果に従うべきかを示します。
- AIは、顧客への次のメッセージを生成します。次のメッセージは、ダイアログブロックが会話を継続する場合にのみ、顧客に送信されます。
- 終了または継続:AIエージェントブロックは、会話を継続するか、ブロックを終了するかを決定します。
**成果の達成:いずれかの 要求された成果 のデータがすべて収集され、AIがどのアウトカムに進むべきかを示した場合、ダイアログブロックは対応する条件付き終了経路経由で終了します。顧客に最終的なAIメッセージが送信されるかどうかは、「最終AI応答をトリム」設定によってコントロールされます。
- ダイアログを継続:いずれの 要求された成果のいずれかを満たすのに十分なデータがない場合、ダイアログブロックは顧客とのやり取りステップに戻り、顧客に次のメッセージを送信して応答を待ちます。
**ダイアログの最大ターン数:AIから数回のメッセージを送信しても顧客から応答がない場合、またはダイアログの最大ターン数を超えた場合、ダイアログブロックは既定の出口を選択します。 エラー 1005「ダイアログの最大ターン数に達しました」というエラーメッセージが表示されます。
設定

タイトルテキスト
シナリオ内における、このブロックのインスタンスの名前です。
AI プロバイダー
以下の このブロックで使用するAIプロバイダーアカウント を使用するか、サービスプロバイダーからAIアカウントが提供されている場合は「<<DEFAULT>>」を選択してください。
文字起こしサービス
音声シナリオで使用される AI エージェント ブロックのみ対象です。
ユーザーの発話を文字起こしするために使用される音声認識サービスを選択します。設定済みの 音声認識(STT) 統合アカウントの中から選択してください。サービスプロバイダーから文字起こしサービスが提供されている場合は、<<既定(デフォルト)>>を選択してください。
フレーズ終了タイムアウト
音声シナリオで使用される AI エージェント ブロックにのみ適用されます。
顧客の応答後、話し終えたことを示す無音時間が続いた期間です。顧客が話し始めると、その応答は「フレーズ終了タイムアウト」に等しい無音時間が続くまで録音され、その時点で応答は終了したとみなされ、評価のために AI プロバイダーに送信されます。
顧客の音声によるプロンプトの中断を許可
音声シナリオで使用される AI エージェント ブロックのみ対象です。
有効にすると、AI メッセージの再生中、ブロックは常にお客様の声を検知するよう待機します。AI メッセージの再生中に声が検知されると、ブロックは以下の処理を行います:
- AI メッセージの再生を停止します
- 顧客の応答を録音し、文字起こしを行います
- 顧客の応答をAIプロバイダーに送信して評価を行い、対話を引き続き進めます
無効にしている場合、ブロックはAIメッセージの再生がすべて終了してから初めて、顧客の声を聞き始めます。AIメッセージが終了する前に顧客から入力された音声はすべて無視されます。
音声コンテキスト
音声シナリオで使用されるAIエージェントブロックのみ対象です。
顧客が発言する可能性が高い単語やフレーズのオプションリストです。リストに挙げられた用語は、より正確に文字起こしされる可能性が高くなります。 「再生・リスニング」ブロックの「音声コンテキスト」設定 をご覧ください。
AIの応答待機中に再生するプロンプト
音声シナリオで使用される AI エージェントブロックにのみ適用されます。
ブロックが AI プロバイダーからの応答を待機している間、選択済みの音声プロンプトが再生されます。音楽のプロンプトや効果音を使用することで、システムが顧客の応答を処理中であることを顧客に理解してもらいやすくなる場合があります。
AIへの指示
これらの指示は、ダイアログの各ターンごとにAIに与えられ、AIが顧客との会話をどのように進めるべきかについて、指針を示すことができます。 シナリオ変数 を使用することで、顧客ごとに指示をパーソナライズできます。
AIへの指示は、AIプロバイダーで選択済みの特定のモデルを考慮に入れてください。以下のリソースを参照すると役立つ場合があります。 Vertex AIの「プロンプトギャラリー」 や OpenAIの『プロンプトエンジニアリングガイド』を参考にすると、AIに最適な指示を与えるためのアイデアが得られるかもしれません。 選択したモデルやプロバイダーにかかわらず、AIへの典型的な指示には次のようなものがあります: * を参照すると、AIに最適な指示を与えるためのアイデアが得られるでしょう。
選択済のモデルやプロバイダーに関わらず、AIへの典型的な指示には次のようなものがあります:
- 会話に関するAIへのコンテキスト: 「あなたは、X、Y、またはZを行いたいと考えている可能性のある顧客とチャットしています…」
- AIが達成すべき目標の説明: 「顧客が何を望んでいるかを把握し、必要な情報を収集してください…」
- AIの振る舞いに関する説明: 「礼儀正しく、簡潔な質問をし、プロフェッショナルな口調を保ってください…」
- 会話のトピックに関する制限の設定: 「X、Y、またはZについてのみ話してください。X、Y、またはZを解決するために必要な情報のみを収集してください。あなたが代表する企業はBright Patternのみです」
- AIのペルソナを設定する: 「Bright Patternのお客様向けのバーチャルアシスタント、ダイアナとして自己紹介してください……」
AI 向けの効果的な指示を作成するには、ある程度の試行錯誤が必要です。AI を「台本から外れさせる」ような会話を通じて、指示をテストしてみると役立つでしょう。例えば、AI に競合他社について話させたり、会社を代表して約束をさせたり、望ましくない発言をさせたり、不適切な質問をさせたり、指示に従わないようにさせたりしてみてください。
上級編(システム指示プロンプト)
[詳細設定] ボタンをクリックすると、[システム指示プロンプト] ダイアログが開き、以下の項目を表示・カスタムできます:
- システムプロンプト:これらは、メインの [AIへの指示] プロンプトとともに送信される指示であり、システムレベルでAIの挙動をコントロールするために使用されます。
- 要約プロンプト:これらの指示は、会話の要約を生成するために、完全なトランスクリプトとともにAIプロバイダーに送信されます。

結果の生成
[結果を生成] ボタンは、選択済みのものを使用します AIプロバイダー を使用して、自動的に作成 要求された結果 およびそれに関連する 出力データを生成します。このボタンをクリックすると、指示内容に基づき、AIプロバイダーに指示が送信されます。AIプロバイダー を生成します。このボタンをクリックすると、AIへの指示が選択済AIプロバイダーに送信され、AIプロバイダーがそれを分析して、潜在的な成果の構造化されたリストと必須のデータを返します。これにより、AIが指示をどの程度理解しているかをテストすることができます。 新しく生成されたセットに含まれていない、以前に設定された成果はすべて無効化され、灰色で表示されますが、確認や再利用のために引き続き表示されます。
新規成果を挿入する前に、システムはどの現在の成果が無効化されるかを警告し、無効化された成果によって定義されたシナリオ変数をリスト表示します。
要求された結果
AIに顧客に対して追求させたい結果を定義します。各結果により、AIエージェントブロックに条件付き分岐が追加され、結果に基づいてシナリオの異なる経路を定義できるようになります。 各アウトカムについて、その出口に進むために収集が必要な関連データポイントをいくつでも定義できます。ブロックがその出口に進むのは、AIがそのアウトカムを選択し、かつそのアウトカムに関連するすべてのデータポイントが収集された場合のみです。
各「要求されたアウトカム」には、以下のプロパティがあります:
名前(要求された結果)
結果およびそれに対応する条件付き出口の名前です。AIは顧客の応答を評価する際、各「要求された結果」の名前を考慮するため、結果を正確に表す名前を付けることが重要です。
出力データ(要求された結果)
各「要求された結果」のデータコンポーネントには、任意の数のエレメントを含めることができます。各エレメントには、「データの説明」と「変数名前」が必須であり、オプションで「値の例」を指定することもできます。
- データの説明:自然言語によるデータの説明です。このテキストは、AIに対し、顧客からどの具体的な情報を収集すべきかを指示するために使用されます。 フォーマット指定の指示(例:「顧客の生年月日、MM/DD/YYYYのフォーマット」)を含めることもできます。
- 変数名: シナリオ変数 シナリオブロックが条件を満たすことで、その条件に合致する出口が選択されます。
- 例示値:AIがシナリオブロックが条件を満たすことで、その条件に合致する出口が選択されます。
要求される結果の例
AIエージェントブロックを使用して顧客がアドレスを変更できるようにしたい場合、変更を行うには顧客の旧アドレスと新規アドレスが必要になります。このような成果を定義するには、以下のプロパティを持つ「要求される成果」を作成します:
- 名前:
アドレス変更 - 出力データ:
- 項目 1
- データ説明:
顧客の前のアドレス。<...> または <...> のフォーマットで記述されます。 - 変数名:
old_address - 値の例:
123 Berkshire Ln, Lafayette, CO, 80026, USA
- データ説明:
- 項目 2
- データ説明:
顧客の新規アドレス(<...> または <...> のフォーマット) - 変数名前:
new_address - 値の例:
456 Bogle Way, Houston, TX, 77002, USA
- データ説明:
- 項目 1
これにより、「住所変更」という名前の条件付き出口が作成されます。AIエージェントブロックがこの条件付き出口に進んだ場合、シナリオ変数「old_address」および「new_address」には、対話中に顧客から提供されたデータが入力されます。
会話のコンテキストを含める
各AI応答は、現在のAIエージェントブロックからの会話トランスクリプト、および AIへの指示 ( 詳細な指示を含む)および 要求された結果。
「会話のコンテキストを含める」を有効にすると、シナリオの前の部分からの情報をAIに提供できます。「会話のコンテキスト」設定(下記参照)を使用して、AIに提供する追加のコンテキストを設定してください。
無効の場合(既定(デフォルト))、AIには追加のコンテキストは提供されません。
コンテキストを含めることで対話品質が向上する可能性がありますが、通常、AIプロバイダーからのコストや応答時間が増加します。
会話コンテキスト
「会話コンテキストを含める」が有効になっている場合、「コンテキストの表示/編集」リンクをクリックすると、「会話コンテキスト」ダイアログが開きます。ここでは、複数のAIエージェントブロックにわたる一貫性を維持するために、AIに提供する追加情報(例:会話の要約や外部データ)を指定できます。
- コンテキストに含める:会話コンテキストとして何を提供するかを指定するドロップダウンメニューです:
- 会話の要約のみ:既定のオプションです。直近で成功して実行された AI エージェント ブロックから自動的に生成された AI 要約のみを含めます。
- 追加コンテキストのみ:ユーザー指定の「追加コンテキスト」のみを含めます。
- 会話の要約と追加コンテキスト: 「追加コンテキスト」と自動生成されたAIの要約の両方を含めます。
- 追加コンテキスト:AIに補足情報を提供するためのテキストフィールドです。プレーンテキスト、構造化データ(JSONなど)、および シナリオ変数 を自由に組み合わせて使用し、対話に関するより多くのコンテキストをAIに提供できます。
最終的なAI応答を削除する
ブロックを終了する際に、AIからの最終メッセージを顧客に送信するかどうかをコントロールします。
- 有効の場合(既定(デフォルト))、AIの最終応答はトランスクリプトから消去され、顧客には送信されません。
- 無効にしている場合、最終応答は顧客に送信され、トランスクリプトにも含まれます。
このオプションの有効設定にかかわらず、AIからの最終応答は、後で使用できるよう常に$(aiAgentFinalReply)変数に保存されます。
最大ダイアログ往復回数
ブロックがエラーで終了する前に、AIと顧客の間で許可されるやり取りの最大回数(最大50回)を入力してください。
AIの応答タイムアウト
顧客からの入力を受け取った後、ブロックがAIプロバイダーからの応答を待機する最大時間(秒単位)を入力してください。この時間内に応答が受け取られない場合、ブロックはエラーで終了します。
顧客の返信タイムアウト
AIがプロンプトを表示した後、顧客からの応答をブロックが待機する最大時間(秒単位)を入力してください。応答がない場合、ブロックはAIプロバイダーに新規メッセージを要求すると同時に、顧客が前メッセージに返信しなかったことを通知します。 顧客からの応答を引き出すための再試行の最大回数は、「最大連続応答タイムアウト」設定によって定義されます。最大値は180秒です。
連続試行回数の上限
このブロックが「顧客応答タイムアウト」の全期間を待機し、顧客からの応答を引き出そうとする連続試行の最大回数です。最大試行回数に達すると、ブロックは既定の処理経路に進み、エラーを通知します。
モデルの温度
この設定は、AIの応答の創造性をコントロールします。最小値は0.0(既定(デフォルト))ですが、最大値はAIモデルによって異なります。 一般的なモデルの最大温度は 2.0 です。値が低い場合(例:0.1)、出力はより決定論的になり、創造性が低下するため、予測可能で反復的な応答が生成されやすくなります。 値を大きくすると(例:0.8~1.2)、より多様で創造的な応答が生成され、会話がより人間らしいものになります。ただし、温度を高く使用すると、AIが意味をなさない結果を生成するリスクが高まります。
このフィールドは、 AIアカウントの詳細オプション プロパティで設定された温度を上書きする可能性があることにご留意ください:
- 値の設定:ここに温度の具体的な値を入力すると、AIアカウントの設定がすべて上書きされます。
- 空欄:空欄のままにすると、システムはAIアカウントの「詳細オプション」で定義された温度を使用します。
- 既定(デフォルト):空欄のまま、かつ「詳細オプション」が設定されていない場合、システムは
0.0 を既定値として使用します。
条件付き出口
AIエージェントブロックは、条件に基づいて exitsを作成します。 要求された成果 に基づいて条件付き出口を作成します。AI が特定の結果が達成され、その結果の必須データがすべて収集されたことを検出すると、シナリオは対応する出口パスに沿って進行します。
既定(デフォルト)の出口
既定の出口とは、AIエージェントブロックがシナリオの条件を fulfil できない場合、シナリオが follow するルートです。 「要求される結果」 設定で定義された条件付き終了のいずれの条件も満たせなかった場合に、シナリオがたどる経路です。たとえば、最大対話ターン数が経過する前に顧客が要求された情報を提供しなかった場合や、AIプロバイダーがエラーを返した場合などが挙げられます。 シナリオ変数 aiAgentErrorCode および aiAgentErrorBody には、AIエージェントブロックが既定の終了経路を選んだ理由を特定するために必要な情報が含まれます。
変数
AIエージェントブロックは、いくつかの シナリオ変数を設定します。これにより、ブロックの動作を理解する助けとなります。 を設定し、ブロックの動作を理解しやすくします。
トークン使用量変数
トークンとは、AI プロバイダーが処理中のテキストの長さを測定するために使用する単位であり、通常、1 つのトークンは 1 語、または語の一部に対応します。AI プロバイダーは通常、課金期間中に処理された入力トークン(モデルに送信されたトークン)および出力トークン(モデルによって生成されたトークン)の数に基づいて料金を計算します。以下の シナリオ変数 は、シナリオの実行中に AI Agent ブロックによって設定されます。
- aiAgentTotalInTokens には、シナリオの実行中に AI プロバイダーに送信されたトークンの累積数が含まれます。
- aiAgentTotalOutTokens には、シナリオの実行中に AI プロバイダーから受信したトークンの累積数が含まれます。
これらの変数の値は、シナリオの実行中に累積される点にご注意ください(例えば、単一のシナリオ内で AI エージェント ブロックが複数回実行されてもリセットされません)。ただし、 「変数の設定」 ブロックを使用して、これらをゼロに設定することは可能です。
AI 要約変数
各 AI エージェントブロックの実行後、会話の要約が自動的に生成されます。この要約は、使用することができます。 後続のAIエージェントブロック や、シナリオ終了後にやり取りを引き継ぐ人間のエージェントに対して、文脈情報を提供するために使用できます。要約のフォーマットとコンテンツは、設定によって決まります。 [詳細設定 (システム指示プロンプト)] プロパティで設定されます。
- aiAgentSummary には、直近で実行された AI エージェントブロックの要約が含まれます。この変数は、新たに実行される AI エージェントブロックごとにリセットされます。
最終返信変数
最終的なAI応答が顧客に送信されるかどうかは、「最終AI応答をトリム」の設定によって決まります。いずれの場合でも、最終返信が生成され、存在する場合、この変数に格納されます:
- aiAgentFinalReply には、AIプロバイダーからの最新の最終返信が含まれます。
エラー変数
AIエージェントブロックが条件付き終了を行えない場合、理由を特定するのに役立つ情報が以下の変数に格納されます:
- aiAgentErrorCode には、エラーの種類を示す整数が格納されます。可能なエラーコードとその意味については、以下の表をご参照ください。
- aiAgentErrorBody には、AI プロバイダーからの API レスポンス全体が含まれます。
以下の表は、aiAgentErrorCode の値を示します。 シナリオ変数、および各値の意味についてご確認ください。
コード
説明
1000
AI プロバイダーの アカウントが特定されていませんか、削除されています。
1001
音声テキスト化 アカウントが特定されていませんか、削除されています。音声シナリオにのみ適用されます。
1002
AIエージェントのシナリオブロックは、ご利用のサービスプロバイダーによって有効化されていません。
1003
AI プロバイダーアカウントからの認証エラーです。API キーが欠落しているか、無効であるか、または期限切れであることを示しています。
1004
AIプロバイダーアカウントがAPIリクエストを実行できませんでした。これは、接続に問題があることを示しています。
1005
ダイアログのターン数の上限を設定しました( Max Dialog Turnsで設定された値)に達しましたが、選択済の結果が選択されていないか、選択済の結果に対して受信されたデータが不十分です。
1006
顧客からの返信がないままの連続ターン数が上限に達しました(設定により 最大連続試行回数).
1007
直近のターンにおいて、AIプロバイダーから応答や結果が提供されませんでした。
1008
文字起こしツールが顧客の応答を認識できませんでした。音声シナリオにのみ適用されます。
2000
AIプロバイダーからのその他のエラーです。APIレスポンスのペイロード全体が、aiAgentErrorBody変数で利用可能で、エラーの理由を把握するのに役立ちます。
< 前へ | 次へ >