설치
pydantic-ai-slim 2.0~3.0. 2.0에서 Agent(instrument=...)가 제거되고 이 어댑터가 기반으로 하는 capability 프로토콜이 도입되었으므로, 1.x는 이 방식으로 계측할 수 없습니다.
계측
root_capability로 병합하므로, 읽을 수 있는 agent.capabilities 속성은 없습니다.
계측 중에 생성된 에이전트는 capability를 유지하므로, 에이전트를 다시 빌드하지 않고도 uninstrument() 후 재계측할 수 있습니다.
기록되는 항목
훅 페어와 휴먼-인-더-루프 페어는 없습니다. Pydantic AI는 브래킷을 감쌀 수 있는 노드나 스텝 경계가 없고 내장된 휴먼 일시정지 기능도 없으므로 매핑할 대상이 없습니다. 이를 직접 구현하는 경우 이벤트를 직접 발행하세요 — 커스텀 에이전트를 참고하세요.
output_type은 트레이스에 영향을 주지 않습니다. 타입이 지정된 실행과 문자열 실행은 동일한 이벤트를 생성합니다.
예제
restock_eta는 오류를 담은 tool_result로 나타나고, 이후 에이전트가 이를 우회하는 모델 호출이 이어지며 실행은 success로 종료됩니다. 두 사실 모두 기록됩니다.
오류, 재시도, 제어 흐름
Pydantic AI는 세 가지 서로 다른 상황에서 예외를 발생시키며, 어댑터는 이를 구분합니다:ModelRetry는 의도적으로 첫 번째 그룹에 포함됩니다. 이는 시도가 실제로 실패하여 모델에게 재시도를 요청한 것으로, 도구 스팬의 오류 필드가 담당하는 역할입니다. 이를 제어 흐름으로 분류하면 실제 도구 실패가 성공한 실행 뒤에 숨겨집니다.
스팬 이름 지정
Pydantic AI의 자체 실행 스팬은agent로 명명됩니다. 원하는 레이블을 부여하려면 호출을 래핑하세요:
inventory 아래에 중첩되고, 모델과 도구 이벤트가 거기에 연결됩니다.
agent_id는 낮은 카디널리티를 유지하세요. 이는 모든 대시보드 화면의 기본 패싯이므로 역할 이름을 사용하고 UUID나 실행별 문자열은 사용하지 마세요.
세션 제어
다음 순서로 결정되며, 첫 번째로 일치하는 것이 적용됩니다:instrument("pydantic_ai", session_id=...)- 감싸고 있는
failproofai_sdk.session()스코프 - 실행의
conversation_id, 이후run_id - 생성된
uuid4().hex
옵션
자주 발생하는 문제
실행은 정상이지만 이벤트가 나타나지 않음
실행은 정상이지만 이벤트가 나타나지 않음
Agent가 instrument() 실행 이전에 생성된 경우입니다. 위의 경고를 참고하고 agent.root_capability.capabilities를 확인하세요.도구에서 발생한 일반 예외가 실행을 중단시킴
도구에서 발생한 일반 예외가 실행을 중단시킴
단순한
raise는 그대로 전파됩니다. 이것이 Pydantic AI의 설계입니다. 모델이 이를 우회할 수 있도록 하려면 모델이 활용할 수 있는 메시지와 함께 ModelRetry를 발생시키세요. 어느 경우든 실패는 기록됩니다.직접 생성하지 않은 중첩된 에이전트 스팬이 있음
직접 생성하지 않은 중첩된 에이전트 스팬이 있음
해당 자식 스팬은 Pydantic AI 자체의 실행 스팬으로, 모델과 도구 이벤트가 연결되는 곳입니다. 커스텀 이름을 포기하는 대신 단일 스팬을 원한다면 자체 스코프를 제거하세요.
트레이스백이 잘림 표시로 시작됨
트레이스백이 잘림 표시로 시작됨
Pydantic AI의 비동기 그래프 스택이 페이로드 필드 제한보다 길며, 트레이스백의 마지막 줄은 예외 자체입니다. 이 필드는 뒤가 아닌 앞에서 잘리므로 필요한 줄은 유지됩니다.
다음 단계
작동 방식
페어, id, 세션 생명주기, 전달 방식.
트레이스 읽기
방금 캡처한 세션에서 인과관계를 추적합니다.
다른 프레임워크
LangGraph, CrewAI, LlamaIndex, 커스텀 에이전트.

