評価

評価は、エージェントのパフォーマンスをテストし、特定の状況で想定どおりに動作していることを確認するための重要なツールです。評価を使用すると、テストを自動化し、変更後の機能低下を検出し、エージェントの回答の品質を測定してエージェントの品質を向上させることができます。

まず、エージェント ビルダーの上部にある [評価] ボタンをクリックします。

評価のコンセプト

テストケース: 各テストケースは、エージェントのパフォーマンスを評価するために設計された、特定の自己完結型のテスト シナリオまたはプロンプトです。次の 2 種類のテストケースを作成できます。

  • シナリオ: テストをブートストラップし、包括的なテスト カバレッジを確保するための AI 搭載機能。ユーザーの目標を記述すると、システムがユーザーを自動的にシミュレートし、会話を生成して、エージェントがシナリオに堅牢に対応できるかどうかをテストします。シナリオは、テストを行い、ゴールデン会話を定義するのに役立ちます。
  • ゴールデン: 回帰テストに最適です。特定の「理想的な」会話パスを指定すると、評価によってエージェントの動作(ツール呼び出しを含む)がこの理想的なパスに沿っているかどうかがチェックされます。

実行: 評価の実行は、テスト対象のエージェントのパフォーマンスに対するゴールデン テストケースとシナリオ テストケースのセットの完全な単一実行を表します。各実行には 1 つ以上のテストケースを含めることができます。

結果: テストケースの結果とは、1 回の実行で特定のテストケースが 1 回実行されたことを指します。1 回の評価実行中にテストケースが複数回実行される場合(一貫性や不安定さなどを確認するためなど)、個々の実行は個別の結果となります。結果は、各テストケース行の列に長方形のアイコンとして表示されます。実行が失敗した場合は赤い X、合格した場合は緑色のチェックマークが表示されます。

タグ: テストケースをタグでグループ化して、管理を容易にできます。

テストケースを作成する

エージェントのテストケースを作成してアクセスするには、エージェント ビルダーの上部にある [評価] ボタンをクリックします。ゴールデン ベースまたはシナリオ ベースのテストケースを作成して管理できます。

シナリオ

シナリオベースのテストケースでは、AI を使用して、定義した大まかなユーザー目標に基づいてさまざまな会話を自動的に生成します。これらのテストケースでは、特定のゴールデン会話を提供するのではなく、生成されたシナリオを選択するか、テストする必要がある特定のシナリオを記述します。これは、考えられるすべての会話パスを手動で作成することなく、エッジケースを探索し、エージェントの堅牢性をテストするのに役立つ強力なツールです。

これらのシナリオがうまく機能したら、ゴールデン会話として保存できます。

シナリオを作成するには:

  1. [シナリオを作成] をクリックします。複数のシナリオが提案されます。
  2. 選択に基づいてシナリオを生成することも、新しいシナリオを最初から作成することもできます。

シナリオのリストを表示しているときに、シナリオをクリックすると、各シナリオの詳細と会話リストが表示されます。

シナリオをゴールデン会話として保存するには:

  1. シナリオを選択します。
  2. 右上にあるメニュー ボタンをクリックします。
  3. [Save as golden conversation](ゴールデン会話として保存)を選択します。

シナリオのユーザーの目標

各シナリオには、エージェント アプリケーションを使用する際のエンドユーザーの目標を説明するユーザー目標があります。次に例を示します。

Securely book a specific room at a chosen hotel and receive a confirmation.

CX Agent Studio は、ユーザーの目標に基づいて、評価に使用される会話を自動的に生成します。

シナリオ変数

シナリオを定義するときに、シナリオで使用する変数を指定できます。

シナリオの期待事項

評価を行うには、テストケースの期待値を定義します。

期待値には次の 2 種類があります。

  • メッセージ: 想定されるエージェントの回答。
  • ツール呼び出し: 想定される入力と出力を含むツール呼び出し。

期待値には次の条件を設定できます。

  • 必須
  • 次のものを含んではならない
  • ツールの呼び出し後
  • 変数の値

期待値を作成するには:

  • 特定のシナリオをクリックして、詳細を開きます。
  • [期待値] セクションで、[すべて表示] をクリックします。
  • インターフェースの手順に沿って、シナリオの期待値を作成します。

Golden

これらのテストケースは、回帰テストの理想的な会話パスを定義するために使用されます。これにより、エージェントを更新しても、コアとなる重要な会話パスが壊れることはありません。ゴールデン会話を作成するには、複数の方法があります。

シミュレータから会話をインポートするには:

  1. シミュレータを使用して会話を開始します。
  2. シミュレーターの右上隅にある縦に 3 つ並んだ点(その他アイコン)をクリックして、シミュレーター メニューを表示します。
  3. [ゴールデンとして保存] をクリックします。
  4. ゴールデン テストケースの名前を入力し、[保存] をクリックします。[評価] タブに表示されます。

会話履歴からテストケースを作成するには:

  1. [評価] タブに移動します。
  2. [+ テストケースを追加] をクリックします。
  3. [Golden] を選択します。
  4. [次へ] をクリックします。
  5. [会話履歴から選択] をクリックします。
  6. 表示されたウィンドウで、ゴールデン テストケースとして保存する会話を選択します。会話 ID で検索することもできます。
  7. 秘匿化を有効にしている場合は、不足している情報を処理する前に、エージェントの回答と変数の秘匿化を確認します。
  8. [追加] をクリックします。

テストケースをゼロから作成するには:

  1. [評価] タブに移動します。
  2. [+ テストケースを追加] をクリックします。
  3. [Golden] を選択します。
  4. [次へ] をクリックします。
  5. [Create from scratch] をクリックします。
  6. 表示されたウィンドウで、テストケースの表示名を追加します。
  7. 必要に応じて、ユーザー入力とエージェントの期待値のテキストを追加します。[+ ユーザー入力] と [+ Add agent expectation] をクリックして、回答を追加します。[+ ターンを追加] をクリックして、テストケースに新しい会話ターンを追加します。
  8. [作成] をクリックして、テストケースのリストにゴールデン テストケースを追加します。

シナリオ テストケースのシミュレートされた会話からテストケースを作成するには:

  1. 評価実行結果ページに移動します。
  2. 選択した会話の右にあるメニュー アイコン(縦に 3 つ並んだ点)をクリックし、[Save as golden conversation] をクリックします。

ファイルからテストケースをバッチでアップロードするには:

ファイル形式と CSV テンプレートの詳細については、ゴールデン テストケースの CSV 形式のページをご覧ください。

ゴールデン エクスペクテーション

評価を行うには、ゴールデン テストケースの期待値を定義します。期待値とは、会話の特定の時点でエージェントから期待される特定の結果のことです。評価では、エージェントの実際の動作がこれらの期待値と比較されます。

期待値は次のいずれかのタイプになります。

  • メッセージ: エージェントからエンドユーザーへの想定されるテキスト応答。評価では、エージェントの回答がこの期待値と意味的に一致するかどうかを確認します。
  • ツール呼び出し: エージェントが特定のツールとレスポンスを呼び出すという期待値。ツール呼び出しの想定される入力引数を指定することもできます。
  • エージェントのハンドオフ: エージェントが会話を人間のエージェントまたは別の bot に転送することを想定しています。

期待値を作成するには:

  1. 特定のゴールデン テストケースをクリックして、詳細を開きます。
  2. [詳細] セクションで、[ゴールデンを表示] をクリックします。
  3. インターフェースの手順に沿って、期待事項を追加または変更します。

評価の設定

テストケース リストのヘッダー行で、評価設定を構成できます。

  • Goldens:
    • 合格/不合格の基準: シミュレートされた会話が合格か不合格かを判断するロジックを設定します。
    • ターンレベル: これらのルールは、個々のターンを評価します。これらのしきい値のいずれかが満たされていない場合、その特定の指標は失敗として赤色で表示されます。
      • セマンティック類似度: セマンティック類似度のしきい値。
      • Tool correctness(ツールの正確性): ツールの正確性のしきい値。
      • ハルシネーション: 無効にすると、ハルシネーションは合格/不合格の対象外になります。
    • 期待値レベル: これらのルールは、ターン内の期待値を判断します。これらのしきい値のいずれかが満たされていない場合、その特定の指標は失敗として赤色で表示されます。
      • Tool correctness(ツールの正確性): ツールの正確性のしきい値。
    • ゴールデン ラン メソッド: ナイーブなリプレイ検証と安定したリプレイ検証のどちらかを選択します。
    • ツールのフェイク: 実際の本番環境 API 呼び出しの代わりに、モックデータを使用します。
  • Scenarios:
    • シナリオの合格/不合格の基準: シミュレートされた会話が合格か不合格かを判断するロジックを設定します。
    • 会話の開始者: 会話を開始するユーザーまたはモデルを設定します。
    • ツールのフェイク: 実際の本番環境 API 呼び出しの代わりに、モックデータを使用します。
  • 音声評価
    • 音声評価の録音

評価を実行する

評価を実行するには、テストケースの行にある実行ボタンをクリックするか、複数のテストケースを選択して実行します。

複数のバージョンを保存している場合は、使用するエージェント バージョンを選択するか、実行用に下書きエージェントを新しいバージョンとして自動的に保存できます。

評価の実行後、指標が更新され、結果が表示されます。

特定の実行評価をクリックすると、実行の詳細な結果が表示されます。標準の指標に加えて、次の指標が表示されます。

  • 失敗したターン
  • すべてのターンの詳細のページネーション リスト。実際のエージェントの応答と想定されるエージェントの応答の両方が含まれます。

ゴールデン テストケースでは、「安定した再生」という用語が表示されることがあります。これは、テストが一貫した環境で実行されたことを明確にするものです(コンテキストや入力の変更がないなど)。

AI を使用してテストケースを改善する(プレビュー)

必要に応じて、AI を使用して実行のトラブルシューティングを行い、エージェントの品質を向上させる方法を提案できます。AI による提案は、実行回数(実行数)が 3 回以上の場合に最適です。AI を有効にするには、評価するテストケースを選択して、[選択したものを実行] をクリックします。ポップアップ表示されたウィンドウで、[AI で問題を検出する] の横にあるチェックボックスをオンにします。

実行が完了すると、結果ページに AI ベースの提案が表示されます。Gemini は、エージェントのパフォーマンスの側面を要約し、改善できる領域をハイライト表示するダウンロード可能な loss_report を自動的に生成します。

AI が提案した修正はどのユーザーでも確認できますが、結果に基づいてアクションを実行できるのは、実行を開始したユーザーのみです。

[Gemini に質問] をクリックして、ヘルパー エージェントとやり取りします。最初に、モデルまたはエージェントのハイレベルな問題について説明する損失レポートが表示されます。ヘルパー エージェントにレポートの説明を依頼できます。レポートが要約され、修正案が提示されることがあります。修正が適用されたら、ヘルパー エージェントに評価の再実行を依頼できます。

インポートとエクスポート

評価のテストケース、実行、結果は、YAML 形式または JSON 形式でインポートおよびエクスポートできます。インポートする際は、エクスポートされたデータで定義されているすべてのリソース(ツール、変数、サブエージェント)が受信側エージェントに含まれていることを確認してください。

テストケースをエクスポートする手順は、次のとおりです。

  1. 1 つ以上のテストケースを選択します。
  2. [テストケースをエクスポート] をクリックします。
  3. 添付する形式を選びます。
  4. zip ファイルがダウンロードされます。

テストケースをインポートする手順は、次のとおりです。

  1. [+ テストケースを追加] をクリックします。
  2. [Golden] を選択します。
  3. [次へ] をクリックします。
  4. zip ファイルをアップロードします。
  5. インポートで競合が発生した場合は、その処理方法が案内されます。
  6. [作成] をクリックします。

評価実行と結果をエクスポートするには:

  1. 1 つ以上の評価実行を選択します。
  2. [実行をエクスポート] をクリックします。
  3. 添付する形式を選びます。
  4. zip ファイルがダウンロードされます。

指標

各テストケースの結果には、選択したテストケースに対するエージェントのパフォーマンスを測定する一連の指標が含まれています。指標は、コンソールに示されているように、ターン単位または予測(会話)単位で計算されます。

いずれの場合も、[評価] タブの [設定] メニューで、実行パスに必要な値をカスタマイズできます。

Tool correctness(ツールの正確性)

ゴールデン テストケースとシナリオ テストケースについて計算されます。この指標は、想定されるツール呼び出しとその想定されるパラメータ値が与えられた場合に、一致した想定されるパラメータの割合を反映します。ツール呼び出しがなかった場合は 0 点、入力パラメータのないツール呼び出しがあった場合は 1 点となります。ゴールデン評価中に予期しないツール呼び出しが行われた場合、結果は失敗と見なされますが、ツールの正確性の値には影響しません。

ユーザーの目標達成度

シナリオごとに計算されます。ユーザー目標達成度は、ユーザー シミュレーション評価用に設計されたバイナリ指標です。シミュレートされたユーザーが目標を達成したと考えるかどうかを測定します(0=いいえ、1=はい)。入力は、シミュレートされたユーザー構成と会話の文字起こしで定義された user_goal です。指定された user_goal で明示的または暗黙的な目標が指定されていない場合、出力スコアは -1 になります。

ハルシネーション

ゴールデン テストケースとシナリオ テストケースで使用できます。ハルシネーション スコアは、生成されたターンごとに計算されます。この指標は、エージェントがコンテキストで正当化されない主張を行ったかどうかを反映します(0=なし、1=あり)。コンテキストは、会話の前のターン、セッション変数、ツール呼び出し、エージェントの指示で構成されます。この指標は、ツール呼び出しを含むターンに対してのみ計算されます。ツール呼び出し内のハルシネーションは検出されません。コンテキストとして提供されたツール呼び出しは正しいと想定されます。誤検出を最小限に抑えるため、回答に事実に基づく主張が含まれていない場合や、すでに確立されている一般的な知識のみが含まれている場合、指標は N/A のスコアを返すことがあります。

ハルシネーションは、評価設定で有効または無効にできます。

セマンティック マッチ

ゴールデン テストケースに対して計算されます。この指標は、観測されたエージェントの発話が、期待されるエージェントの発話とどの程度一致するかを測定します。セマンティック マッチはターンレベルで計算されます。戻り値の範囲は、0(完全に矛盾している)から 4(完全に一貫している)です。

シナリオの期待事項

シナリオごとに計算されます。この指標は、シミュレートされたユーザーが想定したエージェントの動作が満足のいくものだったかどうかを測定します(0=いいえ、1=はい)。次の 2 種類のシミュレートされたユーザーの期待値がサポートされています。

  • ツール呼び出しの期待値: ツール呼び出しの正しさと同様に計算されますが、次の例外があります。
    • 結果は 0(いいえ)または 1(はい)のいずれかです。
    • 予期しないツール呼び出しはペナルティの対象になりません。期待値は、シミュレートされたユーザーの期待を満たすために会話に不可欠なツール呼び出しのセットを指定するためのものです。
    • ツール呼び出しの入力の期待値が満たされると、呼び出しがインターセプトされ、実行時にモックの戻り値に置き換えられます。
  • エージェントの回答の期待値: 会話内のエージェントの回答に期待される文字列が含まれているかどうかを確認します。

タスクの完了

シナリオごとに計算されます。タスク完了は、会話の質を測る指標です。ユーザーの目標が達成されたかどうかと、エージェントの行動が正しかったかどうかを同時に測定します。次のように定義されます。

User_Goal_Satisfied AND no_hallucinations_detected AND Expectations Satisfied

ペルソナ

ペルソナは、カスタマイズして シナリオ テストケースでエージェントのテストに使用できる、シミュレートされたユーザー ペルソナです。この機能は、エージェントが実行時に遭遇する可能性のある人間のユーザーの種類と適切にやり取りできるようにするために役立ちます。

ペルソナを選択しない場合、シナリオの結果ごとにランダムなペルソナが選択されます。

この機能は、テキスト入力と音声入力の両方で使用できます。

ペルソナを作成する

  1. ペルソナを作成するには、[評価] タブに移動し、[ペルソナ管理](設定アイコンの横)をクリックします。
  2. [+ ペルソナを追加] をクリックします。
  3. ポップアップ メニューで、名前、ユーザーの個性、追加のユーザー コンテキスト(年齢、場所、電話をかけてきた理由など)を入力します。
  4. [+ Add] をクリックします。

ペルソナを使用して評価を実行するには:

  1. メインの [評価] ページに戻り、1 つ以上のシナリオ テストケースを選択します。[選択したものを実行] をクリックします。
  2. ポップアップ表示されたウィンドウで、[ペルソナ] プルダウン メニューから作成したペルソナを選択し、[実行] をクリックします。

評価とヒルクライミングのベスト プラクティス

モジュール式コンポーネントを使用して新しいエージェントを構築する場合は、各エージェント バリアント専用のテストケースを作成します。例:

  • 音声とチャット
  • SMS とチャットの SDK
  • ブランド A、B、C など

追加のケースを作成して、パターン間の命令漏洩を確認します。たとえば、音声モードで実行されるケースではチャット固有の手順が表示されず、その逆も同様です。

ケースが適切なエージェントに対して実行されていることを確認します。

  • モダリティ(チャットと音声)またはチャネルの場合、適切なデプロイに対してケースを実行すると、自動的に調整されます。
  • 各デプロイには、モダリティ、使用されるモデル、チャネルがカプセル化されます。
  • ビルダー定義の変数条件の場合、ケースの実行時に変数値を挿入します。(例: brand_name == "Cymbal Retail"、brand_name == "Acme Corp")。

お気に入りのコーディング エージェントに、すべてのテストケースが目標指標やその他の品質目標を満たすまで、CX Agent Studio エージェントを繰り返し改善するよう依頼します。

  • 同じエージェント手順に影響するさまざまなテストケースから提案された変更を調整するよう、コーディング エージェントに依頼します。複雑な競合を人間による審査用にマークするよう指示します。これにより、必要に応じてニュアンスのある入力を提供できます。
  • コーディング エージェントに、変更を加えたすべてのエージェント バリアントの差分を並べて表示するようリクエストします。これにより、選択した修正を理解して検証できます。
  • 必要に応じてイテレーションを行います。これらのイテレーションの具体的な性質は、CX Agent Studio エージェントの設計、コーディング エージェントの設計、使用されるモデル、会話のフレーミングによって異なります。
  • 実際の文字起こしと結果のサンプルを手動で検証して、コーディング エージェントの結果が正確であることを確認します。
  • コーディング エージェントに、ヒルクライミング演習から欠落しているシナリオを見つけ、該当する場合は新しいケースを提案するように指示します。必要に応じてイテレーションを続行します。