k
korAI
고급 전체
🔥 고급2026-06-175~7분

Prompt Caching으로 반복 컨텍스트 비용 90% 절감하기

Anthropic의 prompt caching을 활용해 시스템 프롬프트·RAG 문서 재사용 시 토큰 비용을 대폭 줄이는 전략과 실패 모드를 다룬다.

prompt-cachingcost-optimizationobservability

Prompt Caching 동작 원리와 수치

Anthropic prompt caching은 cache_control: {type: 'ephemeral'} 마커를 삽입한 블록을 최대 5분간 서버 측에 캐싱한다. cache write 비용은 기본 입력 토큰의 1.25배이지만, cache hit 시 0.1배로 줄어든다. 1000 토큰짜리 시스템 프롬프트를 100회 호출한다고 가정하면:

  • 캐싱 없음: 100,000 토큰 과금
  • 캐싱 적용: 1,250(write) + 9,900(hit×99) = 11,150 토큰 수준
  • 절감률: 약 88%

RAG 파이프라인에서 대형 컨텍스트 문서를 매 요청마다 붙이는 구조라면 효과가 극대화된다.

실제 SDK 예제

import anthropic

client = anthropic.Anthropic()

LARGE_SYSTEM_DOC = "...수천 토큰 분량의 정책 문서..."  # 실제론 파일 로드

response = client.messages.create(
    model="claude-opus-4-5",
    max_tokens=1024,
    system=[
        {
            "type": "text",
            "text": LARGE_SYSTEM_DOC,
            "cache_control": {"type": "ephemeral"}  # 캐시 경계 마커
        },
        {
            "type": "text",
            "text": "위 문서를 참고해 사용자 질문에 답하라."
        }
    ],
    messages=[{"role": "user", "content": "환불 정책이 어떻게 되나요?"}]
)

usage = response.usage
print(f"cache_creation_input_tokens: {usage.cache_creation_input_tokens}")
print(f"cache_read_input_tokens:     {usage.cache_read_input_tokens}")
print(f"input_tokens:                {usage.input_tokens}")

usage 객체의 세 필드를 모니터링해 hit율을 추적하라. hit율이 낮으면 캐시 마커 위치나 TTL 만료를 의심한다.

트레이드오프와 실패 모드

트레이드오프

  • 캐시 마커는 messages 배열의 앞쪽 고정 블록에만 유효하다. 사용자 메시지처럼 매번 바뀌는 부분에 마커를 달면 매번 write만 발생해 오히려 비용 증가.
  • 캐시 TTL은 5분이므로 트래픽이 낮은 새벽 시간대엔 hit율이 급락한다.
  • 멀티턴 대화에서 히스토리가 길어질수록 마커 이후 내용이 달라져 캐시 미스 발생.

실패 모드

  1. 마커를 messages 배열 중간에 배치 → 무시됨. 항상 system 또는 messages 앞부분에 배치.
  2. 동일 내용이라도 공백·개행 차이로 캐시 미스 발생 → 템플릿을 상수로 고정.
  3. 캐시 hit 여부를 모니터링하지 않아 비용 이상을 뒤늦게 발견.

운영 체크리스트

  • [ ] cache_creation_input_tokens / cache_read_input_tokens 메트릭을 Datadog·Grafana에 전송
  • [ ] hit율 = read / (read + creation) 기준 70% 미만이면 알림 설정
  • [ ] 캐시 대상 텍스트를 환경변수 또는 상수로 관리해 내용 변경 추적
  • [ ] 트래픽 낮은 시간대 배치 작업엔 Batch API 병행 고려
  • [ ] 모델 업그레이드 시 캐시 키가 리셋됨을 배포 계획에 반영