피드로 돌아가기
Semantic caching our flaky-test summariser: 58% fewer LLM calls
Dev.toDev.to
AI/ML

Semantic Caching 도입으로 LLM 호출 58% 절감 및 Latency 95% 개선

Semantic caching our flaky-test summariser: 58% fewer LLM calls

claire nguyen2026년 6월 22일5intermediate

Context

Flaky-test 요약을 위해 일일 40k 건의 LLM 호출이 발생하며 비용과 지연 시간이 증가한 상황. 타임스탬프나 컨테이너 ID만 다른 유사 실패 로그가 반복되어 단순 Key-value 캐시로는 중복 요청을 처리하지 못하는 한계 발생.

Technical Solution

  • 의미적 유사성 기반 매칭을 위해 Bifrost Gateway에 Semantic Cache 플러그인 도입
  • OpenAI text-embedding-3-small 모델을 통한 입력 텍스트의 Vector Embedding 변환 및 저장
  • Cosine Similarity 임계값을 0.92로 설정하여 정확도와 Hit Rate 사이의 균형 최적화
  • 신규 프롬프트 적용 시 발생하는 데이터 오염 방지를 위해 TTL 24시간 설정으로 자동 갱신 구조 설계
  • 단일 Go Binary 기반의 Self-hosted 아키텍처를 채택하여 Redis 등 외부 의존성 최소화 및 운영 복잡도 제거
  • Cache Hit 시 LLM Provider 호출 없이 즉시 응답하는 구조로 Upstream 장애 시 Load Shedding 효과 확보

Impact

  • LLM API 호출 횟수 58% 감소
  • Cache Hit 시 p50 Latency 900ms에서 40ms로 단축
  • Primary Provider 11분간의 Brownout 발생 시 요청의 50% 이상을 캐시로 처리하여 시스템 안정성 유지

- 입력 텍스트에 가변적인 식별자(ID, Timestamp)가 포함된 경우 Key-based 대신 Semantic Caching 검토 - 임계값 설정 시 정밀도(Precision) 저하로 인한 잘못된 정보 제공 리스크를 고려해 보수적 Threshold 설정 - 캐시 도입이 단순 비용 절감을 넘어 Upstream 장애 시 Blast Radius를 줄이는 가용성 전략으로 활용 가능함을 인지 - 프롬프트 변경 등 모델 업데이트 주기와 연동된 적절한 TTL 정책 수립 필요

원문 읽기