캐싱이 작동하는 방식
캐싱은 prefix 매칭 기반으로 동작합니다. 처리된 토큰을 저장해 두고, 이후 요청이 동일한 콘텐츠로 시작하면 이를 재사용합니다. 2,000 토큰짜리 system prompt를 사용하는 챗봇을 생각해 보세요:1
요청 1
System prompt (2,000 토큰) + 사용자 메시지 (50 토큰)처리됨: 2,050 토큰 · 캐시에서: 0 토큰Prefix가 캐시에 기록됩니다.
2
요청 2
System prompt (2,000 토큰) + 사용자 메시지 (80 토큰)처리됨: 80 토큰 · 캐시에서: 2,000 토큰
3
요청 3
System prompt (2,000 토큰) + 사용자 메시지 (120 토큰)처리됨: 120 토큰 · 캐시에서: 2,000 토큰
지원 모델 및 가격
Loading…
Claude Opus 4.5는 캐시 쓰기에 프리미엄 요율을 부과합니다(일반 input $6.00 대비 100만 토큰당 $7.50). 캐시를 처음 채우는 요청의 비용은 더 높지만, 이후 캐시 적중 시 90% 절감 효과가 있습니다. 다른 모델은 캐시 쓰기에 추가 요금을 부과하지 않습니다.
공급자별 동작
Venice는 공급자 간의 캐싱 동작을 정규화합니다. 대부분의 모델에서 캐싱은 자동입니다. 요청을 보내고 응답의 캐시 통계를 확인하기만 하면 됩니다. Claude는 프로토콜 수준에서 명시적인 캐시 마커가 필요하지만, Venice는 system prompt와 대화 기록에 대해 이를 자동으로 추가합니다. 캐싱 동작은 궁극적으로 각 공급자가 제어하며 변경될 수 있으므로, 최신 세부 사항은 공급자 문서를 확인하세요.Claude Opus 4.5 (Anthropic)
Claude는 프로토콜 수준에서 명시적인 캐시 breakpoint를 요구합니다. Venice는 이를 자동으로 처리합니다:- System prompt는 자동으로 캐시됩니다
- 대화 기록은 마지막에서 두 번째 사용자 메시지에 breakpoint를 배치해 캐시됩니다
추가 세부 사항:
- 요청당 최대 4개의 breakpoint: 시스템은 가장 긴 매칭 prefix를 사용합니다
- 캐시 키는 바이트 단위로 정확합니다: 공백 변경, 다른 이미지 인코딩, 도구 순서 변경 등이 캐시 적중을 깨뜨립니다
- 캐시를 인식하는 rate limit: 캐시된 토큰은 ITPM 한도에 포함되지 않아 더 높은 실효 처리량을 제공합니다
- 25% 쓰기 프리미엄: 첫 요청은 비용이 더 들지만 이후 읽기에서 90% 절약됩니다
수동 캐시 제어
첫 턴부터 큰 문서를 캐시하고 싶은 특수한 경우에는 명시적인 breakpoint를 추가할 수 있습니다:그 외 모든 모델
캐싱은 자동입니다. 특별한 파라미터가 필요 없습니다. prompt가 약 1,024 토큰을 넘는지 확인하고, 일관된 라우팅을 위해prompt_cache_key를 사용하기만 하면 됩니다.
요청 파라미터
prompt_cache_key
대화나 에이전트 워크플로에서는 일관된prompt_cache_key를 사용해 캐시 적중률을 높입니다:
응답 필드
응답의usage 객체는 캐시 통계를 포함합니다:
과금 분해(Claude Opus 4.5 예시):
- 5000 캐시된 토큰 × $0.60/1M = $0.003
- 500 비캐시 토큰 × $6.00/1M = $0.003
- 총: $0.006(캐싱 없을 시 $0.033 대비 82% 절감)
모범 사례
캐싱에 맞게 prompt를 구조화하세요
정적 콘텐츠는 앞에, 동적 콘텐츠는 뒤에 배치하세요. 좋은 구조
나쁜 구조
Prefix를 바이트 단위로 동일하게 유지하세요
캐시 키는 정확한 바이트 시퀀스로 계산됩니다. 사소한 차이도 캐시 적중을 깨뜨립니다:- 다른 공백이나 줄바꿈
- prompt 안의 타임스탬프나 요청 ID
- 무작위로 순서가 바뀐 few-shot 예시
- 동일한 콘텐츠의 다른 포맷
최소 토큰 임계값을 충족하세요
prompt가 최소값(보통 1,024 토큰) 미만이면 캐싱이 활성화되지 않습니다. 작은 prompt의 경우 다음을 고려하세요:- 임계값을 충족할 만큼 context나 예시 추가
- 여러 작은 요청을 묶어서 일괄 prompt로 처리
- 단순 쿼리에는 캐싱이 적용되지 않음을 받아들이기
대화에는 prompt_cache_key를 사용하세요
계속되는 대화에는 일관된prompt_cache_key를 설정하세요:
캐시 성능을 모니터링하세요
다음 지표를 추적하세요:- 캐시 적중률:
cached_tokens / prompt_tokens - 비용 절감: 실제 비용 vs 캐시 없는 비용
- 지연 시간 감소: 캐시 적중 유무에 따른 첫 토큰까지의 시간
cached_tokens가 지속적으로 0이라면:
- prompt가 최소 토큰 임계값 미만일 수 있음
- 요청 간 prompt가 바뀌고 있을 수 있음
- 요청이 다른 서버로 라우팅될 수 있음(
prompt_cache_key사용) - 캐시가 만료되었을 수 있음(요청 간격이 너무 김)
캐시 경제성을 고려하세요
Claude Opus 4.5 캐시 쓰기 프리미엄: 첫 요청은 25% 더 비싸지만, 이후 읽기에서 90% 절감됩니다.캐시 수명
캐시는 일정 시간 동안 비활성이면 만료됩니다(보통 5~10분). 즉:도구(Tools) 및 함수(Functions)와의 캐싱
함수 정의는 system prompt와 함께 캐시될 수 있습니다:이미지 및 문서와의 캐싱
비전 모델의 경우 이미지를 캐시된 콘텐츠에 포함시킬 수 있습니다:문제 해결
cached_tokens가 항상 0입니다
cached_tokens가 항상 0입니다
매 요청마다 cache_creation_input_tokens가 발생합니다
매 요청마다 cache_creation_input_tokens가 발생합니다
예상보다 비용이 높습니다
예상보다 비용이 높습니다