LLM 트레이싱 (Tracing 개요)

LLM 트레이싱 (Tracing 개요)

LLM 트레이싱은 요청이 LLM 애플리케이션의 여러 단계·구성 요소를 지나며 어떤 경로를 타는지 기록하는 방식이에요. 예를 들어 사용자가 앱과 상호작용하면 문서 검색, 임베딩 생성, 언어 모델 호출, 응답 생성 같은 일련의 작업 순서를 포착해 실행 타임라인을 상세히 보여줘요. Phoenix는 특정 LLM 벤더나 프레임워크에 얽매이지 않으면서 트레이싱을 제공하는데, OpenTelemetry 프로토콜(OTLP)로 트레이스를 받고 여러 프레임워크·SDK·언어에 대한 일급 계측(first-class instrumentation)을 지원해요. 분석한 트레이스 데이터로 성능·운영 문제를 찾아내고 시스템의 신뢰성과 효율성을 높일 수 있어요.

출처: Phoenix - Overview: Tracing

트레이싱으로 얻는 인사이트

  • 애플리케이션 지연 시간: LLM·Retriever 등 구성 요소의 느린 호출을 찾아내 성능과 응답성을 최적화해요.
  • 토큰 사용량: LLM 호출별 토큰 사용 내역을 세밀하게 보여줘서 가장 비싼 호출을 식별하고 다듬을 수 있어요.
  • 런타임 예외: rate limiting 같은 중요한 예외를 포착해 문제를 미리 예방하고 완화할 수 있어요.
  • 검색 문서: Retriever 호출에서 반환된 문서와 그 점수·반환 순서를 확인해 검색 과정을 이해할 수 있어요.
  • 임베딩: 검색에 쓰인 임베딩 텍스트와 임베딩 모델을 살펴 임베딩 전략을 검증·개선할 수 있어요.
  • LLM 파라미터: temperature, 시스템 프롬프트 같은 LLM 호출 파라미터를 점검해 설정을 최적화·디버깅할 수 있어요.
  • 프롬프트 템플릿: 프롬프트 단계에서 쓰인 템플릿과 적용된 변수를 파악해 프롬프트 전략을 다듬을 수 있어요.
  • 도구 설명: LLM이 접근 가능한 도구의 설명과 함수 시그니처를 확인해 LLM의 능력을 이해·통제할 수 있어요.
  • LLM 함수 호출: OpenAI처럼 함수 호출을 지원하는 LLM은 입력의 함수 선택·함수 메시지를 점검해 디버깅·최적화에 활용할 수 있어요.

기능

  • 프로젝트(Projects): 애플리케이션별로 트레이스를 별도 프로젝트에 정리해요.
  • 세션(Sessions): 관련 트레이스를 대화·사용자 세션으로 묶어요.
  • 어노테이션(Annotations): 트레이스에 피드백·라벨·점수를 추가해요.
  • 메트릭(Metrics): 지연 시간, 토큰 사용량, 오류율을 모니터링해요.

더 알아보기

  • 퀵스타트: 첫 트레이스를 Phoenix로 보내기
  • 개념: 트레이스와 스팬이 어떻게 동작하는지
  • how-to 가이드: 흔한 작업을 위한 단계별 튜토리얼
  • 메타데이터·태그: 필터링·분석용 커스텀 속성 붙이기
  • 수동 계측: 데코레이터·래퍼로 커스텀 스팬 추가하기