Prompt caching이 하는 일
프롬프트의 prefix를 cacheable로 마크하면 Anthropic이 그것에 대한 모델 상태 저장. 같은 prefix 보내는 후속 호출은 re-tokenize 안 하고 cache에서 읽음 — 상당히 싸고 빨라. Cache read는 보통 base 입력 토큰의 일부 비용; cache write는 base 입력 토큰보다 비싸(첫 호출), 그래서 prefix 재사용 시 caching이 보상.
cache_control을 어디 둬
cache_control: {"type": "ephemeral"}를 content 블록에 부착(시스템 텍스트, tools 리스트, 메시지 콘텐츠, 또는 문서). Cache breakpoint가 '여기까지 모두 cacheable' 표시. Anthropic이 요청당 cache breakpoint 4개까지 지원 — system + tools + 안정 history slice에 충분.
Cache를 무효화하는 것
Cached prefix의 어떤 변경이든 cache 무효화. System 프롬프트의 whitespace 변경, tool definition 변경, message 순서 셔플 포함. 안정 prefix가 엔지니어링 목표; 프롬프트 구성이 뭐든 reorder/rewrite하면 cache hit 거의 못 봐.
원칙: Caching은 안정 prefix를 보상해. 프롬프트 앞부분을 의도적으로 boring하게 만들어.