원리
prompt caching이 활성화된 요청을 보내면, 시스템은 최근 쿼리에서 프롬프트 접두사가 캐시되었는지 확인합니다. 발견되면 캐시를 사용하여 처리 시간과 비용을 줄입니다; 그렇지 않으면 전체 프롬프트를 처리하고 응답이 시작된 후 접두사를 캐시합니다. 이는 다음 시나리오에서 특히 유용합니다:- 많은 예시를 포함하는 프롬프트
- 광범위한 컨텍스트 또는 배경 정보
- 일관된 지시가 있는 반복 작업
- 긴 다중 턴 대화
핵심 메커니즘
다른 모델 공급자는 캐싱에 대해 다양한 지원을 합니다:자동 캐싱
자동 캐싱은 추가 구성이 필요하지 않으며; 시스템이 자동으로 재사용 가능한 콘텐츠를 식별하고 캐싱하며, OpenAI, DeepSeek 등의 모델에 적용됩니다.OpenAI
- 최소 프롬프트 길이: 1024 토큰, 접두사가 글자 단위로 일치하면 자동으로 히트합니다
- GPT-5.6 이전 모델: 캐시 쓰기는 별도 과금 없음, 캐시 읽기는 해당 모델의 캐시 읽기 가격으로 과금
- GPT-5.6 및 이후(공식 표현 “GPT-5.6 models and later model families”, 현재 gpt-5.6-sol / terra / luna): 캐시 쓰기는 입력 가격의 1.25배, 읽기는 0.1배로 과금되며,
prompt_cache_key와 명시적 캐시 중단점 파라미터가 추가되었습니다 - 사용법, 과금, 히트 문제 해결은 GPT 프롬프트 캐싱 참고
Gemini
- 암시적 컨텍스트 캐싱이 기본적으로 활성화되어 있으며, 수동 구성 없이 캐싱이 자동으로 효과적입니다.
- 캐싱은 콘텐츠, 모델 및 파라미터가 동일할 때만 효과적입니다; 차이가 있으면 새 요청으로 처리되며 캐시에 적중하지 않습니다.
- 캐시 유효 기간은 개발자가 설정하며, 설정하지 않을 수도 있습니다. 지정하지 않으면 기본적으로 1시간입니다. 최소 또는 최대 기간 제한이 없으며, 비용은 캐시된 토큰 수와 캐시 기간에 따라 다릅니다.
DeepSeek / Grok / Moonshot / Groq
- 비용: 캐시에 쓰기는 무료이거나 동일한 가격이며, 캐시에서 읽기는 원래 가격보다 낮습니다
Claude 모델 명시적 캐싱
cache_control로 활성화해야 합니다: 요청 본문 최상위 필드로 자동 중단점 설정(대화에 따라 앞으로 이동), 또는 콘텐츠 블록 단위 중단점으로 캐시 위치를 세밀하게 제어- 활성 상태의 모든 Claude 모델이 지원하며, 캐시 쓰기는 5분 캐시 1.25배·1시간 캐시 2배, 읽기는 0.1배로 전 모델에 동일하게 적용됩니다
- Anthropic Claude 모델에 적용됩니다
Claude는 모델별로 최소 캐시 가능 토큰 임계값을 설정합니다(512 / 1,024 / 2,048 / 4,096 등으로 다양하며, 버전이 높을수록 임계값이 높은 것은 아닙니다). 예를 들어 Claude Opus 4.8은 1,024, Claude Opus 4.7은 2,048, Claude Opus 4.6 / 4.5와 Claude Haiku 4.5는 4,096, Claude Fable 5는 512입니다. 임계값 미만의 접두사는
cache_control을 표시하더라도 캐시에 기록되지 않으며, 오류도 발생하지 않습니다. 응답에서 cache_creation_input_tokens와 cache_read_input_tokens가 동시에 0이면 이 경우입니다. 전체 구간과 문제 해결은 Claude 프롬프트 캐싱을 참고하세요.OpenAI 호환 인터페이스
system, user (이미지 포함), tools에서 cache_control 필드를 사용하여 캐싱 중단점을 설정할 수 있습니다. 다음 예시는 주요 구조만 표시합니다:
System 메시지 캐싱 (기본 5분 TTL):
cache_control을 tool 객체의 최상위 수준 (type 및 function과 동일한 수준)에 배치합니다:
Anthropic 호환 인터페이스
캐싱 기간
- 기본값: 5분
- 선택 사항: 1시간 (“ttl”: “1h”)
자세한 내용은 다음을 참조하세요: Claude Prompt Caching
사용 권장 사항
- 안정적인 접두사 유지
- 대형 텍스트 캐싱
- RAG 데이터
- 긴 텍스트
- CSV / JSON 데이터
- 역할 설정
- TTL 제어
- 짧은 세션 → 5분
- 긴 세션 → 1시간 (더 비용 효율적)
- 캐시 쓰기 감소