Claude의 프롬프트 캐싱은 메시지에 대해 수행된 계산 작업을 저장하여 후속 요청에서 재사용할 수 있도록 하는 방식으로 작동합니다. 이를 통해 후속 요청이 더 저렴하고 빠르게 실행되지만, 동일한 콘텐츠를 반복적으로 전송하는 경우에만 효과가 있습니다.

이 과정은 두 단계 패턴을 따릅니다: 초기 요청은 캐시에 쓰기를 수행하고, 후속 요청은 캐시에서 읽을 수 있습니다. 캐시는 5분 동안만 유지되므로, 이 기능은 짧은 시간 내에 동일한 콘텐츠를 반복적으로 전송할 때 가장 유용합니다.
캐시 포인트
프롬프트 캐싱은 자동으로 활성화되지 않습니다 - 캐시되는 내용을 제어하려면 캐시 포인트 메시지 부분을 수동으로 추가해야 합니다. 캐시 포인트는 메시지에서 해당 지점 이전의 모든 작업을 캐시하도록 Claude에 지시합니다.

사용자 메시지에 캐시 포인트를 추가하는 방법은 다음과 같습니다:
핵심 규칙은 캐시 포인트 이전의 모든 작업은 캐시되지만, 캐시 포인트 이후의 내용은 캐시에 저장되지 않는다는 것입니다.
캐시 포인트 작동 방식

캐시 포인트가 포함된 초기 요청을 보내면, Claude는 모든 콘텐츠를 처리하고 해당 캐시 포인트까지 수행된 작업을 저장합니다. 후속 요청에서 캐시 포인트 이전의 콘텐츠가 동일하다면, Claude는 재처리하는 대신 캐시에서 이전에 처리된 작업을 읽어옵니다.

캐시는 캐시 포인트 이전의 콘텐츠가 완전히 동일한 경우에만 사용됩니다. 프롬프트 시작 부분에 "Please"를 추가하는 것과 같은 작은 변경조차도 캐시 사용을 막아, Claude가 모든 것을 처음부터 다시 처리하게 만듭니다.

메시지 간 캐싱
캐시 포인트는 여러 메시지에 걸쳐 있을 수 있으며, 어시스턴트 메시지도 포함할 수 있습니다. 즉, 특정 지점까지의 전체 대화 기록을 캐시할 수 있다는 의미입니다.

예를 들어, 사용자 메시지, 어시스턴트 응답, 그리고 또 다른 사용자 메시지로 이루어진 대화가 있고, 마지막에 캐시 포인트가 있다고 가정해 보겠습니다. 해당 전체 대화 스레드에 대한 모든 처리 작업이 캐시되어 재사용될 수 있습니다.
최소 콘텐츠 길이
캐시되려면 콘텐츠가 최소 1024 토큰 이상이어야 합니다. 이는 캐시 포인트 이전에 캐시하려는 모든 메시지와 부분의 합계입니다.

단순한 "Hi there!" 메시지는 1024 토큰 최소 기준을 충족하지 못하므로 아무것도 캐시되지 않습니다. 하지만 "Hi there!"를 500번 반복하면 1024 토큰을 초과하여 캐싱 대상이 됩니다.
캐시 포인트 위치
캐시 포인트는 사용자 메시지에만 제한되지 않습니다. 시스템 프롬프트와 도구 정의에도 추가할 수 있으며, 이는 실제로 가장 흔한 캐싱 기회입니다.

도구 정의의 경우:
시스템 프롬프트의 경우:
이러한 경우가 가장 가치 있는 캐싱 기회인데, 시스템 프롬프트와 도구 목록은 요청 간에 거의 변경되지 않아 캐싱에 완벽한 후보가 되기 때문입니다.