Skip to main content
PydanticAI 에이전트와 도구 Call을 Weave에서 OpenTelemetry (OTEL)를 사용하여 트레이스할 수 있습니다. PydanticAI는 Pydantic 팀이 구축한 Python 에이전트 프레임워크로, 생성형 AI를 사용하여 프로덕션급 애플리케이션을 간단하고 타입 안전하게 구축할 수 있도록 합니다. 모든 에이전트와 도구 Call을 트레이싱하기 위해 OTEL을 사용합니다.
Weave의 OTEL 트레이싱에 대한 자세한 내용은 Weave에 OTEL 트레이스 보내기를 참조하세요.
이 가이드는 Weave에서 에이전트와 도구 실행에 대한 가시성을 원하는 PydanticAI 에이전트를 구축하는 개발자를 위한 것입니다. OTEL을 사용하여 PydanticAI 에이전트와 도구 Call을 트레이스하고 Weave에서 해당 트레이스를 시각화하는 방법을 보여줍니다. 의존성을 설치하고, Weave로 데이터를 전송하기 위해 OTEL 트레이서를 설정하며, PydanticAI 에이전트와 도구를 계측하는 방법을 배웁니다. 또한 애플리케이션의 모든 에이전트에서 기본적으로 트레이싱을 활성화하는 방법도 확인할 수 있습니다.

사전 요구 사항

Weave에 트레이스를 전송하려면 OTEL 의존성을 설치하고 OTEL 익스포터를 설정해야 합니다. 필수 OTEL 의존성을 설치하세요:
그런 다음, Weave에서 OTEL 트레이싱 설정.

Weave에서 OTEL 트레이싱 설정

PydanticAI에서 Weave로 트레이스를 보내려면 TracerProvider와 OTLPSpanExporter로 OTEL을 설정하세요. 익스포터에는 인증 및 프로젝트 식별에 필요한 올바른 엔드포인트와 HTTP 헤더를 지정하세요. API 키나 프로젝트 정보 같은 민감한 환경 변수는 환경 파일(예: .env)에 저장하고 os.environ으로 불러오세요. 이렇게 하면 자격 증명을 코드베이스와 분리해 안전하게 보관할 수 있습니다.

필수 설정

  • 엔드포인트: https://trace.wandb.ai/otel/v1/traces
  • 헤더:
    • Authorization: W&B API 키를 사용한 기본 인증.
    • project_id: W&B entity와 프로젝트 이름 (예: myteam/myproject).

예시 설정

다음 코드 스니펫은 PydanticAI 애플리케이션에서 OTEL 트레이스를 Weave로 전송하기 위해 OTLP span 익스포터와 트레이서 프로바이더를 설정하는 방법을 보여줍니다.
이제 tracer_provider를 PydanticAI 에이전트에 전달하여 OTEL 트레이스를 Weave로 라우팅할 수 있습니다.

PydanticAI 에이전트를 OTEL로 트레이스

PydanticAI 에이전트를 트레이스하고 트레이스 데이터를 Weave로 전송하려면, 트레이서 프로바이더로 설정된 InstrumentationSettings 객체를 Agent Constructor에 전달하세요. 이렇게 하면 모든 에이전트와 도구 Call이 OTEL 설정에 따라 트레이스됩니다. 다음 예시는 트레이싱이 활성화된 기본 에이전트를 만드는 방법을 보여줍니다. 핵심 단계는 에이전트를 초기화할 때 instrument 인수를 설정하는 것입니다:
에이전트에 대한 모든 Call은 트레이스되어 Weave로 전송됩니다.
기본 PydanticAI 에이전트의 트레이스 시각화

PydanticAI 도구를 OTEL로 트레이스하기

Weave는 OTEL로 계측된 모든 PydanticAI 오퍼레이션을 트레이스할 수 있으며, 에이전트와 도구 Call을 모두 포함합니다. 즉, 에이전트가 도구(예: @agent.tool_plain으로 데코레이트된 함수)를 호출할 때, 도구 입력, 출력, 모델의 추론을 포함한 전체 상호작용이 Weave에서 캡처되어 시각화됩니다. 다음 예시는 system 프롬프트와 도구가 있는 에이전트를 만드는 방법을 보여줍니다. 에이전트와 도구 모두에 대해 트레이싱이 자동으로 활성화됩니다:
도구 Call의 트레이스 시각화
에이전트 call과 도구 Call은 모두 Weave에서 traced되어 애플리케이션의 전체 추론 및 실행 경로를 검사할 수 있습니다.

모든 에이전트에 기본적으로 계측 적용

애플리케이션의 모든 PydanticAI 에이전트에 OTel 트레이싱을 적용하려면 Agent.instrument_all() 방법을 사용하세요. 이렇게 하면 instrument 매개변수를 명시적으로 지정하지 않은 모든 에이전트에 대해 기본 InstrumentationSettings 인스턴스를 설정합니다.
더 큰 애플리케이션에서 모든 에이전트에 걸쳐 일관된 트레이싱 설정을 반복하지 않고 원할 때 유용합니다. 자세한 내용은 PydanticAI OTEL docs를 참조하세요.

자세히 알아보기

마지막 수정일 2026년 9월 30일