使用 Amazon Bedrock AgentCore Evaluations 评估任何代理框架
AI 团队在生产环境中构建代理时,常面临一个令人沮丧的不对称性:代理框架的多样性持续增长,但评估工具却未能跟上步伐。大多数评估系统假设你以特定方式构建代理:特定的 SDK、特定的 LLM 客户端、特定的追踪模式。一旦你超出这个狭窄的兼容区,评估管道就会崩溃。团队选择 LangGraph 是因为其工作流编排模型,选择 LlamaIndex 是因为与检索管道的紧密集成,选择 OpenAI Agents SDK 是因为组织标准化于 GPT 模型。他们使用 Google ADK 进行多代理协调,或使用 Claude Agent SDK 获取原生 Anthropic 能力。他们选择 Strands Agents,因为其模型驱动的循环能在几分钟内让代理在 Amazon Bedrock AgentCore 上运行,而非数天。并且,他们越来越多地将所有这些部署在 Amazon Bedrock AgentCore 运行时上,这是 Amazon Bedrock AgentCore 的一项能力,负责托管、扩展、内存和可观测性基础设施。
Amazon Bedrock AgentCore Evaluations 通过将评估与框架选择解耦来解决这种碎片化问题。每个主要框架都支持 OpenTelemetry,无论是原生支持还是通过社区插桩库。只要代理的遥测数据通过 OpenTelemetry 流动,评估服务就能对其进行评分,无论底层使用什么 SDK。本文解释了其工作原理:服务读取哪些遥测数据,如何决定如何读取跨度,哪些属性携带评估数据,以及覆盖范围如何扩展到命名列表之外的框架。
OpenTelemetry 作为通用语言
OpenTelemetry 是一个供应商中立的插桩框架,标准化了分布式系统如何发出追踪、指标和日志。追踪是跨度的树,每个跨度代表请求中的一个步骤:一个工作单元,包含名称、时间戳、一组类型化属性和可选跨度事件。跨度通过 OpenTelemetry 协议(OTLP)导出,并由遥测后端收集。在 AgentCore 运行时上,该后端是 AWS Distro for OpenTelemetry(ADOT),它将跨度和事件记录路由到 Amazon CloudWatch。
代理的执行会产生多种跨度,因为代理执行多种工作。单个用户回合可以为模型调用、工具调用、检索步骤等生成跨度。评估服务利用这些跨度来重建代理的行为,并根据预定义指标进行评分。
框架无关的评估合同
关键创新在于,评估服务不关心你使用哪个框架,只要你的代理发出 OpenTelemetry 遥测数据。它定义了如何读取跨度:它寻找特定的跨度名称、属性和事件来提取评估所需的信息,例如输入、输出、工具调用和最终响应。这种合同允许服务评估任何符合该模式的代理,无论其构建方式如何。
覆盖范围
虽然命名了 LangGraph、LlamaIndex、OpenAI Agents SDK、Google ADK、Claude Agent SDK 和 Strands Agents,但覆盖范围不限于此。任何支持 OpenTelemetry 的框架都可以通过社区插桩库或自定义插桩来集成。这为团队提供了灵活性,可以在不牺牲评估能力的情况下选择最适合其需求的框架。
总结
Amazon Bedrock AgentCore Evaluations 通过解耦评估与框架选择,为代理评估提供了统一的解决方案。这解决了 AI 团队在多样化框架生态中的关键痛点,使得评估工具不再成为瓶颈。随着代理框架的不断发展,这种框架无关的评估方法将成为生产环境中的标准实践。
