자동 계측 vs 수동 계측 — 상세 비교
자동 계측 (Autolog)의 동작 원리
Autolog는 대상 프레임워크의 핵심 메서드를 몽키패치(Monkey Patch) 하여 호출 전후에 Span 생성/종료 코드를 주입합니다.자동 vs 수동 계측 선택 가이드
| 기준 | 자동 계측 | 수동 계측 |
|---|---|---|
| 설정 난이도 | 한 줄 (mlflow.xxx.autolog()) | 각 함수에 데코레이터/컨텍스트 추가 |
| 커버리지 | 프레임워크 내부 호출만 | 비즈니스 로직 포함 전체 |
| 커스텀 속성 | 제한적 (프레임워크가 제공하는 정보만) | 자유롭게 추가 가능 |
| 오버헤드 | 매우 낮음 | 매우 낮음 |
| 권장 사용 | 빠른 프로토타이핑, 표준 파이프라인 | 프로덕션, 세밀한 제어 필요 시 |
💡 실무 패턴: 자동 계측과 수동 계측을 함께 사용 하는 것이 가장 효과적입니다. 프레임워크 호출은 Autolog로 자동 추적하고, 비즈니스 로직(전처리, 후처리, 캐시 확인 등)은 수동으로 Span을 추가합니다.
LangChain/LlamaIndex 통합 상세
LangChain 통합
LangChain의 모든 주요 컴포넌트가 자동으로 추적됩니다.| 컴포넌트 | Span Type | 추적 내용 |
|---|---|---|
ChatModel (ChatOpenAI 등) | LLM | 프롬프트, 응답, 토큰 수, 모델명, 온도 |
Retriever (VectorStoreRetriever) | RETRIEVER | 쿼리, 검색 결과, 문서 수, 점수 |
Tool | TOOL | 도구명, 입력, 출력, 실행 시간 |
Chain (RunnableSequence) | CHAIN | 체인 구성, 각 단계 입출력 |
Agent (AgentExecutor) | AGENT | 추론 과정, 도구 선택 이유, 반복 횟수 |