Application Insights를 사용하여 추적
에이전트 실행의 추론을 결정하는 것은 문제 해결 및 디버깅에 중요합니다. 그러나 복잡한 에이전트는 다음과 같은 여러 가지 이유로 어려울 수 있습니다.
- 응답을 생성하는 데 많은 단계가 관련될 수 있으므로 모든 단계를 추적하기가 어려울 수 있습니다.
- 단계 시퀀스는 사용자 입력에 따라 달라질 수 있습니다.
- 각 단계의 입력/출력은 길 수 있으며 보다 자세한 검사를 받을 자격이 있습니다.
- 에이전트 런타임의 각 단계에는 중첩도 포함될 수 있습니다. 예를 들어 에이전트는 다른 프로세스를 사용하는 도구를 호출한 다음 다른 도구를 호출할 수 있습니다. 최상위 에이전트 실행에서 이상하거나 잘못된 출력을 발견하면 실행에서 문제가 발생한 위치를 정확히 확인하기 어려울 수 있습니다.
추적은 특정 에이전트 실행에 관련된 각 기본 형식의 입력 및 출력을 호출된 순서대로 명확하게 볼 수 있도록 하여 이 문제를 해결합니다.
Application Insights 리소스 만들기
추적을 사용하면 OpenTelemetry를 사용하고 Azure AI Foundry 프로젝트에 Application Insights 리소스를 추가하여 에이전트의 성능과 동작을 분석할 수 있습니다.
Application Insights 리소스를 추가하려면 Azure AI Foundry 포털의 추적 탭으로 이동하고 아직 리소스가 없는 경우 새 리소스를 만듭니다.
만든 후에는 Application Insights 연결 문자열 가져와서 에이전트를 구성하고 Azure Monitor를 통해 에이전트의 전체 실행 경로를 관찰할 수 있습니다. 일반적으로 에이전트를 만들기 전에 추적을 사용하도록 설정하려고 합니다.
에이전트 추적
pip install
먼저 OpenTelemetry 및 Azure SDK 추적 플러그 인을 설치합니다.
pip install opentelemetry
pip install azure-core-tracing-opentelemetry
또한 결과를 관찰성 백 엔드로 보내려면 내보내기가 필요합니다. 추적을 콘솔에 인쇄하거나 Aspire 대시보드와 같은 로컬 뷰어를 사용할 수 있습니다. Aspire 대시보드 또는 다른 OpenTelemetry 호환 백 엔드에 연결하려면 OTLP(OpenTelemetry Protocol) 내보내기를 설치합니다.
pip install opentelemetry-exporter-otlp
패키지가 설치되면 다음 Python 샘플 중 하나를 사용하여 에이전트로 추적을 구현할 수 있습니다. 콘솔 추적을 사용하는 샘플은 콘솔에 로컬로 결과를 표시합니다. Azure Monitor를 사용하는 샘플은 포털의 왼쪽 탐색 메뉴에 있는 추적 탭에 있는 Azure AI Foundry 포털의 Azure Monitor로 추적을 보냅니다.
참고 항목
에이전트 추적 기능에 알려진 버그가 있습니다. 이 버그로 인해 콘텐츠 녹화를 사용하도록 설정되지 않은 경우에도 에이전트의 함수 도구가 관련 정보(중요한 정보를 포함할 수 있는 함수 이름 및 매개 변수 값)를 추적에 포함하도록 합니다.
Azure Monitor 사용
콘솔 추적 사용