프롬프트 캐싱 개요 — 작동 방식과 캐시 브레이크포인트
프롬프트 캐싱 개요
긴 문서나 시스템 프롬프트를 매번 다시 토큰화·처리하면 많은 비용이 들어요. 프롬프트 캐싱은 이전에 계산한 프롬프트 처리 결과를 재사용해서, 같은 내용이 반복될 때 그 부분의 처리 비용·지연을 크게 줄여줘요.
어떻게 동작하나
프롬프트 안의 특정 위치에 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?"}],
)
어떤 경우 유리한가
- 문서 분석처럼 긴 문서를 반복 쿼리할 때
- 멀티턴 대화처럼 대화 히스토리가 누적될 때
- 시스템 프롬프트·도구 정의가 크고 반복될 때
요약
캐시 히트가 나면 같은 요청 대비 더 빠르고 저렴해지지만, 캐시가 만료되면 다시 전체를 처리해야 해요. 캐시 가능 최소 길이와 만료 정책을 잘 확인해서 설계하세요.