Claude 프롬프트 캐싱: 에이전트 루프가 20블록 ... 노트

Claude 프롬프트 캐싱: 에이전트 루프가 20블록 룩백을 놓치는 이유

Claude 프롬프트 캐싱은 캐시 항목에 대한 20블록의 되돌아보기 창으로 인해 방해받습니다. 여러 도구 호출이 있는 에이전트 턴은 이 제한을 빠르게 초과하여 캐시 누락과 비용이 많이 드는 전체 프롬프트 다시 쓰기를 유발할 수 있습니다. 캐싱을 유지하려면 끝에 단일 마커를 사용하는 대신 약 15블록마다 롤링 중단점을 배치하십시오. 요청당 4개의 중단점 예산이 있으며, 하나는 시스템 및 도구용으로 예약되어 있습니다. 각 새 요청 전에 오래된 중단점이 지워졌는지 확인하십시오. 사고 블록은 캐시 앵커 역할을 할 수 없으므로 대신 캐시 가능한 콘텐츠 유형을 선택하십시오. 캐시 무효화는 계층화되어 있으며, 도구 정의 변경 및 모델 전환을 제외하고는 변경된 계층 및 후속 계층에만 영향을 미칩니다. 메시지 목록에 시스템 메시지를 추가하면 최상위 시스템 프롬프트를 편집하는 대신 캐시가 유지됩니다. 캐시 성능을 정확하게 진단하려면 input_tokens, cache_creation_input_tokens 및 cache_read_input_tokens의 세 가지 사용 필드를 모두 기록하십시오. 병렬 요청을 할 때, 캐시 쓰기를 활용하기 위해 첫 번째 요청이 스트리밍을 시작한 후에만 후속 요청을 시작하십시오. 5분 이상 지속되는 도구 호출 지연은 캐시 항목을 만료시켜 더 긴 TTL이 필요할 수 있습니다. 최소 캐시 가능한 접두사 길이는 모델마다 다르므로 더 작은 접두사는 전혀 캐시되지 않을 수 있습니다.