AIモデルとプラットフォーム
AWS、フレームワーク横断型のAIエージェント評価向けUAEFの詳細を公開

AWSは2026年11月11日、Apache-2.0ライセンスで公開されているオープンソースシステム、Universal Agent Evaluation Framework(UAEF)の技術概要を公開しました。UAEFは、7つの評価軸にわたる36種類の組み込み指標を使ってAIエージェントを評価します。
UAEFは、LangGraph、LangChain、Strands Agents、Amazon Bedrock AgentCoreの間で評価結果を比較できるよう設計されています。これらのフレームワークでは、メッセージ、ツール呼び出し、エージェント間の制御移譲の記録方法がそれぞれ異なります。そのため、特定の形式に依存する評価コードでは、フレームワークを変更した際に、新たな指標や採点ロジック、結果の保存先が必要になる場合があります。こうした違いにより、プロンプト、モデル、ツールの変更によってエージェントが改善したかどうかを判断しにくくなります。
AWSによると、通信、医療、金融サービス分野の12組織の顧客がUAEFを利用し、一貫した指標を適用して、リリース前にエージェントの各バージョンを比較しました。awslabs/uaefリポジトリには、Pythonライブラリ、各種フレームワーク用アダプター、指標、AWSへのデプロイ用インフラ、ウェブインターフェース、実行可能なノートブックが含まれています。
標準化されたトレースで共通の採点を実現
アダプターは、各エージェントのメッセージ、ツール呼び出し、制御移譲を標準形式に正規化します AgentTraceこれは、スコアリングエンジンが使用する唯一の表現形式です。UAEFは、過去の実行、ログ、オブザーバビリティーストアにある既存のトレースを変換できます。また、実行時のAmazonリソースネームまたはHTTPエンドポイントを通じてエージェントを呼び出し、その実行結果を変換することも可能です。汎用JSONアダプターにより、カスタムフレームワークにも対応できます。
指標カタログでは、組み込み指標をツール呼び出し、応答品質、責任あるAI、パフォーマンス、複数ターンの会話、複数エージェントの連携、推論の各カテゴリに分類しています。スコアは正規化された0~1の尺度で示され、1が最高です。決定論的な指標はトレースと正解データから直接算出されます。一方、LLMを評価者として使う指標では、関連性や安全性などの品質を評価するためにAmazon Bedrock上のモデルを使用します。カスタム指標に加え、RAGASやDeepEvalとの連携にも対応しています。
正解データは全体として必須ではありませんが、参照データとの比較を行う指標では必要です。ツール呼び出しの評価では、期待されるツールとその順序、引数も定義できます。指標の計算に必要な入力が不足している場合、警告とともにスコアを返さず、その空の結果は0として扱われるのではなく、評価軸ごとの平均から除外されます。そのため、入力データがそろっている指標を使えば、ラベルが一部しか付与されていないデータセットや、ラベルのない本番環境のトラフィックも評価できます。
保存した実験で性能低下を把握
保存された評価結果は実験として扱われます。Amazon DynamoDBには、評価件数や平均スコアなど、一覧表示や比較に使うメタデータが保存されます。一方、Amazon S3には、指標ごとのスコアと評価者の推論を含む完全なJSON結果が保存されます。個々の実行では、フレームワーク、モデル、ツール、システムプロンプト、パラメーター、設定のスナップショット、Gitコミットを記録できるため、各スコアを評価対象のエージェント設計と結び付けられます。UAEFは保存前にトレースから個人情報を検出し、保存済みの結果についてはマスキングも可能です。
2回の実行で共通する指標について、比較エンジンは基準値に対する絶対変化量と変化率を算出します。初期設定では5%に設定されているしきい値を調整することで、改善、性能低下、変化なしを判定します。性能低下は軽微、中程度、深刻の3段階で評価され、評価軸ごとに分類されます。この分類により、応答品質を変えずにプロンプトの改訂がツール呼び出しに影響したかどうかを確認できます。
レポートでは、再現可能な統計と、モデルが生成する解釈を分けて扱います。ウェブインターフェースでは、テストケースごとおよび評価軸ごとの結果を表示します。また、任意で作成できる統計レポートでは、LLMを使わずにスコア分布、信頼区間、外れ値、指標間の相関、失敗したテストケースを確認できます。これとは別に、Bedrockが生成する分析では、1回の実行または比較に関する根本原因の候補と、優先順位を付けた次のステップを提案できます。
Pythonライブラリとローコードのウェブサービスは、同じ評価エンジンとデータストアを使用します。チームは、評価結果の採点方法や比較方法を変えることなく、ノートブック、スクリプト、継続的インテグレーション/継続的デリバリー(CI/CD)パイプライン、またはブラウザーから評価を実行できます。
AWSへの依存関係と分離の境界
インストールガイドでは、Python 3.10以降とuvパッケージマネージャーが必要とされています。Bedrockを使った評価とDynamoDB/S3へのデータ保存にはAWS認証情報が必要です。そのため、これらの評価機能や保存機能を利用するチームは、エージェントが異なるフレームワークを使っていても、AWSサービスへの接続を維持する必要があります。
UAEFは、評価対象エージェントの出力を、評価プロンプトに対する信頼できない入力として扱います。評価基準は別個に送信し、コンテンツをエスケープ処理したうえで、評価者の応答を厳密に解析します。また、スコアを受け入れる前に、根拠となる箇所が原文どおりに示されていることを必須とします。AWSは、評価者のスコアをセキュリティ制御のゲートとして使用すべきではないとしています。実行時の制御は、別個のAmazon Bedrock Guardrails呼び出し経路で行う必要があります。
リポジトリでは、UAEFはユーザーとテナントの分離機能を備えたプラットフォーム内での実行を想定したリファレンスアーキテクチャとして説明されています。ホスト側でそのような制御を行わないマルチテナント環境への直接デプロイには対応していません。各テナントには個別のデプロイメントが必要であり、それぞれ独自のAWSアカウント、または少なくとも独自のスタック、DynamoDBテーブル、S3バケット、Cognitoユーザープールを用意する必要があります。
複数のエージェントフレームワークを運用する企業にとって、UAEFは、プロンプト、モデル、ツール、実装が変わっても維持できる、安定した評価基準を提供します。ただし、この一貫性を実現するには、ライブラリをインストールするだけでは不十分です。有用な比較には適切な指標とデータセットが必要であり、マルチテナントでの利用には、UAEFの外部で提供される分離機能が不可欠です。












