피드로 돌아가기
Built a Caching Proxy for OpenAI — Saved 40% on API Bills
Dev.toDev.to
Backend

OpenAI API를 호출하는 애플리케이션 앞에 SHA256 기반 캐싱 프록시를 배치해 API 비용을 40% 절감

Built a Caching Proxy for OpenAI — Saved 40% on API Bills

adamday752026년 3월 28일5intermediate

Context

CMMS(Computerized Maintenance Management System)에서 OpenAI API를 사용해 작업 지시서 생성, 예측 유지보수 알림, 공급업체 통신을 자동화하고 있었으나, 동일한 프롬프트가 반복적으로 전송되면서 매번 API 비용이 청구되는 문제가 발생했다.

Technical Solution

  • 사용자 요청과 모델 매개변수를 SHA256으로 해싱한 후 SQLite에 저장하는 캐시 키 생성 메커니즘 도입
  • Node.js + Express에서 /v1/chat/completions 엔드포인트를 인터셉트해 프록시 서버 구현 및 OpenAI API 앞단에 배치
  • 캐시 조회 시 TTL(Time To Live) 기반 만료 정책 적용: expires_at > Date.now() 검증으로 유효한 응답만 반환
  • 캐시 hit 시 보관된 JSON.stringify() 응답을 즉시 클라이언트에 반환하고, miss 시에만 OpenAI API에 forward한 후 결과를 캐시에 저장
  • 대시보드에서 캐시 hit/miss 비율, 절감액을 실시간 추적하는 분석 기능 탑재

Impact

  • 캐시 hit율: 75% (1주일 동안 1,847개 요청 중 1,385개 hit)
  • API 비용 절감: 약 40% (월 $100 기준 $40~60 절감)

Key Takeaway

반복되는 동일 프롬프트가 많은 API 기반 애플리케이션에서는 프록시 레이어의 SHA256 캐싱을 통해 단순한 구현으로도 상당한 비용 절감을 달성할 수 있으며, 프로덕션 배포 전에 데이터베이스 스키마를 확정하는 것이 마이그레이션 비용을 크게 줄인다.


OpenAI, Claude 등 외부 LLM API를 사용하는 SaaS 서비스에서 caching proxy 패턴을 도입하면 동일 프롬프트에 대한 반복 호출을 SQLite의 hash 기반 조회로 대체해 API 호출 빈도를 30~50% 감소시킬 수 있다.

원문 읽기