評価は、エージェントのパフォーマンスをテストし、特定の状況で想定どおりに動作していることを確認するための重要なツールです。評価を使用すると、テストを自動化し、変更後の機能低下を検出し、エージェントの回答の品質を測定してエージェントの品質を向上させることができます。
開始するには、エージェント ビルダーの上部にある [評価] ボタンをクリックします。
評価のコンセプト
テストケース: 各テストケースは、エージェントのパフォーマンスを評価するために設計された、特定の自己完結型のテストシナリオまたはプロンプトです。作成できるテストケースには、次の 3 種類があります。
- シナリオ: テストをブートストラップし、包括的なテスト カバレッジを確保する AI 搭載機能。ユーザーの目標を記述すると、システムがユーザーを自動的にシミュレートし、会話を生成して、エージェントがシナリオに堅牢に対応できるかどうかをテストします。シナリオは、テストを行い、ゴールデン会話を定義するのに役立ちます。
- シミュレーション: 複数のステップからなるジャーニーのテストに最適です。単一の自由形式のユーザー目標ではなく、会話を目標(マイルストーンとも呼ばれます)の順序付きリストに分割します。シミュレートされたユーザーは、目標を 1 つずつ達成し、現在の目標の成功条件が満たされた後にのみ、次の目標に進みます。シミュレーションでは、シミュレートされたユーザーの柔軟性を確保しながら、会話を予測可能なパスに沿って進めることができます。
- ゴールデン: 回帰テストに最適です。特定の「理想的な」会話パスを指定すると、評価によってエージェントの動作(ツール呼び出しを含む)がこの理想的なパスに沿っているかどうかがチェックされます。
実行: 評価実行は、テスト対象のエージェントのパフォーマンスに対して、ゴールデン、シナリオ、シミュレーションのテストケースのセットを 1 回完全に実行することを表します。各実行には 1 つ以上のテストケースを含めることができます。
結果: テストケースの結果とは、1 回の実行における特定のテストケースの 1 回の実行を指します。1 回の評価実行中にテストケースが複数回実行される場合(一貫性や不安定さなどを確認する場合など)、個々の実行が個別の結果になります。結果は、各テストケース行の列に長方形のアイコンとして表示されます。実行が失敗した場合は赤い X、合格した場合は緑色のチェックマークが表示されます。
タグ: テストケースをタグでグループ化して、管理を容易にすることができます。
テストケースを作成する
エージェントのテストケースを作成してアクセスするには、エージェント ビルダーの上部にある [評価] ボタンをクリックします。ゴールデン、シナリオ、シミュレーションベースのテストケースを作成して管理できます。テストケース リストの [タイプ] 列に、各テストケースのタイプが表示されます。
シナリオ
シナリオベースのテストケースでは、AI を使用して、定義したハイレベルなユーザー目標に基づいてさまざまな会話を自動的に生成します。これらのテストケースでは、特定のゴールデン会話を指定するのではなく、生成されたシナリオを選択するか、テストする必要がある特定のシナリオを記述します。これは、考えられるすべての会話パスを手動で記述することなく、エッジケースを探索し、エージェントの堅牢性をテストするのに役立つ強力なツールです。
これらのシナリオが適切に機能したら、ゴールデン会話として保存できます。
シナリオを作成するには:
- [シナリオを作成] をクリックします。複数のシナリオが提案されます。
- 選択内容に基づいてシナリオを生成することも、新しいシナリオを最初から作成することもできます。
シナリオのリストを表示しているときに、シナリオをクリックすると、各シナリオの詳細と会話リストを表示できます。
シナリオをゴールデン会話として保存するには:
- シナリオを選択します。
- 右上のメニューボタンをクリックします。
- [ゴールデン カンバセーションとして保存] を選択します。
シナリオのユーザーの目標
各シナリオには、エージェント アプリケーションを使用する際のエンドユーザーの目標を記述するユーザー目標があります。次に例を示します。
Securely book a specific room at a chosen hotel and receive a confirmation.
ユーザーの目標に基づいて、CX Agent Studio は評価に使用される会話を自動的に生成します。
シナリオ変数
シナリオを定義するときに、シナリオで使用する変数を指定できます。
シナリオの期待値
評価を実行するには、テストケースの期待値を定義します。
期待値には次の 2 種類があります。
- メッセージ: 想定されるエージェントのレスポンス。
- ツール呼び出し: 想定される入力と出力を含むツール呼び出し。
期待値には次の条件を指定できます。
- 必須
- 含まない
- ツール呼び出し後
- 変数の値
期待値を作成するには:
- 特定のシナリオをクリックして詳細を開きます。
- [期待されること] セクションで、[すべて表示] をクリックします。
- インターフェースの手順に沿って、シナリオの期待値を作成します。
シミュレーション
シミュレーション テストケースでは、会話を目標(マイルストーンとも呼ばれます)と呼ばれる順序付きリストに分割します。各目標は、ユーザー ジャーニーの 1 つのステージと、シミュレートされたユーザーが次のステージに進む前に満たす必要がある条件を記述します。
シミュレーションは、シナリオとゴールデン テストケースの間に位置します。
- シナリオでは、シミュレートされたユーザーに 1 つの自由回答形式のユーザー目標を与え、会話全体を即興で進めさせます。これは探索に役立ちますが、会話は実行ごとに異なるルートをたどる可能性があります。
- ゴールデン テストケースは、すべてのユーザー ターンを固定します。これは回帰テストには正確ですが、長いジャーニーには柔軟性がなく、エージェントの表現の有効なバリエーションに適応できません。
- シミュレーションでは、ライブ シミュレーション ユーザーを維持しますが、目標に合わせて順番に制限します。これにより、認証、検索、更新などのマルチステップのジャーニーを、すべてのターンをハードコードすることなく、繰り返し実行できます。
次の場合にシミュレーションを使用します。
- このジャーニーには、決まった順序で実行する必要がある複数のステージがあります。
- エージェントが他の処理を行う前に、発信者の確認に成功するなど、中間状態に到達していることを確認する必要があります。
- ゴールデン会話は厳格すぎますが、単一目標のシナリオではパス全体を確実に実行できません。
シミュレーションを作成する
- [評価] タブに移動します。
- [+ テストケースを追加] をクリックします。
- [シミュレーション] を選択します。シミュレーション エディタが開き、空の目標が 1 つ表示されます。
- [テストケース名] を入力し、[タグ] を追加します。
- 最初の目標の [ユーザーの目標] と [成功基準] を入力し、[達成までの最大ターン数] を設定します。
- [目標を追加] をクリックし、ジャーニーの各ステージについて順番に繰り返します。各ステップタイプの詳細については、目標をご覧ください。
- 必要に応じて、[変数のオーバーライド] セクションで [オーバーライドを追加] をクリックして、会話が開始される前にセッション変数を設定します。テストケースに少なくとも 1 つのオーバーライドが設定されると、ラベル付きボタンは、既存のオーバーライド チップの横にある追加(+)アイコンボタンに置き換えられます。
- 必要に応じて、[Add expectations] をクリックして、会話レベルの期待値を添付します。この期待値は、文字起こし全体に対してチェックされます。
- [作成] をクリックします。
エディタには [UI] タブと [YAML] タブがあり、同じテストケースを編集します。YAML 形式の詳細については、シミュレーションを YAML として編集するをご覧ください。
目標
[目標を追加] をクリックして、シミュレーションにステップを追加します。各ステップは、ステップのタイプメニューから選択する次のいずれかのタイプです。
- ユーザーの目標: シミュレートされたユーザーは、成功基準が満たされるまで独自の発話を生成します。これらのステップには、エディタで [目標] というラベルが付けられています。設定:
- ユーザーの目標: シミュレートされたユーザーがこのステップで達成しようとしていること(
Ask for a refund on the most recent orderなど)。 - 成功基準: ステップが完了したかどうかを判断する条件(
Agent asks for the reason for the refundなど)。 - 達成する最大ターン数: シミュレーションが停止するまでに、このステップで許可される最大ターン数。デフォルトは 3 です。
- ユーザー情報: シミュレートされたユーザーにのみ表示され、エージェントには表示されない、オプションのペルソナとコンテキスト ヒント。これを使用して、注文番号や電話の理由など、ユーザーが知っている詳細情報を提供します。このフィールドを追加するには、ステップのその他のオプション メニューを開き、[ユーザー情報を追加] をクリックします。
- ユーザーの目標: シミュレートされたユーザーがこのステップで達成しようとしていること(
- 静的な発話: シミュレートされたユーザーは、生成を行わずに、指定されたテキストをそのまま送信します。正確な表現が重要な場合(エージェントが英数字の口座番号をどのように処理するかをテストする場合など)に使用します。
- イベント: 発話ではなく、名前付きイベントをエージェントに送信します。これを使用して、テレフォニー イベントなどの会話以外の入力を再現します。
静的な発話ステップとイベントステップには、エディタで [ターン] というラベルが付けられます。ユーザー目標と同様に、成功基準を設定できますが、独自の [Max turns to achieve] フィールドや [User information] フィールドはありません。
成功基準を、観察可能なエージェントの動作として記述します。エージェントが言うべきことや行うべきことを記述する基準は、信頼性高く評価されます。会話に現れない内部状態を記述する基準は評価されません。
シミュレーションの実行方法
- シミュレートされたユーザーは最初のステップから開始します。
- 各ターンで、シミュレートされたユーザーは、現在のステップのみを対象とする発話を生成します。
- エージェントが応答すると、現在のステップが成功基準に照らして評価されます。条件が満たされると、ステップは完了としてマークされ、シミュレートされたユーザーは次のステップに進みます。完了したステップが再度開かれることはありません。
- 達成までの最大ターン数の制限内にステップが完了しない場合、シミュレーションは停止します。それ以降のステップは試行されません。
- 会話が終了すると、文字起こしが評価され、試行された各ステップの書面による正当性が生成されます。
ステップごとの上限に加えて、会話全体の上限は、他のシミュレートされた会話と同じ全体的な上限(100 ターン)に制限されます。実際には、ステップごとの達成する最大ターン数の上限により、シミュレーションが最初に停止します。
シミュレーションが合格となるのは、すべてのステップが完了し、シミュレーションされた会話に適用される他の合格または不合格の基準を満たしている場合のみです。ステップは厳密に順次実行されるため、1 つのステップが失敗すると、テストケースの残りのステップがブロックされます。障害が発生したステージが明確にわかるように、ステップを並べ替えます。
シミュレーション結果
シミュレーション結果を開くと、目標セクションが表示されます。このセクションの見出しには、完了したステップ数が合計ステップ数に対して表示されます(例: Goals (2/3))。すべてのステップが完了していない場合、セクションは自動的に展開されます。この中には、ステップごとに 1 つの折りたたみ可能なパネルがあります。
- 緑色のチェックマークは、ステップの成功基準が満たされたことを示します。
- 赤色の X は、条件が満たされなかったか、前のステップでブロックされたため、ステップが完了しなかったことを意味します。
各パネルには、ステップが完了したと見なされた理由または完了していないと見なされた理由をわかりやすい言葉で説明する理由が表示されます。実行が完了すると、完了していないステップが展開され、その理由が表示されます。完了したステップは折りたたまれます。試行されなかったステップは、それをブロックした目標のテキストを示すメッセージで正当化されます。
目標の下にある [会話] パネルには、シミュレーションされた会話の完全な文字起こしが表示されます。これにより、シミュレーションされたユーザーの発言とエージェントの応答を正確に再生できます。
実行がエラーで終了した場合、結果の上部にあるカードにエラー メッセージが表示されます。実行は完了したものの、静的な発話ステップが完了しなかった場合、そのカードは最初のステップの理由を繰り返します。静的な発話ステップとイベント ステップは、どちらもエディタで [Turn] というラベルが付いているため、目標セクションでカードが参照しているステップを確認します。未完了のユーザー目標とイベントのステップは、目標セクションにのみレポートされます。
シミュレーションを YAML として編集する
シミュレーション エディタで [YAML] タブをクリックして、テストケースを YAML として編集します。目標リストは steps として表され、各ステップは目標で説明されているフィールドにマッピングされます。
evals:
- name: "billing_refund_request"
tags:
- "billing"
session_parameters:
product_id: "prod_123"
steps:
- goal: "Greet the agent and ask for a refund for product_id."
success_criteria: "Agent asks for the reason for the refund."
max_turns: 3
- goal: "Provide the reason and insist on the refund."
success_criteria: "Agent agrees to process the refund or escalates."
- static_utterance: "I want to check my balance."
| YAML キー | コンソール フィールド |
|---|---|
name |
テストケース名 |
tags |
タグ |
session_parameters |
変数のオーバーライド |
goal |
ユーザーの目標 |
success_criteria |
成功基準 |
max_turns |
達成までの最大ターン数 |
response_guide |
ユーザー情報 |
static_utterance |
静的な発話ステップ |
event |
イベントのステップ |
expectations |
求められること |
エディタは、入力時に YAML を検証し、次のルールを適用します。
- ドキュメントには
evalsリストが含まれている必要があります。エディタは、そのリストの最初のエントリのみを読み取ります。 - 各エントリには、
nameと少なくとも 1 つのステップが必要です。 - すべてのステップには、
goal、static_utterance、eventのうち少なくとも 1 つが必要です。 session_parametersのすべてのキーは、エージェント アプリケーションで宣言されている変数である必要があります。expectationsのすべての文字列は、エージェント アプリケーションにすでに存在する期待値のプロンプト テキストである必要があります。照合では、大文字と小文字、前後の空白は無視されます。期待値を作成するには、[UI] タブの [期待値を追加] を使用して、ここでそのプロンプトを参照します。evalsリストのエントリ内の認識されないキーは拒否されます。
ゴールデン
これらのテストケースは、回帰テストに最適な会話パスを定義するために使用されます。これにより、エージェントを更新しても、コアとなる重要な会話パスが破損することはありません。ゴールデン会話を作成するには、次の複数の方法があります。
シミュレータから会話をインポートするには:
- シミュレータを使用して会話を開始します。
- シミュレーターの右上にある縦に並んだ 3 つの点をクリックして、シミュレーター メニューを表示します。
- [ゴールデンとして保存] をクリックします。
- ゴールデン テストケースの名前を入力し、[保存] をクリックします。[評価] タブに表示されます。
会話履歴からテストケースを作成するには:
- [評価] タブに移動します。
- [+ テストケースを追加] をクリックします。
- [Golden] を選択します。
- [次へ] をクリックします。
- [会話履歴から選択] をクリックします。
- 表示されたウィンドウで、ゴールデン テストケースとして保存する会話を選択します。会話 ID で検索することもできます。
- 秘匿化を有効にしている場合は、不足している情報を処理する前に、エージェントのレスポンスと変数の秘匿化を確認します。
- [追加] をクリックします。
テストケースをゼロから作成するには:
- [評価] タブに移動します。
- [+ テストケースを追加] をクリックします。
- [Golden] を選択します。
- [次へ] をクリックします。
- [Create from scratch] をクリックします。
- 表示されたウィンドウで、テストケースの表示名を追加します。
- 必要に応じて、ユーザー入力とエージェントの期待値のテキストを追加します。[+ Add user input] と [+ Add agent expectation] をクリックして、レスポンスを追加します。[+ ターンを追加] をクリックして、テストケースに新しい会話ターンを追加します。
- [作成] をクリックして、ゴールデン テストケースをテストケースのリストに追加します。
シナリオ テストケースのシミュレートされた会話からテストケースを作成するには:
- 評価実行結果ページに移動します。
- 選択した会話の右側にあるメニュー アイコン(縦に 3 つ並んだ点)をクリックし、[ゴールデン会話として保存] をクリックします。
ファイルからテストケースを一括アップロードするには:
ファイル形式と CSV テンプレートの詳細については、ゴールデン テストケースの CSV 形式のページをご覧ください。
ゴールデン エクスペクテーション
評価を行うには、ゴールデン テストケースの期待値を定義します。期待値は、会話の特定の時点でエージェントから期待される特定の結果です。評価中に、実際のエージェントの動作がこれらの期待値と比較されます。
期待値は次のいずれかのタイプになります。
- メッセージ: エージェントからエンドユーザーへの想定されるテキスト レスポンス。評価では、エージェントの回答がこの期待値と意味的に一致しているかどうかが確認されます。
- ツール呼び出し: エージェントが特定のツールを呼び出し、レスポンスを返すという期待。ツール呼び出しに想定される入力引数を指定することもできます。
- エージェントのハンドオフ: エージェントが会話を人間のエージェントまたは別の bot に転送するという期待。
期待値を作成するには:
- 特定のゴールデン テストケースをクリックして、詳細を開きます。
- [詳細] セクションで、[ゴールデンを表示] をクリックします。
- インターフェースの手順に沿って、期待事項を追加または変更します。
評価設定
テストケース リストの見出し行で、評価設定を構成できます。
- ゴールデン:
- ゴールデン合格/不合格基準: シミュレートされた会話が合格か不合格かを判断するロジックを設定します。
- ターンレベル: これらのルールは、個々のターンを判断します。これらのしきい値のいずれかが満たされない場合、特定の指標は失敗として赤色で色分けされます。
- 意味的類似性: 意味的類似性のしきい値。
- ツールの正確性: ツールの正確性のしきい値。
- ハルシネーション: 無効にすると、ハルシネーションは合否から除外されます。
- 期待値レベル: これらのルールは、ターン内の期待値を判断します。これらのしきい値のいずれかが満たされない場合、特定の指標は失敗として赤色で色分けされます。
- ツールの正確性: ツールの正確性のしきい値。
- ゴールデン ラン メソッド: ナイーブ リプレイ検証または安定したリプレイ検証のいずれかを選択します。
- ツールフェイク: 実際の本番環境 API 呼び出しではなく、モックデータを使用します。
- Scenarios:
- シナリオの合否基準: 模擬会話の合否を判断するロジックを設定します。
- 会話の開始者: 会話を開始するユーザーまたはモデルを設定します。
- ツールフェイク: 実際の本番環境 API 呼び出しではなく、モックデータを使用します。
- 音声評価
- 音声評価の録音
評価を実行する
評価を実行するには、テストケース行の実行ボタンをクリックするか、複数のテストケースを選択して実行します。
複数のバージョンを保存している場合は、使用するエージェント バージョンを選択するか、下書きエージェントを新しいバージョンとして自動的に保存して実行できます。
評価の実行後、指標が更新され、結果が表示されます。
特定の実行評価をクリックすると、実行の詳細な結果が表示されます。標準の指標に加えて、次の指標が表示されます。
- 失敗したターン
- すべてのターンの詳細のページ分けされたリスト。これには、実際のエージェントのレスポンスと想定されるエージェントのレスポンスの両方が含まれます。
ゴールデン テストケースでは、「安定したリプレイ」という用語が表示されることがあります。これは、テストが一貫した環境(コンテキストや入力の変更なし)で実行されたことを示します。
シミュレーション テストケースの場合、結果には、期待されるレスポンスとのターンバイターン比較ではなく、各目標の結果が表示されます。詳細については、シミュレーション結果をご覧ください。
AI を使用してテストケースを改善する(プレビュー)
必要に応じて、AI を使用して実行のトラブルシューティングを行い、エージェントの品質を向上させる方法を提案できます。AI の提案は、実行回数が 3 回以上の場合に最適になります。AI を有効にするには、評価するテストケースを選択し、[選択したテストを実行] をクリックします。表示されたウィンドウで、[AI で問題を見つける] の横にあるチェックボックスをオンにします。
実行が完了すると、結果ページに AI ベースの提案が表示されます。Gemini は、エージェントのパフォーマンスの側面を要約し、改善可能な領域をハイライト表示するダウンロード可能な loss_report を自動的に生成します。
AI が提案した修正はどのユーザーでも表示できますが、結果に基づいてアクションを実行できるのは、実行を開始したユーザーのみです。
[Gemini に相談] をクリックして、ヘルパー エージェントとやり取りします。最初に、モデルまたはエージェントの概要レベルの問題を説明する損失レポートが表示されます。ヘルパー エージェントにレポートの説明を依頼すると、レポートの要約と修正の提案が表示されます。修正を適用した後、ヘルパー エージェントに評価を再度実行するよう依頼できます。
インポートとエクスポート
評価テストケース、実行、結果は、YAML 形式または JSON 形式でインポートおよびエクスポートできます。インポートする際は、エクスポートされたデータで定義されているすべてのリソース(ツール、変数、サブエージェント)が受信エージェントに含まれていることを確認してください。
テストケースをエクスポートする手順は、次のとおりです。
- 1 つ以上のテストケースを選択します。
- [Export test cases] をクリックします。
- 添付する形式を選びます。
- zip ファイルがダウンロードされます。
テストケースをインポートする手順は、次のとおりです。
- [+ テストケースを追加] をクリックします。
- [Golden] を選択します。
- [次へ] をクリックします。
- zip ファイルをアップロードします。
- インポートで競合が発生した場合は、対処方法が案内されます。
- [作成] をクリックします。
評価の実行と結果をエクスポートするには:
- 1 つ以上の評価実行を選択します。
- [エクスポートを実行] をクリックします。
- 添付する形式を選びます。
- zip ファイルがダウンロードされます。
指標
各テストケースの結果には、選択したテストケースに対するエージェントのパフォーマンスを測定する一連の指標が含まれます。指標は、コンソールに表示されるように、ターンレベルまたは期待値(会話)レベルで計算されます。
いずれの場合も、[評価] タブの [設定] メニューで、実行パスに必要な値をカスタマイズできます。
Tool correctness(ツールの正確性)
ゴールデン、シナリオ、シミュレーションのテストケースに対して計算されます。この指標は、想定されるツール呼び出しとその想定されるパラメータ値が指定された場合に、一致した想定されるパラメータの割合を反映します。ツールの呼び出しが失敗した場合は 0、入力パラメータのないツールの呼び出しは 1 と評価されます。ゴールデン評価中に予期しないツール呼び出しが行われた場合、結果は失敗と見なされますが、ツールの正確性の値には影響しません。
ユーザーの目標達成度
シナリオとシミュレーションのテストケースで計算されます。ユーザー目標の達成度は、ユーザー シミュレーション評価用に設計されたバイナリ指標です。シミュレートされたユーザーが目標を達成したと判断したかどうかを測定します(0=いいえ、1=はい)。入力は、シミュレートされたユーザー構成と会話の文字起こしで定義された user_goal です。指定された user_goal で明示的または暗黙的な目標が指定されていない場合、出力スコアは -1 になります。
シミュレーションには、ユーザーの全体的な目標を記述する個別のフィールドがないため、この指標はテストケース名に照らして判断されます。シミュレーションには、ユーザーが全体として達成しようとしていることを説明する名前を付けます。
これは、シミュレーションの会話レベルのシグナルだけではありません。シミュレーションでは、期待値を設定することもできます。期待値は、トランスクリプト全体と照合され、結果の [Expectations] セクションに報告されます。これらは、シナリオで使用されるものと同じ期待値です。シナリオの期待値をご覧ください。ステップごとの結果は、達成した目標で報告されます。
達成した目標
シミュレーションの場合にのみレポートされます。会話に対して 1 つのスコアを付けるのではなく、シミュレーションの各ステップが完了したかどうかが個別に報告され、結果を説明する理由も示されます。コンソールでは、目標セクションの見出しに、完了したステップの数が合計数に対する割合として表示されます(例: Goals (2/3))。この数には、静的な発話ステップやイベント ステップなど、シミュレーションのすべてのステップが含まれます。
ステップは順番に試行されるため、完了していない最初のステップが失敗の原因であり、それ以降のステップは試行されません。
ハルシネーション
ゴールデン テストケースとシナリオ テストケースで使用できます。ハルシネーション スコアは、生成されたターンごとに計算されます。この指標は、エージェントがエージェントのコンテキストで正当化されない主張を行ったかどうかを反映します(0=いいえ、1=はい)。コンテキストは、会話の前のターン、セッション変数、ツール呼び出し、エージェントの指示で構成されます。この指標は、ツール呼び出しを含むターンに対してのみ計算されます。ツール呼び出し内のハルシネーションは検出されません。コンテキストとして提供されるツール呼び出しは正しいと想定されます。誤検出を最小限に抑えるため、レスポンスに事実に基づく主張が含まれていない場合や、すでに確立されている一般的な知識のみが含まれている場合、この指標はなしのスコアを返すことがあります。
ハルシネーションの有効と無効は、評価設定で切り替えることができます。
セマンティック一致
ゴールデン テストケースに対してのみ計算されます。シナリオ テストケースやシミュレーション テストケースに対しては計算されません。この指標は、観測されたエージェントの発話が、期待されるエージェントの発話とどの程度一致しているかを測定します。セマンティック一致はターンレベルで計算されます。戻り値の範囲は 0(完全に不一致または矛盾)から 4(完全に一致)です。
シナリオの期待値
シナリオとシミュレーションのテストケースで計算されます。この指標は、シミュレートされたユーザーが期待するエージェントの動作が満足できるものであったかどうかを測定します(0=いいえ、1=はい)。サポートされているシミュレートされたユーザーの期待値には、次の 2 種類があります。
- ツール呼び出しの期待値: ツール呼び出しの正確性と同様に計算されますが、次の例外があります。
- 結果は 0(いいえ)または 1(はい)です。
- 予期しないツール呼び出しはペナルティの対象になりません。期待値は、会話がシミュレートされたユーザーの期待を満たすために不可欠なツール呼び出しのセットを指定するためのものです。
- ツール呼び出しの入力期待値が満たされると、呼び出しはインターセプトされ、実行時にモックの戻り値に置き換えられます。
- エージェントの回答の期待値: 会話内のエージェントの回答に期待される文字列が含まれているかどうかを確認します。
タスクの完了
シナリオとシミュレーションのテストケースで計算されます。タスクの完了は、会話の品質を測定する指標です。ユーザーの目標が達成されたかどうかと、エージェントの行動が正しかったかどうかを共同で測定します。定義は次のとおりです。
User_Goal_Satisfied AND no_hallucinations_detected AND Expectations Satisfied
シミュレーションの場合、4 つ目の条件が追加されます。シミュレーションのすべてのステップも完了する必要があります。タスクの完了は、テストケースの結果の全体的な合格または不合格のステータスとしてコンソールに報告されます。
ペルソナ
ペルソナは、カスタマイズしてシナリオとシミュレーションのテストケースでエージェントのテストに使用できる、シミュレートされたユーザー ペルソナです。この機能は、エージェントが実行時に遭遇する可能性のあるタイプの人間ユーザーと適切にやり取りできるようにするために役立ちます。
ペルソナを選択しない場合、シナリオの結果ごとにランダムなペルソナが選択されます。
この機能は、テキスト入力と音声入力の両方で使用できます。
ペルソナを作成する
- ペルソナを作成するには、[評価] タブに移動し、[ペルソナ管理]([設定] アイコンの横)をクリックします。
- [+ ペルソナを追加] をクリックします。
- 表示されたメニューで、[名前]、[ユーザーのパーソナリティ]、追加の [ユーザー コンテキスト](年齢、場所、電話をかけている理由など)を入力します。
- [+ Add] をクリックします。
ペルソナを使用して評価を実行するには:
- メインの [評価] ページに戻り、1 つ以上のシナリオまたはシミュレーション テストケースを選択します。[選択したモデルを実行] をクリックします。
- 表示されたウィンドウで、[ペルソナ] プルダウン メニューから作成したペルソナを選択し、[実行] をクリックします。
評価とヒルクライミングのベスト プラクティス
モジュラー コンポーネントを使用して新しいエージェントを構築する場合は、エージェントのバリエーションごとに専用のテストケースを作成します。次に例を示します。
- 音声とチャット
- SMS とチャットの SDK
- ブランド A、B、C など
バリアント間の指示漏洩をチェックするための追加のケースを作成します。たとえば、チャット固有の手順は音声モードで実行されるケースには表示されず、その逆も同様です。
ケースが適切なエージェントに対して実行されていることを確認します。
- モダリティ(チャットと音声)またはチャネルの場合、適切なデプロイに対してケースを実行すると、自動的に整合性が確保されます。
- 各デプロイメントは、モダリティ、使用されるモデル、チャネルをカプセル化します。
- ビルダー定義の変数条件の場合、ケースの実行時に変数の値を挿入します。(例:
brand_name == "Cymbal Retail"、brand_name == "Acme Corp")。
お気に入りのコーディング エージェントに、すべてのテストケースが目標指標またはその他の品質目標を達成するまで、CX Agent Studio エージェントを繰り返し改善するよう依頼します。
- 同じエージェント指示に影響する異なるテストケースから提案された変更を調整するよう、コーディング エージェントに依頼します。複雑な競合を人間によるレビュー用にフラグ付けするよう指示することで、必要に応じてニュアンスのある入力を行うことができます。
- コーディング エージェントに、変更されたすべてのエージェント バリアントの差分を並べて表示するようリクエストします。これにより、選択された修正を理解して検証できます。
- 必要に応じてイテレーションを行う。 これらのイテレーションの具体的な性質は、CX Agent Studio エージェントの設計、コーディング エージェントの設計、使用するモデル、会話のフレーミングによって異なります。
- 実際の音声文字変換と結果のサンプルを手動で検証して、コーディング エージェントの結果が正確であることを確認します。
- コーディング エージェントに、ヒルクライム演習から欠落しているシナリオを見つけ、該当する場合は新しいケースを提案するよう指示します。必要に応じてイテレーションを続けます。