メインコンテンツにスキップ

FinのEvals【ベータ】

Finがお客様に届く前に動作をテストする

対応者:Beth-Ann Sher

Evalsは現在クローズドベータです。早期アクセスに興味がある場合は、このベータリクエストフォームにご記入ください。Operator経由でEvalsを使用するには、Operatorへのアクセスも必要です。


Fin Evalsとは?

Fin Evalsを使って現実的なテスト会話を作成し、Finの設定で実行して自動的に合否結果を得られます。この記事ではEvalsとSimulationsの作成、手動またはOperator経由での実行、Scorecardsでの結果確認、問題を検出する回帰スイートの構築方法を説明します。

難しい返金リクエスト、怒ったお客様、またはProcedureに加えた変更がFinでどう処理されるかを推測する代わりに、現実的なテスト会話を作成しFinで実行して自動合否結果を得られます。変更のたびに同じテストセットを再実行すれば、Finが期待通りに動作しているか数分でわかります。

Fin Evalsは2つのシンプルな概念で構成されています:

  • Evalsはテストのテーマ別グループ(コンテナ)です。例:「返金リクエスト」「エスカレーションシナリオ」「トーンと親しみやすさ」など。

  • SimulationsはEval内の個別テストです。各Simulationはシミュレートされた顧客とFinとの現実的な複数ターン会話で、Finの動作を評価する基準が設定されています。

Evalを実行すると、その中のすべてのSimulationが自動的に実行され、設定した基準に基づく決定的チェックとAI判定の組み合わせで各Simulationの合否結果が得られます。

Fin Evalsインターフェースの概要。各Simulationの合否結果付きEvalsリストを表示。


Evalsを使う理由、タイミング、方法

なぜEvalsを使うのか?

Finの動作は固定されておらず、コンテンツ、Procedure、ガイダンス、応答時にアクセス可能なデータに依存します。これらの変更はFinの他の部分の動作に影響を与え、実際の顧客が問題に遭遇するまで気づきにくいことがあります。

Evalsは現実的な複数ターン会話でFinの動作を繰り返しチェックし、問題が実際の会話に届く前に検出する方法を提供します。

いつEvalsを使うべきか?

Finの動作に自信を持ちたいときはいつでもEvalを使いましょう:

  • 変更を出荷する前に:コンテンツ、ガイダンス、Procedure、またはFinの設定の何かに対して。

  • 修正後に:実際に問題を解決したことを確認するために。

  • 継続的に:既存のEvalsを定期的に再実行し、顧客が気づく前に予期しない変化を検出する回帰スイートとして。

  • Finを本番稼働させる前に:お客様が初めてFinとやり取りする前に設定が期待通りに動作しているか確認するために。

Evalsの整理方法

Simulationsをビジネスに合ったテーマでEvalにグループ化しましょう。ベータ顧客がよく使う出発点:

  • エスカレーションシナリオ:Finが人間に引き継ぐべき(または引き継ぐべきでない)状況。

  • トピックシナリオ:返金リクエストのような特定のトピックを様々なバリエーションでテスト。

  • 行動シナリオ:トピックに関係なく、Finが異なる状況でトーンやブランドを維持しているか確認。


OperatorでのEvalsの作成と分析

Operatorにアクセスできれば、EvalsとSimulationsの作成や実行後の結果分析が可能です。

OperatorでのEvalの作成方法

Operatorにアクセスし、ユースケースに合わせたEvalの作成を依頼してください。

返金リクエストシナリオ用のEval作成をOperatorに依頼するチャットインターフェースの画面

Simulations、Simulationチェック、ハンドオフチェックの内容を指示するか、Operatorに推測させることができます。作成後はレビューと承認のために表示されます。

レビューと承認の準備ができたSimulationsとハンドオフチェック付きの提案Evalを表示するOperator

OperatorでのEvalの実行方法

準備ができたら、OperatorにEvalの実行を依頼してください。

進行状況インジケーター付きで各Simulationがリアルタイム処理されるEval実行中のOperator画面

各Simulationの実行結果が表示されます。

合格、不合格、エラーのステータスと各結果のチェックを示すSimulation結果テーブルのOperator画面

すべてのSimulationが実行されると、Operatorが結果をまとめて説明します:

  • 結果テーブル — 各Simulationの総合結果(合格、不合格、エラー)とその理由となる個別チェックを表示。例では「Bulk workspace export」がハンドオフチェック失敗(Finが不適切にエスカレーション)で不合格、Finの返信チェックは合格でした。

  • 概要 — 見出しの件数(3合格、1不合格、2エラー)と、何がなぜ問題だったかのわかりやすい説明。ここではOperatorが「failure」という単語があると人間にルーティングするガイダンスルールに失敗したエクスポートを追跡しています。

Operatorは結果を報告するだけでなく、次のアクションを提案し、実行も申し出ます。

Evalを実行するのにOperatorは必要ありません。Fin AI Agent > Test > Evalsにアクセスして自分で実行してください。

実行準備ができたSimulations付きEvalを表示し、右上に実行ボタンがあるFin Evalsタブ


ステップバイステップ:Evalの作成と実行

1. Evalを作成する

Fin AI Agent > Test > Evalsにアクセスし、New evalをクリックします。わかりやすく説明的な名前(最大250文字)を付けてください。後で再実行するため、何をカバーしているか一目でわかる名前が望ましいです(例:「返金リクエスト - 通常経路とエッジケース」)。

この段階でオプションとしてScorecardを添付し、合否テストに加えてFinの応答品質を定義した基準で測定できます。Scorecardsによる品質評価を見る。

名前フィールド、オプションのScorecard選択、説明フィールドがある新規Eval作成画面

2. EvalにSimulationsを追加する

Evalの中で、New Simulationを選択します。各Simulationには以下を入力します:

タイトルを追加しない場合、Simulationは会話内の最初の顧客メッセージから自動的に名前が付けられます。

新しいSimulationエディターには、シミュレートされた顧客メッセージ、フォローアップ指示、コンテキストのフィールドが表示されます

  • シミュレートされた顧客の発言: シミュレートされた顧客がFinと交わす会話です。会話を複数ターンにしたい場合はフォローアップ指示を追加し、顧客側の会話を生成するための十分なコンテキストを提供します。

    返金リクエストのシナリオとフォローアップ指示が入力された顧客メッセージフィールドを表示するSimulationエディター

  • Finが持つべきコンテキスト: 例えば、顧客属性やデータコネクターの状態など、テストが現実的なシナリオを反映するようにします。

    顧客属性やデータコネクターの状態を追加できるコンテキストフィールドを表示するSimulationエディター

  • Finの動作をどのように評価するか:

    • Simulationチェック — Finが合格するために言うべきことや行うべきこと。

      以下のいずれか、または複数を追加してください:

      • Finの返信 — Finの回答があなたの指定した条件を満たすこと。

      • Procedureの起動 — Finが特定のProcedureを開始したこと。

      • Procedureの切り替え — Finが会話の途中であるProcedureから別のProcedureに移ったこと。

      • Data connector — Finが特定のデータコネクターを呼び出したこと。

      Simulationチェック(Finの返信、Procedureの起動)とHandoffチェックオプションを表示するSimulationエディター
    • Handoffチェック — 会話終了時にハンドオフについて何が正しいべきか。以下から選択してください:

      • ハンドオフなし — Finがチームやworkflowに引き継ぐことなく解決したこと。

      • チームまたはチームメイトにハンドオフ — Finが回答できなかったか、あなたのハンドオフガイダンスが適用されたこと。

      • workflowにハンドオフ — Finが会話をworkflowに引き継いだこと。(注:ハンドオフ後の会話はシミュレートされません。)

注意:

  • 現在、各Evalは最大50のSimulationをサポートしています。既存のものを削除するまで追加できません。

  • 実際のinbox会話からSimulationを作成することもできます。詳細は以下の実際の会話からSimulationを作成するセクションを参照してください。

  • 近日公開予定:

    • CSVからの一括インポート機能により、すべてのSimulationを手動で一つずつ作成する必要がなくなります。

3. Evalを実行する

Simulationが揃ったら、Evalを実行します。Finはグループ内のすべてのSimulationを処理し、以下を返します:

  • 各Simulationに対する合否結果。これはあなたが定義したSimulationチェックとHandoffチェックに基づいています。

  • すべてのSimulation実行の完全な会話記録。

  • Finの思考過程や使用したツール・情報を示すイベントログ。

  • 各SimulationのHandoffチェック結果: Finが問い合わせを処理したか、チームまたはworkflowに引き継いだか。これに加え、Simulationチェックで設定したProcedureの起動やデータコネクターの呼び出しなどの詳細も確認できます。

単一の会話で複数のProcedureをまたぐ必要がある場合も、Evalは対応します。シミュレートされた会話が進むにつれてFinがProcedureを切り替える様子を、実際の顧客対応と同様に確認できます。

Simulationがエラーを示す場合は、会話が完了できなかったことを意味します。Simulationの設定(顧客メッセージ、コンテキスト、チェック)に誤りがないか確認してください。失敗の場合は、トランスクリプトとイベントログを開き、Finの動作が設定したチェックとどこで異なったかを確認してください。

4. 必要に応じて再実行する

Finのコンテンツ、Procedure、ガイダンスに変更を加えた後は、既存のEvalを再実行して回帰をチェックしてください。すべてのSimulationが保存され再利用可能なため、テストシナリオを一から作り直す必要がなく、数秒で済みます。これにより、時間をかけて本格的な回帰テストスイートを構築できます。


実際の会話からSimulationを作成する

最も価値のあるテストの一部は、すでに起こった会話から得られます。Finの回答が十分でなかった実際の会話を見つけたら、その瞬間をリプレイに変え、Finを改善するたびに繰り返し実行して正しい回答になるまで確認できます。

リプレイは、選択したFinの回答までの会話のスナップショットをキャプチャし、それ以前のターンを固定します。Finはその固定された開始点に対して再実行され、現在の回答を確認できます。Finの設定を変更して再実行し比較することで、回答前のすべてが固定されているため、動くターゲットではなく特定の回答だけをテストできます。

リプレイの作成方法

  1. inboxで会話を開き、テストしたいFinの回答を見つけます。

  2. そのFinの回答のオーバーフローメニュー(...)を開き、「Add Fin answer to Evaluation」を選択します。(この操作はリプレイ可能なFinの回答にのみ表示されます。)

    Finのinbox会話でオーバーフローメニューが開かれ、「Add Fin answer to Evaluation」オプションが表示されている様子

  3. 既存のEvalを選択して追加するか、新しいEvalを名前を付けて作成します。

    リプレイを追加する既存のEval一覧を表示し、新しいEvalを名前で作成するオプションがあるモーダル
  4. リプレイはそのEval内のSimulationとして保存され、顧客の最初のメッセージがタイトルになります。すぐに実行するか、後でEval全体の一部として実行できます。後で実行する場合は、Fin AI Agent > Test > Evalsに移動し、Evalを開いてRunをクリックしてください。

    顧客の最初のメッセージをタイトルにしたSimulationとして保存されたリプレイを表示するEval詳細ページ

リプレイを使ってFinの回答を修正・再テストする方法

実際の会話から保存したリプレイSimulationを使って、問題を診断し修正するワークフローは以下の通りです:

  • 現在の設定で固定された会話に対してFinがどのように回答するかを確認するために実行します。

  • 内容、Procedure、ガイダンスを更新し、回答が改善されたかどうかを確認するために再実行します。

  • Simulationチェック、Handoffチェック、またはスコアカードを追加して「修正済み」の定義を明確にし、判断ではなく明確な合否結果を得られるようにします。

  • シミュレーションは合格したら保持してください。これにより回帰テストとしても機能します:将来の変更後に再実行して修正が維持されていることを確認します。

これは実際に起こったことから始めるため、ゼロからシナリオを書く代わりに、実際のミスを恒久的なテストに変える最速の方法です。

注意:リプレイは選択した単一のFin回答を再実行し、会話の前のターンは固定されます。会話の次に何が起こるかをシミュレートしたい場合は、Simulationエディターで「フォローアップ指示」を追加してください。これにより、顧客が次に何を言うかをシステムに伝え、Finが応答するターンを持てます。


スコアカードによる品質評価

HandoffチェックとSimulationチェックはFinが正しい動作をしたかを示します。スコアカードはその実行の良さを示します。

デフォルトでは、すべてのSimulationはHandoffチェック(Finが回答したか、チームまたはWorkflowsに引き継いだか)と設定したSimulationチェック(例:特定のProcedureが起動されたか、データコネクターが呼ばれたか)で評価されます。これはFinの動作に対する合否判定です。

スコアカードはEvalの合否チェックに定性的な評価層を追加します。トーン、ブランドセーフティ、効率など、二元的な結果にきれいに対応しない側面を測定します。スコアカードはMonitorsと共有されるため、変更がライブになる前に同じ品質基準でテストし、Monitorsは変更後にそれを強制します。

スコアカードの内容

スコアカードは1つ以上の基準で構成されます。これは関心のある評価軸(例:「効率」「明確化」「エスカレーションの容易さ」)です。各基準には以下があります。

  • 名前:結果に表示される短いラベル。

  • 説明:評価対象と評価方法。これはAIジャッジが従う指示です。既存のオプションを使うか、独自作成時は具体的に記述してください。

  • 評価オプション:可能なスコア(最低2つ)で、それぞれ名前(例:「良い」「普通」「悪い」)と数値(例:100%、50%、0%)があります。

Evalでは基準はAIジャッジによって自動的にスコア付けされ、Simulationの他の部分と共に評価されます。

スコアカードのスコア設定方法

Evalにスコアカードを添付すると、各基準が全体スコアにどう寄与するか設定できます。

  • 重み付け:各基準に重要度を反映する重みを付けます。重みは比例的で、重み2の基準は重み1の基準の2倍の影響を持ちます。

  • 重要基準:コンプライアンスや安全性など譲れない基準を重要基準としてマークします。重要基準で不合格評価を受けると、他のスコアに関わらず全体の定性的レビューが不合格になります。

  • 合格閾値:Simulationが品質で合格するための最低総合スコアを設定します。

スコアカード結果の読み方

Evalが実行されると、各Simulationは従来通りHandoffチェックとSimulationチェックの結果に加え、スコアカードスコアと各基準に対するジャッジの評価と理由を表示します。ジャッジの理由が示されるため、なぜその評価になったかが分かり、すぐに修正に活かせます。

AIジャッジの評価と理由付きで基準ごとのスコアカードスコアを示すSimulation結果

ヒント:あいまいな基準はあいまいなスコアを生みます。新しいレビュアーに説明するように各基準を書き、「良い」とは何か、スコアを落とす要因は何かを明確にしてください。効果的なMonitor & Scorecard基準の書き方を参照してください。


EvalはProcedure Simulationsを補完します

Procedure Simulationsは引き続き有効で、特定の目的には最適なツールです:単一のProcedureを単独でテストすること。すべてのテストに成功基準と結果基準を定義する必要があり、個別のProcedureが正しく動作するか検証するのに理想的です。

EvalはProcedure Simulationsの範囲を超えます。Procedure Simulationが単一のProcedureに限定されるのに対し、Eval SimulationはFinの全設定をエンドツーエンドで検証できます。複数のProcedure、コンテンツ、ガイダンス、データコネクターをまたいだリアルな会話を通じて、実際の顧客会話のように動作します。

一緒に使いましょう:

  • Procedure Simulationsは個別のProcedureを構築・検証する際に使用します。

  • EvalsはそのProcedureがライブになった後、Finの設定全体との連携を含めて顧客の全体的な体験を検証します。


Batch Testの代わりにEvalsを使う

現在、多くのチームはBatch Testを使ってFinを検証しています。これは単一ターンの情報質問を一括で行い、各回答を手動でGood、Acceptable、Poorに評価する方法です。

Fin EvalsはBatch Testの機能をすべて備え、それ以上のことができます。

以下の表はBatch TestとFin Evalsを会話タイプ、スコアリング、回帰テスト、グルーピングの4つの観点で比較しています。

Batch Test

Fin Evals

会話タイプ

単一ターンの情報質問のみ

複数ターンの会話全体

スコアリング

手動評価(Good/Acceptable/Poor)

自動評価—設定した基準に基づく決定的チェックとAIジャッジによる評価

回帰テスト

手動で再実行

回帰スイートとしてオンデマンドで再実行

グルーピング

最大50問までのグループ化

最大50のSimulationを含むEvalsにグループ化し、自由に整理可能

現在Batch Testを使っている場合は、ベータ期間中に同等のテストシナリオをEvalsで作成することをお勧めします。Evalsはより速く、自動化され、より現実的な方法で同じ信頼性以上を得られます。


Simulationの使用制限

Evalsで実行できるSimulationの数には月ごとの制限があります。この制限はワークスペース単位で適用され、毎月のカレンダー月の初日にリセットされます。

各ワークスペースには月ごとのSimulation実行数の割り当てがあります。割り当てはワークスペースの会話量セグメントに基づき、大規模な顧客ほど多くの割り当てを受けます。

シミュレーション許容量は、あなたのワークスペースのIntercomでの会話量に基づいています。

  • 過去の暦月の会話数を使って、ワークスペースをセグメントに割り当てます。

  • セグメントは毎月再評価され、許容量は直近の月の会話量を反映します。

  • 会話量が増減した場合、次の月次サイクルで許容量が変わることがあります。

以下の表は、ワークスペースの会話量セグメントごとの月間シミュレーション実行許容量を示しています。

会話量セグメント

月間シミュレーション上限

1K未満

250

1K〜15K

1,000

15K〜100K

1,750

100K〜1M

5,000

1M以上

12,500

使用状況の監視

テスト管理を支援するため、Evaluationsタブ内に視覚的な指標が表示されます。

使用警告

ワークスペースが月間上限の80%に達すると、黄色の警告バナーが表示されます。現在の使用量(例:「850/1000」)とリセット日時が示されます。

Evalsタブにて、850/1000のシミュレーション使用時に黄色の警告バナーと月次リセット日が表示されている状態

上限到達

月間上限の100%に達すると、赤いエラーメッセージが表示されます。次の月の開始までEvals内でのシミュレーション実行はできません。

Evalsタブにて、月間シミュレーション上限に達し、これ以上の実行ができないことを示す赤いエラーバナーが表示されている状態


ベータ版について知っておくべき重要なポイント

Fin Evalsはクローズドベータ版で、現在積極的に開発中です。現時点での注意点は以下の通りです。

  • Eval自体を超えた整理機能はまだありません。チームや所有者ごとにEvalsをグループ化するフォルダ構造は現在ありません。

  • 製品内注釈機能がまもなく登場します。シミュレーションに簡単なメモを追加できるようになりますが、レビュアーが結果に同意または不同意かを記録する専用機能はまだありません。

  • 事前構築されたテンプレートはまだありません。プロンプトインジェクションや一般的なエッジケース質問などの共通テストカテゴリには、すぐに使える出発点がなく、現時点では一から作成する必要があります。

  • Workflowsは現時点では対象外です。Evalsは現在、Finの回答設定(コンテンツ、手順、ガイダンス、対象者、データコネクタ)をカバーしていますが、Workflowsは含まれていません。

  • 1つのEvalにつき最大50シミュレーション、CSVインポートは最大50行までです。


合否の理解:デフォルトの「ハンドオフなし」動作

明示的なHandoffチェックもシミュレーションチェックもないシミュレーションを追加した場合、Evalsはデフォルトで「ハンドオフなし」基準で評価します。つまり、Finがチームやworkflowにハンドオフせずに会話を解決した場合のみ合格となります。

このデフォルトはシミュレーション設定UIには表示されないため、Finがエスカレーションした場合に意図せずシミュレーションが失敗することがあります。失敗理由が不明な場合は、Handoffチェックが設定されているか確認してください。設定がなければ、デフォルトのハンドオフなしルールが原因です。

ヒント:合否結果が意図を反映するよう、必ず各シミュレーションに明示的なHandoffチェックを追加してください。

Fin Evalsへのフィードバックはありますか?ぜひアカウントマネージャーまでお知らせください。

こちらの回答で解決しましたか?