支援的代理程式架構
Amazon Bedrock AgentCore Evaluations 會評估使用熱門代理程式架構建置的代理程式。代理程式發出什麼作為遙測,以及遙測的結構方式,取決於您使用 建置的代理程式架構,以及您用來記錄它的檢測程式庫。
對於每個支援的架構,本節說明:
-
您可以使用的檢測程式庫。
-
如何檢測您的代理程式。
-
產生的跨度和事件記錄的外觀。
-
評估服務如何找到所需的值,例如使用者提示、客服人員回應和工具呼叫。
AgentCore Evaluations 支援下列架構和檢測程式庫。它僅支援這些程式庫的 Python 版本。
| 客服人員架構 | 檢測程式庫 | 範圍名稱 | 建議的版本 |
|---|---|---|---|
|
Strands 代理程式 |
內建 (Strands Agents SDK) |
|
最新 |
|
LangGraph |
OpenTelemetry ( |
|
|
|
LangGraph |
OpenInference ( |
|
|
|
OpenAI 代理程式 |
OpenTelemetry ( |
|
|
|
OpenAI 代理程式 |
OpenInference ( |
|
|
|
LlamaIndex |
OpenTelemetry ( |
|
|
|
LlamaIndex |
OpenInference ( |
|
|
|
Google ADK |
OpenInference ( |
|
|
|
Claude 代理程式開發套件 |
OpenInference ( |
|
|
範圍名稱是每個範圍和事件記錄上 scope.name 欄位的值。評估服務會使用它來判斷是否可以處理跨度。
服務如何讀取工作階段
無論架構為何,評估服務都會從兩個遙測訊號重建工作階段:跨度和事件記錄。它會依其類型分類每個跨度,然後從中擷取內容:
-
從架構特定屬性識別跨度類型。範圍可以是調用代理程式範圍 (最上層代理程式執行)、執行工具範圍 (單一工具呼叫) 或推論範圍 (單一模型呼叫)。
-
從每個範圍的屬性或其關聯的事件記錄中擷取相關值。例如,使用者提示來自客服人員輸入中的人工 (使用者角色) 訊息,而客服人員回應來自客服人員輸出中的 AI (助理角色) 訊息。
確切的屬性名稱和內容位置會因架構和檢測程式庫而有所不同。跨度、事件記錄和遙測訊號頁面說明跨度和事件記錄的結構,以及內容所在的位置。每個架構頁面描述每個支援架構的屬性和範例資料。
設定可觀測性
檢測您的代理程式是產生遙測的一部分,評估服務可以讀取。在評估端對端運作之前,您的代理程式也必須啟用可觀測性,並將其範圍和事件記錄匯出至 Amazon CloudWatch。請完成下列步驟:
-
啟用 CloudWatch 交易搜尋,這是評估的先決條件。請參閱啟用 AgentCore 可觀測性。
-
根據代理程式託管的位置,為您的代理程式啟用可觀測性:
-
如需 Amazon Bedrock AgentCore 執行期上託管的代理程式,請參閱在 AgentCore 託管代理程式的代理程式程式碼中啟用可觀測性。
-
如需 Amazon Elastic Container Service (Amazon ECS)、Amazon Elastic Kubernetes Service (Amazon EKS)、 AWS Lambda 或其他環境中託管的代理程式,請參閱啟用 AgentCore 外部託管代理程式的可觀測性。
-
客服人員範例
下列範例顯示託管於 Amazon Bedrock AgentCore 執行期之外的 Strands 代理程式,將遙測匯出至具有 ADOT 的 Amazon CloudWatch。他們專注於可觀測性設定,而不是評估 API。這些範例使用 Strands,但相同的託管和遙測匯出模式適用於其他支援的架構,例如 LangGraph。
-
Amazon EKS:Amazon EKS 上 EKS 託管代理程式和 Strands 代理程式的可觀測性
。 https://github.com/awslabs/agentcore-samples/tree/main/03-integrations/agents-hosted-outside-runtime/agents-on-eks -
Amazon ECS:Amazon ECS 上的 Strands 代理程式
。 -
AWS Lambda:AWS Lambda 中的 Strands 代理程式
。