評価フロー

  • リリースバージョン: Zurich
  • 更新日 2025年09月02日
  • 所要時間:4分
  • 会話が完了したときに評価を実行する、評価実行のワークフロー。

    会話は次のロジックを使用して評価されます。
    1. 会話のキャプチャ:

      仮想エージェントとのエンドユーザーインタラクションはすべて、会話テーブル [sys_cs_conversation] に記録されます。ユーザーが会話を終了すると、レコードのステータスが [完了] に更新されます。

    2. 自動フロー評価トリガー:

      フロー名:評価を実行。

      Trigger condition (トリガー条件):
      • テーブル:会話テーブル [sys_cs_conversation]
      • ステータス:完了
      • デバイスタイプ:Web クライアント、Slack、Teams、ボット間、メッセンジャー

    実行順序:

    アクション 1:evalExecuteCondition
    • 会話参照を使用して evalExecuteCondition.executeEvaluation スクリプトインクルードを呼び出します。
    • 乱数 (1 〜 100) を生成します。≤10 (10% ランダムサンプリング) の場合にのみ続行します。
    • 結果:さらに処理する場合は true または false を返します。
    アクション 2:条件分岐
    • true の場合:次のアクションに進みます。
    • false の場合:評価は停止します。

    アクション 3:インタラクションテーブルを検索:

    会話のチャネルメタデータをインタラクションテーブルと照合して、関連レコードをフェッチします。

    アクション 4:アプリケーションスコープフィルター:

    インタラクションのアプリケーションスコープに 人事が含まれていない場合は、続行します。

    アクション 5:チャット分類子の評価
    • sys_cs_messageから最初のトランスクリプトを構築します。
    • チャットトピック分類子を使用して以下を判断します。
      • 会話を評価する必要がありますか? (ExecuteEvaluation:true/false)
      • トピック名
      • カテゴリ (IT/HR)
    • ExecuteEvaluation が true の場合:アクション 6 に進みます。

    アクション 6:buildTranscript:

    詳細なトランスクリプトの構築:
    • タグ: [ユーザー]:ユーザーメッセージ用、[仮想エージェント]:仮想エージェントメッセージ用。
    • 参照された ナレッジ 記事の場合:
      • 完全な記事本文をプルして Genius 結果を置き換え、[ 仮想エージェント]:ユーザークエリのヘルプ記事 :でタグ付けされ、Article_Start/Article_Endで区切られます。
      • ナレッジ記事が HR スコープ内にあるか、アクセスできない場合は、評価をスキップします。
      • ナレッジ記事の内容が >10,000 語の場合:10,000 で切り捨てます。
      • 添付ファイル (PDF/Word/Txt):代わりに Genius 結果を使用します。
    • 参照カタログアイテムの場合:

      名前、簡単な説明、説明を抽出 (注釈付き) [仮想エージェント]: 次のいずれかのオプションを選択してください。 引用番号あり。

    • 最初のメッセージがライブエージェントに対するものである場合、またはライブエージェントが最初の 120 ワード以内に呼び出された場合は、評価をスキップします。
    出力:
    • ExecuteEvaluation (true/false)
    • チャットトランスクリプト
    • ナレッジ 参照された記事またはカタログアイテム
    • 最初のライブエージェント呼び出しのSys_id (ある場合)
    • 呼び出すスキルのリスト (評価ダッシュボードのすべての評価スキル)
    • 追加の評価ログ

    アクション 7:条件分岐:

    ExecuteEvaluation が true の場合:アクション 8 に進みます。

    アクション 8:評価レコードを作成または更新:

    次の設定を使用して、評価 [sn_na_conv_eval_evaluation] テーブルにレコードを作成します。
    • ドキュメント会話:会話参照
    • ステータス:処理中
    • トピック、カテゴリ、 ナレッジ 記事またはカタログ参照、最初のライブエージェントsys_id、タイプ、開始したユーザー、メッセージログ

    アクション 9:スキルごとに:

    アクション 6 でフラグが付けられた各スキルに対して繰り返します。

    アクション 10:invokeApiDefinition
    • 入力:スキル名、会話、トランスクリプト、評価 ID
    • Now Assist スキル API を非同期に呼び出します。
    • 後処理は sys_generative_ai_response_validator で利用可能で、次の解析を実行します。
      • スコア
      • スコアの理由
      • 論拠の例
    • 解析されたデータは、評価メトリクス [sn_na_conv_eval_evaluation_metrics] テーブル (スコア、理由、例、および採点する理由全体 [スクラッチパッド]) に作成されます。

    アクション 11: 7 秒間待機してから、次のスキルに進みます。

    特殊な動作とエッジケース処理:
    • サンプリング:会話(ランダムに選択)の10%のみが評価されます。
    • チャネルフィルター:Web、Slack、Teams、ボットからボット、Messenger のみ。
    • アプリケーションスコープ:スコープ内に _hr_ が含まれるレコードを除外します。
    • ナレッジ 記事コントロール:HR の評価がないか、アクセスできません。記事 ナレッジナレッジ 記事サイズの制限、およびファイル処理。
    • 最初のライブエージェントの呼び出し:開始時または 120 語以内のライブエージェントにルーティングされた会話を除外します。
    • 要求完了スキルは、スコアがスロット入力とインテントの間で最低としてタグ付けされるビジネスルールの一部として追加されます。
    • レコードの理由は次のように追加されます。
      if (Slot filling score > Intent score) {
      Intent reason is used
      } else if (Slot filling score < Intent score) {
      Slot filling reason is used
      } else {
      Both are used
      }