MLflow Tracing: LLM·에이전트 관측성

MLflow Tracing: LLM·에이전트 관측성

LLM 애플리케이션이나 AI 에이전트는 한 요청이 여러 단계를 거쳐서 처리되다 보니, 어디서 버그가 났는지 찾기가 쉽지 않아요. MLflow Tracing은 요청의 각 중간 단계마다 입력·출력·메타데이터를 잡아내서 문제의 원인을 정확히 짚어주는 LLM 관측성(observability) 솔루션이에요. 완전히 OpenTelemetry 호환이라 기존 관측 인프라에 그대로 연결할 수 있고, 오픈소스로 100% 무료예요.

출처: MLflow Tracing and Agent Observability

무엇이 다른가

MLflow Tracing은 LLM·에이전트 프레임워크의 추상화 아래에서 일어나는 일을 들여다볼 수 있게 해줘요. IDE나 노트북, MLflow UI에서 트레이스를 자연스럽게 탐색할 수 있어서 여러 탭을 오가며 헤맬 필요가 없죠.

  • 오픈소스, 무료: 추가 SaaS 비용 없이 자체 인프라에 트레이스 데이터를 저장해요.
  • OpenTelemetry 호환: GenAI Semantic Conventions를 기본 지원해서 내보내기·수집 모두 자유롭고, 특정 벤더에 종속되지 않아요.
  • 프레임워크 무관: OpenAI, LangChain, LlamaIndex, DSPy, Pydantic AI 등 모든 LLM 프로바이더와 에이전트 프레임워크에 통합돼요.
  • 엔드투엔드 플랫폼: 디버깅, 모니터링, 품질·성능 개선까지 한 플랫폼에서.
  • 튼튼한 커뮤니티: 리눅스 재단 소속 오픈소스로 20K+ GitHub 스타, 월 20MM+ 다운로드.

자동 트레이싱

OpenAI, LangChain, DSPy, Vercel AI 같은 라이브러리에는 한 줄 자동 트레이싱을 지원해요. 여러 라이브러리를 조합해도 됩니다.

import mlflow

mlflow.openai.autolog()
# 또는 다른 라이브러리 이름으로 교체: "anthropic"

지원 라이브러리 전체 목록과 상세 설정은 Integrations 페이지를 확인해요.

수동 계측

한 줄 자동 트레이싱 외에, Python SDK로 코드를 직접 계측하고 트레이스를 조작할 수도 있어요.

  • 함수를 트레이스: @mlflow.trace 데코레이터
  • 코드 블록 단위로 트레이스
  • 여러 자동 트레이싱 통합 조합
  • 멀티스레드 애플리케이션 계측
  • 네이티브 async 지원
  • 세션으로 트레이스 그룹화·필터링
  • 트레이스에서 PII 데이터 마스킹
  • 전역 트레이싱 비활성화
  • 샘플링 비율 설정으로 트레이스 처리량 조절
  • 서비스 간 트레이스 컨텍스트 전파
  • 트레이스에서 이미지·오디오 캡처 및 확인

프로덕션 모니터링

MLflow Tracing은 프로덕션 준비가 되어 있어요. **비동기 로깅(async logging)**을 켜면 트레이스 로깅이 백그라운드에서 일어나 애플리케이션 성능에 영향을 주지 않아요.

프로덕션 배포에서는 Production Tracing SDK(mlflow-tracing)를 권장해요. 설치 크기와 의존성을 최소화하면서 전체 트레이싱 기능을 유지하는 패키지인데, 전체 mlflow 패키지 대비 약 95% 더 작은 설치 공간을 차지해요.

더 알아보기