# [[옵저버빌리티 (Observability)]]

## 📌 Brief Summary
옵저버빌리티(Observability)는 시스템의 상태와 내부 작업 과정을 추적, 측정, 디버깅할 수 있도록 가시성을 제공하는 핵심 체계이다 [1]. RAG(검색 증강 생성)와 같은 최신 AI 시스템 및 애플리케이션 환경에서 OpenTelemetry 표준 등을 활용하여 로그, 지표(Metrics), 트레이스(Traces) 데이터를 수집한다 [1, 2]. 이를 통해 시스템 문제나 잘못된 결과가 발생했을 때, 엔지니어가 실행 내역을 재생하고 정확한 실패 지점을 식별하여 신뢰성을 확보할 수 있게 한다 [1].

## 📖 Core Content
* **RAG 및 AI 파이프라인의 가시성 확보**
  프로덕션 환경에 배포되는 RAG 시스템의 모든 운영은 반드시 추적 및 측정, 디버깅이 가능해야 한다 [1]. OpenTelemetry 표준 등의 영향을 받은 최신 옵저버빌리티 스택은 검색 파이프라인 전반에 걸쳐 스팬(Span) 수준의 상세 지표를 계측한다 [1]. 여기에는 '어떤 문서가 검색되었는지', '해당 문서가 특정 순위로 지정된 이유는 무엇인지', '각 단계별 지연 시간(Latency)은 얼마인지', '어떤 LLM 호출이 이루어졌고 토큰이 얼마나 소비되었는지'가 포함된다 [1]. RAG 시스템이 오답을 생성할 경우, 엔지니어는 옵저버빌리티 데이터를 통해 정확한 검색 트레이스를 재생하여 관련성 낮은 문서의 랭킹 상승이나 문맥 오해 등의 실패 지점을 파악할 수 있다 [1].
* **IT 인프라 및 애플리케이션 모니터링**
  옵저버빌리티 솔루션(예: Elastic Observability 등)은 IT 환경의 로그(Logs), 지표(Metrics), 트레이스(Traces)를 포괄적으로 분석하는 데 사용된다 [2, 3]. 이를 통해 APM(애플리케이션 성능 모니터링), RUM(실제 사용자 모니터링), 합성 모니터링(Synthetic monitoring), 쿠버네티스(Kubernetes) 등 다양한 인프라에 대한 실시간 가시성을 확보하고 시스템 이상을 진단한다 [2, 3].

## ⚖️ Trade-offs & Caveats
* **성능 오버헤드 (Performance Overhead)**
  옵저버빌리티 구현을 위해 수행되는 지속적인 로깅(Logging), 트레이싱(Tracing), 지표 수집(Metric collection) 등의 작업은 전체 시스템 성능을 20~30%가량 저하시키는 치명적인 오버헤드를 유발할 수 있다 [4].
* **최적화 및 완화 전략**
  이러한 성능 저하의 부작용을 완화하기 위해서는 모든 데이터에 대한 상세 트레이싱 대신 샘플링(Sampling) 전략을 구현하고, 비동기 로깅(Asynchronous logging)을 적용해야 한다 [4]. 
* **선택적 적용의 필요성**
  모든 쿼리에 동일한 수준의 모니터링을 적용하기보다는, 쿼리의 위험 프로필(Risk profile)에 따라 선택적으로 옵저버빌리티 수준을 조정하는 것이 권장된다 [4]. 또한 전체 응답 지연 시간(Total latency) 중 옵저버빌리티 오버헤드가 차지하는 비율을 측정하여 시스템 성능과의 균형을 유지해야 한다 [4].

---
*Last updated: 2026-05-04*