피드로 돌아가기
Dev.toFrontend
원문 읽기
Expo 앱 내 LLM 비용 및 TTFT 추적을 위한 On-device Observability 구현
I built react-native-llm-meter, LLM cost tracking for Expo apps
AI 요약
Context
기존 Langfuse, Helicone 등 Observability 도구의 Node.js API 의존성으로 인한 Expo 환경 적용 불가 문제 발생. 특히 Hermes 엔진에서의 Streaming 처리 한계와 AsyncStorage 어댑터 부재로 인한 온디바이스 메트릭 수집의 병목 지점 식별.
Technical Solution
- SDK Wrap 패턴을 통한 기존 LLM 클라이언트 인터페이스 유지 및 투명한 메트릭 수집 구조 설계
- Provider별 상이한 First-token 시그널(content_block_delta, delta.content 등) 분석을 통한 표준화된 TTFT 측정 로직 구현
- 데이터 볼륨에 따른 AsyncStorageAdapter와 SqliteAdapter의 전략적 선택 및 마이그레이션 헬퍼 제공
- 민감 정보 유출 방지를 위해 Prompt Content 수집을 구조적으로 완전히 배제한 Zero-log 아키텍처 채택
- Remote Sink 인터페이스 구현을 통한 Sentry, Datadog 등 외부 엔드포인트로의 유연한 데이터 전송 지원
- Hardcoded Pricing Table 기반의 온디바이스 비용 즉시 계산 및 Budget Alert 콜백 시스템 구축
실천 포인트
- 온디바이스 LLM 구현 시 단순 Latency보다 사용자 체감 성능 지표인 TTFT(Time To First Token)를 분리하여 측정할 것 - 모바일 환경의 데이터 저장소 특성을 고려하여 데이터 규모에 맞는 Storage Adapter(AsyncStorage vs SQLite)를 선택할 것 - 클라이언트 사이드 로깅 설계 시 개인정보 보호를 위해 데이터 수집 단계에서부터 Prompt 내용을 배제하는 구조적 제약을 설정할 것 - 외부 API 의존성이 높은 라이브러리 도입 시 플랫폼 전용 API(Node-only) 포함 여부를 사전에 검토할 것