AgentCore의 에이전트 리소스에 대한 관찰성 이해
이 섹션에서는 에이전트의 모니터링 및 관찰성과 관련된 세션, 추적 및 범위의 개념을 정의합니다.
세션
세션은 사용자와 에이전트 간의 완전한 상호 작용 컨텍스트를 나타냅니다. 세션은 전체 대화 또는 상호 작용 흐름을 캡슐화하여 여러 교환에서 상태 및 컨텍스트를 유지합니다. 각 세션에는 고유한 식별자가 있으며 초기화부터 종료까지 에이전트와의 사용자 참여의 전체 수명 주기를 캡처합니다.
세션은 에이전트에게 다음과 같은 기능을 제공합니다.
-
동일한 대화 내에서 여러 상호 작용에 대한 컨텍스트 지속성
-
사용자별 정보 유지 관리를 위한 상태 관리
-
컨텍스트 이해를 위한 대화 기록 추적
-
상호 작용 기간 동안의 리소스 할당 및 관리
-
동일한 에이전트와의 서로 다른 사용자 상호 작용 간 격리
관찰성 관점에서 세션은 사용자 참여 패턴에 대한 개괄적인 보기를 제공하므로 지표, 트레이스 및 범위 전반에서 에이전트 성능을 모니터링하고 시간이 지남에 따라 다양한 사용 사례에서 사용자가 에이전트와 상호 작용하는 방식을 이해할 수 있습니다.
기본적으로 AgentCore는 AgentCore 런타임에서 실행 중인 에이전트에 대해 세션 수준에서 관찰성 지표 세트를 제공합니다. 생성형 AI 관찰성 페이지의 Amazon CloudWatch 콘솔에서 런타임 지표를 볼 수 있습니다. 이 페이지에서는 에이전트의 데이터를 해석하는 데 도움이 되는 다양한 그래프와 시각화를 제공합니다. 또한 AgentCore는 메모리 리소스, 게이트웨이 리소스 및 내장 도구에 대한 기본 지표 집합을 출력합니다. 이러한 모든 지표는 CloudWatch에서 볼 수 있습니다. 제공된 지표 외에도 메모리 리소스에 대한 로그 및 스팬이 기본적으로 제공되며 에이전트 코드를 계측하여 에이전트에 대한 사용자 지정 지표, 로그 및 스팬을 캡처할 수 있습니다.이 지표는 CloudWatch 생성형 AI 관찰성 페이지에서도 볼 수 있습니다. 자세한 내용은 다음 섹션과 Amazon Bedrock AgentCore 에이전트의 관찰성 데이터 보기를 참조하세요.
트레이스
추적은 에이전트 호출부터 시작하여 단일 요청-응답 주기의 세부 레코드를 나타내며 다른 에이전트에 대한 추가 호출을 포함할 수 있습니다. 추적은 모든 내부 처리 단계, 외부 서비스 호출, 결정점 및 리소스 사용률을 포함하여 요청의 전체 실행 경로를 캡처합니다. 각 추적은 특정 세션과 연결되며 특정 상호 작용에 대한 에이전트의 동작을 세부적으로 파악할 수 있습니다.
추적에는 에이전트에 대한 다음 구성 요소가 포함됩니다.
-
타임스탬프, 입력 파라미터 및 컨텍스트를 포함한 요청 세부 정보
-
수행된 작업의 시퀀스를 보여주는 처리 단계
-
입력/출력 파라미터 및 실행 시간을 사용한 도구 호출
-
처리 시간과 같은 리소스 사용률 지표
-
예외 세부 정보 및 복구 시도를 포함한 오류 정보
-
응답 생성 세부 정보 및 최종 출력
관찰성 관점에서 트레이스는 에이전트의 내부 작업에 대한 심층적인 인사이트를 제공하므로 문제를 해결하고, 성능을 최적화하고, 동작 패턴을 이해할 수 있습니다. 트레이스 데이터를 분석하면 병목 현상을 식별하고, 이상을 감지하고, 에이전트가 다양한 시나리오 및 입력에서 예상대로 작동하는지 확인할 수 있습니다.
추적 데이터를 수집하려면 AWS Distro for Open Telemetry(ADOT)를 사용하여 에이전트 코드를 계측해야 합니다. 자세한 내용은 AgentCore 호스팅 에이전트의 에이전트 코드에서 관찰성 활성화 및 AgentCore 외부에서 호스팅되는 에이전트의 관찰성 활성화를 참조하세요.
스팬
스팬은 에이전트의 실행 흐름 내에서 측정 가능한 개별 작업 단위를 나타냅니다. 스팬은 요청 처리 중에 발생하는 세분화된 작업을 캡처하여 내부 구성 요소와 전체 추적을 구성하는 단계에 대한 자세한 가시성을 제공합니다. 각 스팬에는 정의된 시작 및 종료 시간이 있어 에이전트 활동의 정확한 타임라인과 기간을 생성합니다.
스팬에는 에이전트 관찰성을 위한 다음과 같은 필수 속성이 포함됩니다.
-
실행 중인 특정 함수 또는 프로세스를 식별하는 작업 이름
-
작업의 정확한 시작 및 종료 시간을 표시하는 타임스탬프
-
작업이 더 큰 프로세스 내에 중첩되는 방법을 보여주는 상위-하위 관계
-
작업에 대한 컨텍스트 메타데이터를 제공하는 태그 및 속성
-
스팬 수명 주기 내에 상당한 발생을 표시하는 이벤트
-
성공, 실패 또는 기타 완료 상태를 나타내는 상태 정보
-
작업별 리소스 사용률 지표
스팬은 트레이스 내에서 계층 구조를 형성하며 상위 스팬은 보다 세분화된 작업을 나타내는 하위 스팬을 포함합니다. 예를 들어 상위 수준의 "프로세스 사용자 쿼리" 스팬에는 "파스 입력", "콘텍스트 검색", "응답 생성" 및 "형식 출력"에 대한 하위 스팬이 포함될 수 있습니다. 이 계층적 조직은 에이전트 내의 전체 작업 흐름을 보여주는 세부 실행 트리를 생성합니다.
기본적으로 AgentCore는 메모리 리소스에 대해서만 스팬 데이터 세트를 출력합니다. 이 데이터는 CloudWatch Logs 및 CloudWatch Application 신호에서 볼 수 있습니다. 에이전트 또는 게이트웨이 리소스에 대한 스팬 데이터를 기록하려면 에이전트를 계측해야 합니다. 자세한 내용은 AgentCore 호스팅 에이전트의 에이전트 코드에서 관찰성 활성화 및 AgentCore 외부에서 호스팅되는 에이전트의 관찰성 활성화를 참조하세요.
세션, 트레이스 및 범위 간의 관계
세션, 트레이스 및 스팬은 에이전트의 관찰성 프레임워크에서 3단계 계층적 관계를 형성합니다. 세션에는 여러 추적이 포함되며, 각 추적은 세션의 광범위한 컨텍스트 내에서 개별 상호 작용을 나타냅니다. 각 트레이스에는 해당 상호 작용 내의 세분화된 작업과 단계를 캡처하는 여러 스팬이 포함됩니다. 이 계층 구조를 사용하면 상위 수준 세션 패턴부터 중간 수준 상호 작용 흐름, 특정 작업에 대한 세부 실행 경로에 이르기까지 다양한 수준의 세분화된 에이전트 동작을 분석할 수 있습니다.
이 세 가지 관찰성 구성 요소 간의 관계를 다음과 같이 시각화할 수 있습니다.
-
세션(최상위 수준) - 전체 사용자 대화 또는 상호 작용 컨텍스트를 나타냅니다.
-
트레이스(중간 수준) - 세션 내의 개별 요청-응답 주기를 나타냅니다.
-
범위(최저 수준) - 트레이스 내의 특정 작업 또는 단계를 나타냅니다.
이 다계층 관계를 통해 다음과 같은 몇 가지 중요한 관찰 기능을 사용할 수 있습니다.
-
광범위한 대화 흐름 내에서 개별 상호 작용에 대한 컨텍스트 분석
-
사용자의 상호 작용 여정 전반에 걸친 관련 요청의 상관관계
-
세션 수준 이상에서 트레이스 수준 패턴, 스팬 수준 근본 원인에 이르는 점진적 문제 해결
-
다양한 시간 및 기능 차원에서 포괄적인 성능 프로파일링
-
대화 전반에 걸친 에이전트 행동 패턴 및 진화에 대한 전체적인 이해
-
범위 분석을 통해 작업 수준에서 성능 병목 현상을 정확하게 식별
트레이스는 전체 요청-응답 주기에 대한 가시성을 제공하지만 스팬은 해당 주기의 내부 작업에 대한 심층적인 인사이트를 제공합니다. 스팬은 가장 많은 시간을 소비하는 작업, 오류가 발생하는 위치, 단일 추적 내에서 서로 다른 구성 요소가 상호 작용하는 방식을 정확하게 보여줍니다. 이러한 세분성은 복잡한 문제를 해결하거나 정교한 에이전트 구현에서 성능을 최적화할 때 특히 유용합니다.
관찰성 전략에서 세션, 추적 및 범위 데이터를 활용하여 에이전트의 동작, 성능 및 효과에 대한 포괄적인 인사이트를 여러 수준에서 세부적으로 얻을 수 있습니다. 관찰성에 대한이 다계층 접근 방식은 높은 수준의 대화 패턴에서 개별 운영 성능에 이르기까지 에이전트 구현의 지속적인 개선, 강력한 문제 해결 및 정보에 입각한 최적화를 지원합니다.