피드로 돌아가기
I cut Claude API costs by 90% with prompt caching. Here's what I learned before I had to shut it down.
Dev.toDev.to
Backend

I cut Claude API costs by 90% with prompt caching. Here's what I learned before I had to shut it down.

Scrollbook이 Claude API의 prompt caching을 도입해 세션당 비용을 $10-11에서 $0.50-1.50으로 90% 절감

Dusty Mumphrey2026년 3월 25일10intermediate

Context

디스코드 D&D 봇 Scrollbook에서 매 메시지마다 4,000~5,000토큰 규모의 시스템 프롬프트와 캠페인 컨텍스트를 전체 재처리하고 있었다. 1시간 세션(15~25회 왕복)마다 $10-11의 API 비용이 발생했으나 수익화 모델이 없어 866개 서버, 1,000명 이상 사용자 규모에서 지속 불가능했다.

Technical Solution

  • 프롬프트 어셈블리 중앙화: 6개 서비스에 �산된 프롬프트 생성 로직을 cipher_service.py의 ContextManager.build_context()로 단일화
  • Prompt caching 구조 적용: 시스템 프롬프트와 캠페인 컨텍스트를 불변 프리픽스로 구성하고 cache_control 필드(2줄 코드)로 마킹
  • 프롬프트 순서 재설계: 캐시 대상 부분을 프롬프트 최상단에 배치, 메시지 이력 등 변동 부분을 후미에 배치하여 바이트 단위 프리픽스 매칭 보장
  • Postgres에서 길드별(Discord guild ID) 스코핑된 캠페인·캐릭터·파티 데이터를 요청 단위로 조회하되, 캐시 프리픽스는 세션당 동일하게 유지
  • 5분 TTL의 Anthropic 에페머럴 캐시 활용: 첫 메시지는 캐시 쓰기(약 1.25배 비용), 이후 메시지는 캐시 히트(약 10% 비용)

Impact

  • 세션당 API 비용: $10-11 → $0.50-1.50 (90% 절감)
  • 캐시 히트 시 입력 토큰 비용: 정가 대비 약 10% 수준

Key Takeaway

Claude API에서 large language model을 규모 있게 운영할 때, 시스템 프롬프트가 길고 안정적이며 트래픽 밀도가 높으면 prompt caching을 통해 유의미한 비용 절감이 가능하다. 단, 기술적 최적화만으로는 비즈니스 지속성을 담보할 수 없으며, 수익화 모델을 먼저 설계하고 비용 최적화를 그 후에 추진해야 한다.


Claude API 기반의 프로덕션 서비스를 운영하는 엔지니어는 각 요청에서 반복되는 시스템 프롬프트와 컨텍스트를 식별한 후, Anthropic의 prompt caching API에서 cache_control 필드를 사용해 프리픽스를 명시적으로 마킹하면, 캐시 히트 시 입력 토큰 비용을 약 90% 절감할 수 있다. 단, TTL 내 캐시 히트율이 충분히 높은 세션 밀도 환경에서만 경제성이 확보되므로, 트래픽 패턴을 먼저 검증해야 한다.

원문 읽기