- 基本情報
- Studio Web での UiPath Agents
- UiPath のコード化されたエージェント
Agents ガイド
評価について
エージェントを構築する際の目標は、信頼性を確保すること、つまり適切な出力を一貫して提供可能な、信頼できるものにすることです。評価を行うことで、エージェントが適切に機能しているかどうかや、改良が必要かどうかを判断できます。
用語
評価は、入力と、出力に対して行われたアサーション (評価器) とのペアです。評価器は、エージェントの出力が期待される出力または期待される軌跡を満足するかどうかを評価するために使用する定義済みの条件またはルールです。
評価セットは、複数の評価と評価器を論理的なグループにまとめたものです。
評価結果は、完了した評価の実行のトレースであり、エージェントのパフォーマンスを評価するものです。評価の実行の間に、エージェントの正確性、効率、および意思決定能力が測定され、エージェントのパフォーマンスがどの程度良好かに基づいてスコアが付けられます。
評価スコアにより、特定の評価のアサーションに基づいてエージェントのパフォーマンスがどの程度良好であるかが判断されます。スコアは 0 から 100 の尺度で表されます。評価の実行に失敗した場合は、原因を診断してデバッグし、再実行する必要があります。
評価を作成する
Before you create evaluations at scale, you can first test your agent on one off scenarios to see if the agent is able to perform its task and if output is correct or not. If your agent is generating the correct output, you can create evaluations from the correct runs. If your agent is not generating the correct output, you can fix the output and create an evaluation with the expected output, or you can create evaluations from scratch.
評価をテスト実行から作成する
- エージェントを設計したら、[デバッグ設定] を選択します。
- [デバッグ設定] ウィンドウで、ソリューションで使用されているリソースを確認し、次の手順を実行します。
- テスト実行の入力を次の方法で指定します。
- 内容の手動入力
- 入力のシミュレーション: 大規模言語モデル (LLM) を使用して、エージェントの引数の入力を生成します。LLM に入力を自動生成させたり、プロンプトを提示させたりして、具体的な例を導くことができます。
- 実際のツールでテストするか、1 つ、複数、またはすべてのツールをシミュレートするかを設定します。
- ツールのシミュレーション: LLM を使用して、1 つ以上のエージェント ツールをシミュレートします。各ツールがどのように応答すべきかを説明し、エージェントが依存するツールセットの一部またはすべてをシミュレートします。
- テスト実行の入力を次の方法で指定します。
- [保存してデバッグ] を選択します。 結果は、下部の [実行証跡] パネルに表示されます。インジケーターは、エージェントが実際のデータまたはシミュレートされたデータで実行されているときに表示できます。
- 出力が正しい場合は、[評価セットに追加] ボタンを選択します。出力が正しくない場合は、以下を行うことができます。
- プロンプトを改良する: 出力が正しくなるまで、プロンプトを調整してエージェントをテストします。
- 間違った出力から評価を作成する: 間違った出力に基づいて評価を生成し、期待される結果に一致するように手動で編集します。
- テスト実行のリストが [評価セットに追加] ウィンドウに表示されます。評価に追加する実行の [既定のセットに追加] を選択します。 評価セットを作成済みの場合は、利用可能なドロップダウン リストから選択できます。
- 次に、[評価セット] パネルに移動します。以下の 3 つのオプションを使用できます。
- 事前に作成された評価セットを使用して、評価を整理する。
- シミュレートされた入力とツールを使用して新しいセットを生成する。
- 実際のデータとシミュレートされたデータを使用して、既存のセットに評価を追加する。
- [セットを評価] を選択して評価を実行します。また、評価するセットから特定の評価を選択することもできます。
- [結果] タブに移動して、評価スコアと詳細を表示します。
評価を最初から作成する
- エージェントの設計後、[評価セット] タブに移動し、[新規作成] を選択します。 [インポート] を選択して、他のエージェントの評価の既存の JSON データを使用することもできます。
- 評価セットに関連する名前を追加します。
- [セットに追加] を選択して、新しい評価を作成します。セット内の新しい評価ごとに、以下の操作を行います。
- 名前を追加します。
- [入力] フィールドの値 (定義された入力引数から継承) と、[期待される出力] の値を追加します。
- [保存] を選択します。
- 次に、[評価器を設定] を使用して、評価セットに評価器を割り当てます。 1 つのセットに 1 つ以上の評価器を割り当てることができます。
- [変更を保存] を選択します。
- [評価セット] のメイン ページで、実行する各セットの [評価セットを実行] を選択します。
- [結果] タブに移動して、評価スコアと詳細を表示します。
実行時のトレースから評価を作成する
エージェントの評価を実行時のトレースから直接作成できます。これにより、運用環境からのフィードバックを、設計時の改善のための実用的なテスト ケースに変換できます。
- まず、エージェントを実行します。
- Orchestrator で [オートメーション] > [ジョブ] に移動し、エージェントの実行のジョブのトレースを開きます。または、エージェントのインスタンスの管理のページに移動して、エージェントの実行のトレースを表示します。
- エージェントの実行に関するフィードバックを提供します。
- 各トレースに対して、高評価または低評価のアイコンを選択します。
- コメントを追加して、評価を実用的なものにします。
- エージェント定義で実行時のトレースを取得します。
- Studio Web でエージェントに戻り、[評価] > [評価セット] に移動します。
- [作成] ボタンの下にある [実行時のトレースを取得] を選択して、フィードバックを受け取ったトレースを取り込みます。
- トレースを評価セットに追加します。
- 取得したトレースから、[評価セットに追加] を選択します。
- 必要に応じて、入力と期待される出力を編集します。
- 選択した評価セットにトレースを保存します。
- 選択した評価セットにトレースを保存します。
追加した実行時のトレースは、評価セット内で実行時の実行としてわかりやすくラベル付けされるため、オフラインのテスト実行と簡単に区別できます。また、これらのトレースによってエージェントの全体的な評価スコアも自動的に更新されるため、実際のフィードバックによってエージェントのパフォーマンスがどのように向上するかをすぐに可視化できます。
評価を生成する
シミュレーションを使用して評価セットを作成することもできます。シミュレートされた入力とツールを使用して新しい評価セットを生成します (または既存の評価セットに追加します)。
- [作成] を選択します。
- [新しい評価セットを生成] を選択します。 既存のエージェント、その設計実行、引数に基づいて LLM に評価セットを自動生成させたり、プロンプトを提示させたりして、具体的な例を導くことができます。 詳しくは、「評価でシミュレーションを設定する」をご覧ください。
評価器
評価器は、エージェントの出力が期待される動作や結果に照らしてどのようにスコアリングされるかを定義します。評価セットに評価器を追加する際は、実行する検証の種類に最も一致する評価器の種類を選択します。
評価器を追加または編集するときに表示される設定オプションは、選択した評価器のカテゴリと種類によって異なります。
評価器のカテゴリ
| 評価器のカテゴリ | エバリュエーターの種類 | 説明 |
|---|---|---|
| 決定論的 | 完全一致 | エージェントの出力が期待される出力に完全に一致するかどうかを、文言や書式設定を含め確認します。 |
| 決定論的 | JSON の類似性 | 完全一致を要求するのではなく、JSON オブジェクトまたは値の構造的類似性を比較します。 |
| 決定論的 | CSV 列の完全一致 | 指定した CSV 列の正確な値を期待値と比較します。 |
| LLM-as-a-judge (LLM による評価) | Semantic similarity (意味的類似性) | 言語モデルを使用して、エージェントの出力が意味と意図の点で期待される出力にどの程度一致するかをスコアリングします。 |
| LLM-as-a-judge (LLM による評価) | コンテキストの精度 | 取得またはグラウンディングされたコンテキストがユーザーのクエリにどの程度関連しているかをスコアリングします。 |
| LLM-as-a-judge (LLM による評価) | 忠実度 | エージェントの出力に含まれる主張が、指定したコンテキストに基づいているかどうかをスコアリングします。 |
| 軌跡 | 軌跡 | 言語モデルを使用し、実行履歴と期待される動作に基づいてエージェントの全体的な動作を評価します。 |
- 決定論的な評価器は、事前定義されたルールベースの一致を使用し、同じ入力に対して常に一貫した結果を生成します。これらの評価器は言語モデルに依存しません。
- LLM による評価の評価器は、言語モデルを使用して、意味、グラウンディング、関連性を評価するもので、言語における妥当な変動を許容できます。
- 軌跡評価器は、言語モデルを使用して、エージェントの動作 (中間手順やツールの使用状況を含む) を実行全体にわたって評価します。
決定論的な評価器は LLM を使用しないため、[モデル] 選択フィールドは含まれません。LLM による評価の評価器および軌跡評価器では、評価に使用するモデルを選択できます。
評価器の種類を選択する
自身のユース ケースに最適な評価器の種類がわからない場合は、次のガイダンスを使用して、検証する出力の種類と必要な柔軟性のレベルに基づいて最適なオプションを選択します。
- LLM による評価 (意味的類似性、忠実度、コンテキストの精度):
- ルート出力を対象にする場合の既定のアプローチとして推奨されます。
- 複雑な出力を柔軟に評価できます。
- 完全一致に加えて品質と正確性も評価できます。
- 推論、自然言語による回答、または構造化された複雑な出力を評価する場合に最適です。
- 決定論的 (完全一致、JSON の類似性、CSV 列の完全一致):
- 完全一致が予期される場合に推奨されます。
- 出力要件が厳密に定義されている場合に最も効果的です。
- 複雑なオブジェクトを処理できますが、以下の場合に最適です。
- Boolean 値の回答 (true/false)
- 具体的な数値
- 文字列の完全一致
- プリミティブの配列
- 軌跡:
- 最終的な出力だけでなく、エージェントの全体的な動作を評価する必要がある場合に推奨します。
評価器を定義する
[評価器] パネルを使用して、評価器を作成および管理します。既定では、各エージェントには事前定義された LLM ベースの既定の評価器があります。
独自の評価器を作成するには、次の手順を実行します。
- エージェント プロジェクトから [評価器] を選択します。
- [新規作成] を選択します。
- 希望する評価器の種類を選択し、[続行] を選択します。
- 評価器を設定します。
- 関連する名前と説明を入力します。
- (LLM ベースの評価器と軌跡評価器のみ) 評価に使用するモデルを選択します。
- 対象の出力フィールドを選択します。
- ルートレベルを対象にする場合 ([すべて]): 出力全体を評価します。
- フィールドを固有に対象にする場合: 特定の第 1 レベルの出力フィールドを評価します。利用可能なフィールドは、システム プロンプトで定義した出力引数から継承されます。c. 評価器による出力のスコアリング方法を定義するプロンプト (LLM ベースの評価器と軌跡評価器では必須) を追加します。
評価でシミュレーションを設定する
この機能はプレビューで利用可能です。
シミュレーションでは、実際のエンドポイントではなくモックされたツールとエスカレーション動作を通じて、安全で高速な、費用対効果の高いテストが可能になり、エージェントの評価が強化されます。評価レベルできめ細かい制御が可能なため、チームはシミュレートするコンポーネントを定義したり、実際の実行とシミュレートされた実行を同じ評価セット内で組み合わせたりすることができます。この柔軟性により、固定入力または生成された入力、およびリテラル出力と行動ベースのグレーディングの両方がサポートされ、テストのカバレッジ、再現性、およびエージェントが期待どおりに動作するかどうかを評価する能力が向上します。
詳しくは、「エージェント ツールのシミュレーションを 設定する」をご覧ください。
評価シミュレーションの設定方法
シミュレーションを使用して新しい評価セットを設定するには、以下の手順に従います。
- [評価セット] タブで、[作成]、[新しい評価セットを生成] の順に選択します。
- 生成する評価ケースの説明を入力します。 概要レベルのコンテキストや特定のシナリオを指定したり、関連するコンテンツを貼り付けて生成をガイドすることができます。このフィールドを空白のままにしても、評価ケースは自動的に生成されます。
- [評価を生成] を選択します。 Autopilot は複数の評価を生成します。評価ごとに、シミュレーションの指示、入力生成の指示、および期待される動作に関するメモを表示して編集できます。
- 使用する評価を選択し、[セットを追加] を選択します。


既存の評価のシミュレーションを設定するには、次の手順に従います。
- 任意の評価セットを開き、任意の評価で [編集] を選択します。[評価を編集] パネルが表示されます。
- [入力の設定] セクションで、手動処理値または実行時の生成指示を使用して、入力データを定義または生成します。 入力データを手動で定義する場合は、[テスト] フィールドを True に設定して、そのデータがテスト シナリオの一部であることを示すことができます。
- [実行] セクションで、各ツールが動作をシミュレート (モック) するか、実際の呼び出しを実行するかを選択し、シミュレーションの指示を追加します。ツールの実行が既定の設定です。
- [アサーション] セクションで、評価が出力の一致に基づくか、エージェントの軌跡に基づくかを指定し、期待される動作と出力を記述します。
- [保存] を選択して設定を適用します。
図 1. 評価でのツールのシミュレーションの設定

評価を使用してエージェントを最適化する
[最適化] 機能を使用すると、エージェントの信頼性とパフォーマンスを向上できます。そのために、評価セットを自動的に分析し、エージェントの定義をどのように更新すれば良いかを対象を絞り込んで提案します。
最適化
- エージェントの定義 (システム プロンプトや動作に関する指示など) を評価結果と併せて解釈します。
- 複数の評価パスを実行して、改善点を特定します。
- 評価器のスコアの向上を目的とした、プロンプト レベルでの推奨される変更を生成します。
- 変更を適用する前に、スコアの比較予想を表示します。
- 推奨される変更を表示します。これを適用すると、すぐにエージェントの動作を強化できます。
- 最適化のトレースによって、推奨事項がどのように生成されたかを完全に可視化します。
[最適化] を使用する前に、以下が必要です。
- エージェントで評価の実行が少なくとも 1 回完了している
- 評価セットに 1 つ以上の評価器の結果 (スコア) が表示されている
最適化の実行を開始する
-
エージェントの評価を実行します。
-
[評価] → [評価セット] に移動します。
-
完了した結果を含むセットを選択し、[最適化] を選択します。
-
[最適化] ウィンドウの [パス数] でパスの数を設定します。[パス数] により、最適化サービスがエージェントと評価結果を確認する回数を制御します。各パスで分析が再実行され、推奨事項が改良されていきます。大きい数値 (最大 10) を選択すると、より正確な改善内容を生成できますが、処理時間も長くなります。
-
[最適化を開始] を選択します。最適化は非同期的に実行されます。処理が続いている間はダイアログを閉じておき、後で作業に戻ることができます。

最適化の進行状況を追跡する
[最適化] の実行中に、[最適化のトレース] を開いて進行状況を監視できます。[最適化のトレース] には以下が表示されます。
- 最適化の各パスと評価ステップ
- 分析中に使用された個々の LLM の呼び出し
- 各ステップでのトークンの使用状況、実行時間、ステータス
- 推奨事項を導き出すために使用されたエージェントの出力と評価器のアサーション
このトレースは、最適化がどのようにして結論に達したかを把握する場合や、予期しない結果をデバッグする場合に役立ちます。
提案された変更を確認する
最適化が完了したら、評価セットに戻って [提案を確認] を選択します。[提案を確認] ビューの機能は以下のとおりです。
- エージェントのシステム プロンプトの変更前後の比較が表示されます。
- 変更箇所はインラインで強調表示されるため、追加、削除、改良された箇所を簡単に特定できます。
- 評価器のスコアの改善予想が上部に表示され、変更を適用した場合に期待される影響を示します。
- [差分 (統合して表示)] トグルを使用して、インライン ビューと差分形式のビューを切り替えることができます。
各提案に対して以下を行うことができます。
- 提案された変更を受け入れてエージェントの定義に直接適用する
- 提案を却下して破棄し、現在のプロンプトを維持する
既知の制限事項
[最適化] 機能を使用する場合は以下の点に注意してください。
- 自律型エージェントでのみ利用できます。
- シミュレーションされたツールの呼び出しを使用すると有効性が低下します。
- 非同期的に実行され、完了までに時間がかかる場合があります。
評価内でモデルの設定をテストする
評価セットを使用してモデルのさまざまな設定を比較し、各設定がエージェントの動作にどのように影響するかを把握できます。評価を使用することで、同じシナリオと期待される出力を使用して、モデル/温度の複数の組み合わせを並行してテストできます。精度、速度、コストの適切なバランスを提供する設定を特定するのに役立ちます。
-
Agent Builder の [エクスプローラー] パネルから [評価セット] を選択します。
-
評価セットを選択します。
-
歯車アイコンを選択して [評価の設定] を開きます。

-
[評価セットのプロパティ] パネルで、温度とモデルの複数の組み合わせを追加します。以下に例を示します。
- 温度 0.2、モデル A
- 温度 0.5、モデル A
- 温度 0.7、モデル A
- 温度 0.5、モデル B
設定ごとに個別の評価の実行が作成されます。

-
[セットを評価] を選択して、すべての設定を実行します。実行が完了したら、[結果] タブを開いて結果を比較します。

詳しくは、「エージェントに最適なモデルを選択する」をご覧ください。
ファイル入力を使用して評価を定義する
エージェントの評価では、ファイルベースの入力がサポートされています。エージェントで file 引数が必要な場合、評価の UI によって専用のファイル セレクターが表示され、テスト用のファイルをアップロードまたは再利用できます。
評価でファイルを使用するには、以下の手順を実行します。
- エージェントを開き、[評価セット] に移動します。
- 新しい評価を作成するか、既存の評価を編集します。
- [入力の設定] パネルで、ファイル入力フィールドを見つけます。
- 新しいファイルをアップロードするか、利用可能な評価ファイルから 1 つを選択します。
- 評価を保存し、評価セットを実行します。
選択したファイルは、実行時のファイル入力と同じ方法でエージェントに渡されるため、評価と運用環境での実行の間で一貫した動作が保証されます。
評価を使用する
評価を使用できる場所
ワークフローに応じて、次の 2 つの場所で評価を使用できます。
-
デザイン キャンバスの下部のパネル – エージェントをアクティブに構築またはテストしているときに、評価に素早くアクセスできます。このパネルには以下が含まれます。
- [履歴] タブ。過去の実行と完全なトレースが表示され、評価セットに実行を直接追加できます。
- [評価] タブ。評価セットを表示したり、最近のスコアを確認したり、詳細をドリルダウンしたり、テストを個別にまたはフル セットとして再実行したりできます。また、実際の出力と期待される出力を比較し、出力が正しい場合は評価を実際の出力で更新することもできます。
- [実行証跡] タブ。現在の実行のトレースの詳細をリアルタイムに追跡します。会話型エージェントの場合、このタブはチャットとして利用できます。エージェントをテストするための対話型のチャット ウィンドウが提供されると同時に、会話での各やり取りの実行証跡も表示されます。
-
エージェント定義の [評価] タブ – 完全な評価ワークスペースを提供します。ここから、評価セットの作成と整理、評価器の割り当て、入力と期待される出力の設定、評価の大規模な実行を行うことができます。構造化された評価シナリオを設定し、評価アセットを継続的に管理するのに最適な場所です。
下部のパネルは、日常的な反復処理やデバッグの際に役立ちます。一方、評価セットを完全に管理および設定するには、専用の [評価] タブの方が効果的です。
評価プロンプトを構成する
出力が適切に構造化されていると、評価の信頼性が高まります。そのため、構造化された出力を利用することをお勧めします。これにより、一貫性が確保され、比較が容易になります。
以下に、出力全体を評価する定義済みのプロンプトの例を示します。
プロンプトの例
評価のエキスパートとして、以下の JSON コンテンツの意味的類似性を分析し、0 から 100 のスコアを決定してください。対応するフィールドの意味とコンテキストの等価性を比較してください。その際に、言語における有効な代替表現、同義語、および妥当なバリエーションを考慮すると同時に、精度と完全性について高い基準を維持してください。また、そのスコアを付けた理由を簡単・簡潔に説明し、スコアに妥当性を与えてください。
Expected Output: {{ExpectedOutput}}
ActualOutput: {{ActualOutput}}
評価の数
エージェントのスコアでは、30+ の評価が良好なベンチマークと見なされます。
単純なエージェントの場合は、1 個から 3 個の評価セットで約 30 回の評価を目指します。より複雑なエージェントの場合は、少なくともその 2 倍以上の量にすることをお勧めします。
評価の数は以下に応じて異なります。
- エージェントの複雑さ
- 入力パラメーターの数
- 出力構造の複雑さ
- ツールの使用パターン
- 判断の分岐
- 入力
- 可能性がある入力の範囲: データ型、値の範囲、任意のフィールド
- エッジ ケース
- 使用パターン
- 共通のユースケース
- 異なるペルソナ
- エラーのシナリオ
評価セット
評価をセットにグループ化すると、評価を整理しやすくなります。たとえば、以下のようにすることができます。
- 出力を完全に評価するための 1 つのセット
- エッジ ケース用の別のセット
- スペルミスを処理するための別のセット
カバレッジの原則
- 論理的なカバレッジ: 入力の組み合わせ、エッジ ケース、境界条件を綿密に計画します。
- 冗長性の管理: 論理的に同等のケースあたり 3 回から 5 回の異なる評価を目指します。
- 量より質を重視: 評価を増やしても必ずしも結果が向上するとは限りません。意味のあるテストに重点を置きます。
評価を作成するタイミング
引数が安定するか完成したら、評価を作成します。これは、ユース ケースが確立され、プロンプト、ツール、コンテキストが確定することも意味します。引数を変更する場合は、それに応じて評価も調整する必要があります。追加の作業を最小限に抑えるには、明確に定義されたユース ケースを持つ安定したエージェントから始めることをお勧めします。同じ組織内または異なる組織間で、評価セットをエージェント間でエクスポートしてインポートできます。エージェントの設計が完了している限り、必要に応じて評価を移動することができます。評価を最初から再作成する必要はありません。