

# 支持的代理框架
<a name="supported-frameworks"></a>

Amazon Bedrock AgentCore 评估会评估使用常用代理框架构建的代理。代理以遥测形式发射的内容以及遥测的结构取决于您构建的**代理框架**和用于记录它的**仪器库**。

对于每个支持的框架，本节介绍：
+ 您可以使用的仪器库。
+ 如何对你的经纪人进行检测。
+ 生成的跨度和事件记录是什么样子。
+ 评估服务如何找到所需的值，例如用户提示、代理响应和工具调用。

AgentCore 评估支持以下框架和工具库。它仅支持这些库的 Python 版本。


| 代理框架 | 仪器库 | 作用域名称 | 建议的版本 | 
| --- | --- | --- | --- | 
| Strands Agents | Built-in （斯特兰兹特工 SDK） |  `strands.telemetry.tracer`  | 最新 | 
| LangGraph | OpenTelemetry (`opentelemetry-instrumentation-langchain`) |  `opentelemetry.instrumentation.langchain`  |  `>= 0.55.0`  | 
| LangGraph | OpenInference (`openinference-instrumentation-langchain`) |  `openinference.instrumentation.langchain`  |  `>= 0.1.62`  | 
| OpenAI 代理 | OpenTelemetry (`opentelemetry-instrumentation-openai-agents`) |  `opentelemetry.instrumentation.openai_agents`  |  `>= 0.61.0`  | 
| OpenAI 代理 | OpenInference (`openinference-instrumentation-openai-agents`) |  `openinference.instrumentation.openai_agents`  |  `>= 1.5.0`  | 
| LlamaIndex | OpenTelemetry (`opentelemetry-instrumentation-llamaindex`) |  `opentelemetry.instrumentation.llamaindex`  |  `>= 0.61.0`  | 
| LlamaIndex | OpenInference (`openinference-instrumentation-llama-index`) |  `openinference.instrumentation.llama_index`  |  `>= 4.4.1`  | 
| 谷歌 ADK | OpenInference (`openinference-instrumentation-google-adk`) |  `openinference.instrumentation.google_adk`  |  `>= 0.1.13`  | 
| 克劳德特工 SDK | OpenInference (`openinference-instrumentation-claude-agent-sdk`) |  `openinference.instrumentation.claude_agent_sdk`  |  `>= 0.1.3`  | 

**范围名称**是每个跨度和事件记录上的`scope.name`字段值。评估服务使用它来确定它是否可以处理跨度。

## 服务如何读取会话
<a name="supported-frameworks-how-read"></a>

**无论框架如何，评估服务都会根据两个遥测信号重建会话：**跨**度和事件记录。**它按其类型对每个跨度进行分类，然后从中提取内容：

1.  从特定@@ **于框架的属性中识别跨度类型**。跨度可以是**调用代理跨度**（运行顶级代理）、**执行工具跨度**（单个工具调用）或**推理跨度**（单个模型调用）。

1.  从每个跨度的属性或其@@ **相关事件记录中提取相关值**。例如，**用户提示**来自代理输入中的人类（用户角色）消息，代理**响应来自代理**输出中的 AI（助理角色）消息。

确切的属性名称和内容位置因框架和工具库而异。[跨度、事件记录和遥测信号](supported-frameworks-telemetry.md)页面解释了跨度和事件记录的结构以及内容所在的位置。每个框架的页面描述了每个支持的框架的属性和示例数据。

## 设置可观察性
<a name="supported-frameworks-setup"></a>

对您的代理进行检测是生成遥测数据的一部分，评估服务可以读取。在端到端评估工作之前，您的代理还必须启用可观察性并将其跨度和事件记录导出到 Amazon。 CloudWatch完成以下步骤：

1. 启用 CloudWatch 交易搜索，这是评估的先决条件。请参阅[启用 AgentCore 可观测性](observability-configure.md#observability-configure-builtin)。

1. 根据代理的托管位置为其启用可观察性：
   + 有关托管在 Amazon Bedrock AgentCore Runtime 上的代理，请参阅[在代理代码中为 AgentCore-hosted 代理启用可观察性](observability-configure.md#observability-configure-custom)。
   + 有关托管在亚马逊弹性容器服务 (Amazon ECS)、亚马逊 Elastic Kubernetes Service (Ama AWS zon EKS)、Lambda [或其他](observability-configure.md#observability-configure-3p)环境上的代理，请参阅为托管在外部的代理启用可观察性。 AgentCore

## 样品代理
<a name="supported-frameworks-samples"></a>

以下示例显示了托管在 Amazon Bedrock AgentCore Runtime 之外的 Strands 代理，他们使用 ADOT 将遥测数据导出到亚马逊 CloudWatch 。他们专注于可观测性设置，而不是评估 API。这些示例使用 Strands，但同样的托管和遥测导出模式适用于其他支持的框架，例如。 LangGraph
+  **亚马逊 EKS：**[亚马逊 EKS 上 EKS-hosted 代理和 Strands 代理](https://github.com/awslabs/agentcore-samples/tree/main/03-integrations/agents-hosted-outside-runtime/agents-on-eks)[的可观察性](https://github.com/awslabs/agentcore-samples/tree/main/06-workshops/06-AgentCore-observability/06-Agentcore-observability-for-eks-hosted-agent)。
+  **亚马逊 ECS：**[亚马逊 ECS 上的 Strands 代理](https://github.com/awslabs/agentcore-samples/tree/main/03-integrations/agents-hosted-outside-runtime/agents-on-ecs)。
+  ** AWS Lambda：Lambda** [中的 Strands 代理。 AWS](https://github.com/awslabs/agentcore-samples/tree/main/03-integrations/agents-hosted-outside-runtime/agents-on-aws-lambda/02-agent-in-lambda)

**Topics**