了解結果和輸出
批次評估結果分為兩層:彙總 API 回應中的摘要,以及 CloudWatch Logs 中的每個工作階段詳細資訊。
彙總結果
當批次評估完成時,GetBatchEvaluation回應會包含具有彙總摘要的evaluationResults物件。
工作階段計數
| 欄位 | 說明 |
|---|---|
|
|
所有評估者成功評估的工作階段數量。 |
|
|
至少有一個評估器失敗的工作階段數目。 |
|
|
仍在評估的工作階段數量 (任務完成時為 0)。 |
|
|
從工作階段來源探索的工作階段總數。 |
|
|
忽略進行評估的工作階段數目。服務會評估每個任務最多 500 個工作階段。如果發現超過 500 個工作階段,服務會選取最近 500 個工作階段,並忽略其餘工作階段。 |
每個評估者摘要
中的每個項目都會為一個評估者evaluatorSummaries提供彙總指標:
| 欄位 | 說明 |
|---|---|
|
|
短 ID (例如, |
|
|
所有評估工作階段的平均分數。範圍取決於評估器 (通常是 0–1)。 |
|
|
此評估者成功評分的工作階段數量。 |
|
|
此評估器傳回錯誤的工作階段數目。 |
回應範例
{ "batchEvaluationId": "12345678-1234-1234-1234-123456789012", "status": "COMPLETED", "evaluationResults": { "numberOfSessionsCompleted": 47, "numberOfSessionsFailed": 3, "numberOfSessionsIgnored": 0, "totalNumberOfSessions": 50, "evaluatorSummaries": [ { "evaluatorId": "Builtin.GoalSuccessRate", "statistics": { "averageScore": 0.72 }, "totalEvaluated": 47, "totalFailed": 0 }, { "evaluatorId": "Builtin.Helpfulness", "statistics": { "averageScore": 0.81 }, "totalEvaluated": 47, "totalFailed": 0 } ] } }
CloudWatch Logs 中的每個工作階段詳細資訊
GetBatchEvaluation 回應中的 outputConfig 欄位指定 CloudWatch Logs 位置,其中每個工作階段、每個評估器的結果會寫入為 OpenTelemetry 事件。
{ "outputConfig": { "cloudWatchConfig": { "logGroupName": "/aws/bedrock-agentcore/evaluations/batch", "logStreamName": "12345678-1234-1234-1234-123456789012" } } }
日誌串流中的每個事件都包含每個迴轉、每個評估器的詳細資訊:
| 欄位 | 說明 |
|---|---|
|
|
此回合的數值分數。 |
|
|
分類標籤 (例如,、 |
|
|
LLM 產生的分數推理。 |
若要讀取這些事件,請使用 CloudWatch Logs API:
import boto3 logs_client = boto3.client("logs", region_name="us-west-2") response = logs_client.get_log_events( logGroupName="/aws/bedrock-agentcore/evaluations/batch", logStreamName="12345678-1234-1234-1234-123456789012", ) for event in response["events"]: print(event["message"])
解譯分數
批次評估分數遵循與隨需評估相同的慣例:
-
數值分數 (
value):範圍取決於評估器。大多數內建評估器的分數從 0 到 1,其中越高越好。 -
標籤 (
label):分數的分類描述。例如,Builtin.Helpfulness會傳回Very Helpful、Somewhat Helpful、 等標籤Not Helpful。
錯誤處理
任務層級錯誤
如果批次評估任務完全失敗, status是 FAILED,並errorDetails包含一或多個描述錯誤內容的錯誤訊息。常見原因:
-
在指定的來源中找不到工作階段。
-
無效的 CloudWatch 日誌群組或服務名稱。
工作階段層級錯誤
當整體任務成功時,個別工作階段可能會失敗。中的numberOfSessionsFailed計數evaluationResults表示有多少工作階段發生錯誤。每一工作階段錯誤會記錄在 CloudWatch Logs 輸出中。
評估器層級錯誤
在成功評估的工作階段中,個別評估者可能會失敗。每個評估器摘要上的totalFailed計數指出評估器無法評分的工作階段數量。常見原因包括格式不正確的跨度或缺少必要的屬性。
比較跨執行的結果
常見的工作流程是在變更前後執行批次評估 (提示更新、模型交換、工具修改),並比較彙總分數:
# After running two batch evaluations baseline = client.get_batch_evaluation(batchEvaluationId=baseline_id) treatment = client.get_batch_evaluation(batchEvaluationId=treatment_id) baseline_summaries = { s["evaluatorId"]: s["statistics"]["averageScore"] for s in baseline["evaluationResults"]["evaluatorSummaries"] } treatment_summaries = { s["evaluatorId"]: s["statistics"]["averageScore"] for s in treatment["evaluationResults"]["evaluatorSummaries"] } print(f"{'Evaluator':<35} {'Baseline':>10} {'Treatment':>10} {'Delta':>10}") print("=" * 67) for eid in baseline_summaries: b = baseline_summaries[eid] t = treatment_summaries.get(eid, 0) delta = t - b print(f"{eid:<35} {b:>10.4f} {t:>10.4f} {delta:>+10.4f}")
從 CLI 檢視結果
除了 GetBatchEvaluation API 之外,AgentCore CLI 還會顯示相同的結果:
-
agentcore view batch-evaluation <batch-evaluation-id>— 檢視單一任務及其結果 (--json為原始輸出新增)。 -
agentcore batch-evaluations history— 列出批次評估任務 (從服務重新整理執行中的任務;新增--json)。 -
agentcore run batch-evaluation … --json—batchEvaluationId傳回上述 JSON 範例中顯示的相同evaluationResults/ /evaluatorSummaries物件。
# View a single batch evaluation job and its results agentcore view batch-evaluation 12345678-1234-1234-1234-123456789012 --json # List batch evaluation jobs (running jobs are refreshed from the service) agentcore batch-evaluations history --json
注意
選取評估器的執行命令旗標為 -e, --evaluator <ids…>(或 --evaluator-arn <arns…>)。