本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
了解中代理资源的可观察性 AgentCore
本节定义了与代理监控和可观察性相关的会话、跟踪和跨度的概念。
会话
会话代表用户和代理之间的完整交互上下文。会话封装了整个对话或互动流程,维护了多个交换之间的状态和上下文。每个会话都有唯一的标识符,并记录了用户与代理互动的整个生命周期,从初始化到终止。
会话为代理提供以下功能:
-
同一对话中多次互动的情境持久性
-
用于维护用户特定信息的状态管理
-
追踪对话历史记录,便于理解上下文
-
互动期间的资源分配和管理
-
隔离不同用户与同一个代理的交互
从可观察性的角度来看,会话提供了用户参与模式的高级视图,使您可以监控代理在指标、跟踪和跨度方面的性能,并了解用户在一段时间内和不同用例中如何与代理进行互动。
默认情况下, AgentCore 为运行 AgentCore 时中运行的代理提供一组会话级别的可观察性指标。您可以在亚马逊 CloudWatch 控制台的生成式 AI 可观测性页面上查看运行时指标。此页面提供各种图表和可视化效果,可帮助您解释代理的数据。 AgentCore 还会输出内存资源、网关资源和内置工具的一组默认指标。所有这些指标都可以在中查看 CloudWatch。除了提供的指标外,默认情况下还会为内存资源提供日志和跨度,通过分析代理代码,您可以捕获代理的自定义指标、日志和跨度,也可以在 CloudWatch 生成式 AI 可观测性页面上查看这些指标、日志和跨度。要了解更多信息,请参阅以下章节和查看您的亚马逊 Bedrock AgentCore 代理的可观测性数据。
跟踪
跟踪代表从代理调用开始的单个请求-响应周期的详细记录,可能包括对其他代理的额外调用。跟踪记录请求的完整执行路径,包括所有内部处理步骤、外部服务调用、决策点和资源利用率。每条跟踪都与特定的会话相关联,并提供对特定交互中代理行为的精细可见性。
跟踪包括以下代理组件:
-
请求详情,包括时间戳、输入参数和上下文
-
显示所执行操作顺序的处理步骤
-
带有 input/output 参数和执行时间的工具调用
-
资源利用率指标,例如处理时间
-
错误信息,包括异常详细信息和恢复尝试
-
响应生成细节和最终输出
从可观察性的角度来看,跟踪可以深入了解代理的内部运作,从而使您能够解决问题、优化性能并了解行为模式。通过分析跟踪数据,您可以识别瓶颈,检测异常,并验证您的代理在不同的场景和输入下是否按预期运行。
要收集跟踪数据,您需要使用开放遥测 AWS 发行版 (ADOT) 对代理代码进行检测。要了解更多信息,请参阅在代理代码中启用可观察性和为外部托管的代理启用 AgentCore可观察性。 AgentCore-hosted
跨度
跨度代表代理执行流程中离散的、可测量的工作单元。Span 可捕获请求处理期间发生的精细操作,从而详细了解构成完整跟踪的内部组件和步骤。每个跨度都有明确的开始和结束时间,从而为代理活动及其持续时间创建了精确的时间表。
跨度包括以下代理可观察性的基本属性:
-
标识正在执行的特定功能或进程的操作名称
-
时间戳标记操作的确切开始和结束时间
-
Parent-child 关系显示操作如何在更大的流程中嵌套
-
标签和属性提供有关操作的上下文元数据
-
标志着跨度生命周期内发生重大事件的事件
-
指示成功、失败或其他完成状态的状态信息
-
特定于操作的资源利用率指标
跨度在跟踪中形成分层结构,父跨度包括代表更精细操作的子跨度。例如,高级别 “流程用户查询” 跨度可能包含 “解析输入”、“检索上下文”、“生成响应” 和 “格式输出” 的子跨度。这种分层组织创建了详细的执行树,显示了代理内部的完整操作流程。
默认情况下,仅为内存资源 AgentCore 输出一组跨度数据。可以在 CloudWatch 日志和 CloudWatch 应用程序信号中查看这些数据。要记录代理或网关资源的跨度数据,您需要对代理进行检测。要了解更多信息,请参阅在代理代码中启用可观察性和为外部托管的代理启用 AgentCore可观察性。 AgentCore-hosted
会话、跟踪和跨度之间的关系
会话、跟踪和跨度在代理的可观测性框架中形成了三层分层关系。一个会话包含多条轨迹,每条轨迹代表会话更广泛背景下的离散交互。反过来,每条跟踪都包含多个跨度,这些跨度捕捉了交互中的细粒度操作和步骤。这种分层结构允许您在不同的粒度级别上分析代理行为,从高级会话模式到中级交互流程,再到特定操作的详细执行路径。
这三个可观测性组件之间的关系可以可视化为:
-
会话(最高级别)-代表完整的用户对话或互动上下文
-
跟踪(中级)-代表会话中的个人请求-响应周期
-
跨度(最低级别)-表示跟踪中的特定操作或步骤
这种多层关系实现了几种重要的可观测性功能:
-
在更广泛的对话流程中对个人互动进行情境分析
-
用户互动过程中相关请求的关联
-
从会话级异常到跟踪级模式再到跨度级根本原因的渐进式故障排除
-
在不同的时间和功能维度上进行全面的性能分析
-
在对话中全面了解代理人的行为模式和演变
-
通过跨度分析精确识别运营层面的性能瓶颈
虽然跟踪可以了解完整的请求-响应周期,但跨度可以更深入地了解这些周期的内部运作情况。跨度可以准确显示哪些操作消耗最多的时间、错误的起源以及不同组件在单个轨迹中如何相互作用。在排除复杂问题或优化复杂代理实施中的性能时,这种粒度尤其有价值。
通过在可观测性策略中利用会话、跟踪和跨度数据,您可以从多个细节层面全面了解代理的行为、性能和有效性。这种多层的可观测性方法支持持续改进、强大的故障排除以及对代理实施进行明智的优化,从高级对话模式到个人操作性能。