エージェントテスト
エージェントテスト
自動テストでエージェントの動作に確信を持つ
エージェントテストでは、デプロイ前に会話応答、ツールの使用、複数ターンにわたる最終結果を検証できます。テストはゼロから作成することも、既存の会話から作成することもでき、ダッシュボード、CLI、APIから実行できます。
動画で見る
概要
このフレームワークには、相互に補完し合う3種類のテストがあります。
- シミュレーションテスト — シミュレートされたユーザーとのエンドツーエンドの複数ターン会話を実行します
- 次の返信(シナリオ)テスト — エージェントの次の応答が成功条件を満たすかを検証します
- ツール呼び出しテスト — エージェントが適切なパラメータで適切なツールを呼び出すことを確認します
テストの使い分け
会話からテストを作成する
エージェントのパフォーマンスが十分でなかったやり取りを見つけたら、実際の会話をテストケースに変換しましょう。

- 通話履歴で会話を開きます
- この会話からテストを作成をクリックします
- 事前入力されたコンテキストを確認し、期待する動作を定義します
- テストをスイートに追加し、後で同様の失敗を検出できるようにします
シミュレーションテスト
シミュレーションテストでは、シミュレートされたAIユーザーとの完全な複数ターン会話にわたってエージェントを評価します。次の返信テストとは異なり、このテストでは会話全体が定義した結果に到達するかを確認します。
シミュレーションテストを作成する

シナリオを定義する
ユーザーのコンテキスト、意図、行動を自然言語で説明します。シミュレーターはこの シナリオを使用して会話を進めます。
シナリオ例:
“英語があまり話せない観光客が、レストランで注文しようとしています。”
任意の設定
テスト設定パネルでは、シミュレーションの動作をさらに調整できます。
- 環境:エージェントに複数の環境が設定されている場合、テスト対象の環境を選択します。利用可能な環境が1つだけの場合、このセレクターは表示されません。
- チャット履歴:空の状態ではなく、途中までの会話から開始します。進行中の会話や復旧時の動作をテストする際に便利です。
- 動的変数:基本のエージェント設定を変更せずに、ユーザー名や注文IDなど、テスト固有の値をエージェント変数に挿入します。
ツールのモック
シミュレーションテストではツールのモックをサポートしているため、実際のシステムを呼び出す代わりに、実行中に制御された応答をエージェントに返せます。
モック戦略
- モックしない:ツールをモックしません。
- すべてのツールをモック:モック可能なすべてのツールがモック応答を返します。
- 選択したツールをモック:明示的に選択したツールのみをモックします。
システムツールとワークフローツールはモックされません。
フォールバック動作
モックされたツールが呼び出され、一致するモック応答が見つからない場合は、次のいずれかの動作を選択します。
- 実際のツールを呼び出す:実際のツール呼び出しを実行します。
- エラーで終了する:実際のツールを呼び出す代わりに、ツールからエラー応答を返します。
フォールバック設定は、少なくとも1つのツールがモックされている場合にのみ表示されます。
次の返信(シナリオ)テスト
次の返信(シナリオ)テストでは、複数ターンの最終結果全体ではなく、エージェントの次のメッセージだけを評価します。評価したい返信に至るまでの会話履歴を指定し、その返信を成功条件に照らして採点します。
複数ターンの最終結果には、シミュレーションテストを使用してください。
次の返信テストを作成する

成功条件を設定する
エージェントの応答で達成すべきことを平易な言葉で説明します。期待する動作、トーン、アクションを 具体的に指定してください。
成功条件の例:
- エージェントは共感をもって顧客の不満を認める必要があります
- エージェントは重複請求を調査すると申し出る必要があります
- エージェントは解約または解決のための明確な次のステップを案内する必要があります
- エージェントはプロフェッショナルで親切なトーンを維持する必要があります
ツール呼び出しテスト
ツール呼び出しテストでは、特定の状況でエージェントがツールを正しく使用し、適切なパラメータを渡すことを検証します。これは、通話転送、データ検索、外部インテグレーションなどのアクションにおいて重要です。
ツール呼び出しテストを作成する

重要なユースケース
ツール呼び出しテストは、重要度の高い次のシナリオで不可欠です。
- 緊急転送:医療上の緊急事態が常に正しい番号に転送されることを確認します
- データセキュリティ:機密情報が許可されていないツールに渡されないことを検証します
- ビジネスロジック:注文検索で有効な形式と認証が使用されることを確認します
テストを実行する
新しい動作や既知の失敗に対するテストを作成し、プロンプトや設定を調整しながら実行し、合格したら保存します。
ダッシュボードから実行
CLIから実行
APIから実行
エージェントのインターフェースで「テスト」タブに移動します。ここから、個別のテストを実行したり、ライブラリから複数のテストを選んでバッチとして実行したり、すべてのテストを実行でスイート全体を実行したりできます。

確率的テスト
エージェントの出力は実行ごとに異なる場合があります。1回の合格はエージェントが成功_できる_ことを示しますが、確率的テストでは同じテストを複数回実行して合格率を報告することで、実際にどの程度成功_するか_を示します。
テストを複数回実行する

ダッシュボードからテストを実行する際は、実行ボタンの分割実行コントロールを使って実行回数を選択します(例:3×、5×、15×)。各実行は独立しています。エージェントは同じチャット履歴、動的変数、その他の入力を受け取りますが、応答は毎回新たに生成されます。
複数回実行は、個別のテスト、フォルダ、エージェントに紐づくテストスイート全体で利用できます。シミュレーション、次の返信(シナリオ)、ツール呼び出しの3種類すべてのテストと互換性があり、複数ターン会話は変化の余地が大きいため、通常はシミュレーションテストで最も役立ちます。
合格率と結果のバケット分け

複数回実行が完了すると、結果は色付きバッジとともに合格率(例:5回中4回合格)として要約されます。
- 緑 — 100%合格
- アンバー — 80%以上合格
- 赤 — 80%未満
個々の実行は失敗理由ごとにグループ化されるため、エージェントが失敗_したこと_だけでなく、どのように_失敗するかも確認できます。何が異なったかを確認するために5つのトランスクリプトを個別にスクロールする代わりに、「請求部門に正しく振り分けた(4回)」や「サポート番号を誤って生成した(1回)」_のようなクラスターが表示されます。各クラスターは展開して、元となるトランスクリプトと評価の根拠を確認できます。
使用するタイミング
- 変更をリリースする前 — 信頼性が低下していないことを確認するため、紐づけられたテストを確率的に再実行します(例:95%から60%への低下)。
- 不安定な動作を診断する — 1回の失敗はノイズかもしれませんが、明確な名前の失敗バケットを伴う5回に1回の失敗は、修正すべき再現可能な問題です。
- プロンプトとツールを調整する — 単発の実行に頼るのではなく、設定を反復して合格率を並べて比較します。
APIまたはSDKから確率的に実行する
run-testsリクエストでrepeat_count(2〜20)を渡すと、各テストをその回数だけ実行できます。repeat_countを設定すると、応答での失敗バケット分けが自動的に有効になります。そのため、返される呼び出し結果には、ダッシュボードで表示されるバケットごとのグループと合格率が含まれます。
ベストプラクティス
次のステップ
- 自動テストの設定についてはCLIドキュメントを参照してください
- 利用可能なツールを理解するにはツール設定を確認してください
- テスト可能なプロンプトの作成についてはプロンプティングガイドをお読みください