OpenTelemetry (OTEL)을 사용하면 Weave에서 Agno 에이전트와 도구 호출을 트레이스할 수 있습니다. Agno는 공유 메모리, 지식, 추론을 갖춘 멀티 에이전트 시스템을 구축하기 위한 Python 프레임워크입니다. 가볍고 모델에 구애받지 않으며 높은 성능을 제공하도록 설계되었고, 텍스트, 이미지, 오디오, 비디오 처리 등 멀티모달 기능을 지원합니다.
이 가이드에서는 OTEL을 사용해 Agno 에이전트와 도구 호출을 트레이스하고, Weave에서 해당 트레이스를 시각화하는 방법을 설명합니다. 필요한 의존성을 설치하고, 데이터를 Weave로 전송하도록 OTEL 트레이서를 설정하고, Agno 에이전트와 도구를 계측하는 방법을 알아봅니다.
-
필요한 의존성을 설치합니다:
-
OpenAI API 키(또는 다른 모델 제공업체의 API 키)를 환경 변수로 설정합니다:
-
Weave에서 OTEL 트레이싱 구성.
Agno에서 Weave로 트레이스를 전송하려면 TracerProvider와 OTLPSpanExporter를 사용해 OTEL을 설정하세요. exporter가 인증 및 프로젝트 식별에 필요한 올바른 엔드포인트와 HTTP 헤더를 사용하도록 설정하세요.
- Endpoint:
https://trace.wandb.ai/otel/v1/traces
- 헤더:
Authorization: W&B API 키를 사용한 Basic 인증
project_id: W&B entity/프로젝트 이름(예: myteam/myproject)
Agno에서 Weave로 OTEL 트레이스 보내기
사전 요구 사항을 완료한 후에는 Agno에서 Weave로 OTEL 트레이스를 보낼 수 있습니다. 다음 코드 스니펫은 Agno 애플리케이션에서 Weave로 OTEL 트레이스를 보내도록 OTLP span exporter와 tracer provider를 설정하는 방법을 보여줍니다.
Weave가 Agno를 올바르게 트레이스할 수 있도록, 코드에서 Agno 컴포넌트를 사용하기 전에 전역 tracer provider를 설정하세요.
트레이서 프로바이더를 설정한 후에는 자동 트레이싱으로 Agno 에이전트를 생성하고 실행할 수 있습니다. 다음 예제에서는 도구가 포함된 단순한 에이전트를 만드는 방법을 보여줍니다:
모든 에이전트 오퍼레이션은 자동으로 트레이스되어 Weave로 전송되므로, 실행 흐름, 모델 호출, 추론 단계, 도구 호출을 시각화할 수 있습니다.
Agno에서 도구를 정의하고 사용하면 이러한 도구 호출도 트레이스에 캡처됩니다. OTEL 인테그레이션은 에이전트의 추론 과정과 개별 도구 실행을 모두 자동으로 계측하여 에이전트 동작을 종합적으로 볼 수 있는 뷰를 제공합니다.
다음은 여러 도구를 사용하는 예시입니다:
Agno의 강력한 멀티 에이전트 아키텍처를 사용하면 서로 협업하고 컨텍스트를 공유할 수 있는 에이전트 팀을 만들 수 있습니다. 이러한 팀 상호작용도 모두 트레이스됩니다:
이 멀티 에이전트 트레이스는 Weave에서 여러 에이전트가 어떻게 협업하는지 보여주며, 작업이 에이전트 팀 전체에 어떻게 분배되고 실행되는지 파악할 수 있게 해줍니다.
Agno는 에이전트가 문제를 step-by-step으로 추론할 수 있도록 돕는 기본 제공 추론 기능을 제공합니다. 이러한 추론 과정은 트레이스에도 기록됩니다:
추론 step은 트레이스에서 확인할 수 있으며, 에이전트가 복잡한 문제를 어떻게 세분화하고 의사결정을 내리는지 보여줍니다.
Agno 에이전트는 메모리를 유지하고 지식 베이스에 액세스할 수 있습니다. 이러한 오퍼레이션도 트레이스됩니다:
대화 이력 저장 및 불러오기를 포함한 메모리 오퍼레이션은 트레이스에 표시됩니다.