프롬프트 캐싱 개요 — 작동 방식과 캐시 브레이크포인트

프롬프트 캐싱 개요

긴 문서나 시스템 프롬프트를 매번 다시 토큰화·처리하면 많은 비용이 들어요. 프롬프트 캐싱은 이전에 계산한 프롬프트 처리 결과를 재사용해서, 같은 내용이 반복될 때 그 부분의 처리 비용·지연을 크게 줄여줘요.

어떻게 동작하나

프롬프트 안의 특정 위치에 cache_control 마커를 두면 그 지점까지를 '캐시 브레이크포인트'로 삼아요. 다음 요청에서 같은 프롬프트 접두사가 오면 캐시된 부분은 다시 계산하지 않고 재사용해요.

import anthropic

client = anthropic.Anthropic()
message = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=1024,
    system=[
        {
            "type": "text",
            "text": "You are an AI assistant analyzing legal documents.",
            "cache_control": {"type": "ephemeral"},
        }
    ],
    messages=[{"role": "user", "content": "What are the key terms?"}],
)

어떤 경우 유리한가

  • 문서 분석처럼 긴 문서를 반복 쿼리할 때
  • 멀티턴 대화처럼 대화 히스토리가 누적될 때
  • 시스템 프롬프트·도구 정의가 크고 반복될 때

요약

캐시 히트가 나면 같은 요청 대비 더 빠르고 저렴해지지만, 캐시가 만료되면 다시 전체를 처리해야 해요. 캐시 가능 최소 길이와 만료 정책을 잘 확인해서 설계하세요.

더 알아보기