도구

컨텍스트 캐싱

Context Caching

요청마다 반복되는 긴 앞부분(시스템 프롬프트, 참고 문서, 도구 정의)을 모델 제공사 서버에 저장해 두고 다시 써서 입력 비용과 응답 지연을 함께 줄이는 기능이다. 긴 문서 하나에 질문을 여러 번 하거나 같은 지시문으로 계속 도는 에이전트에 쓰며, 예전 답을 돌려주는 시맨틱 캐싱과 달리 답은 매번 새로 만든다.

상황캐시 효과
긴 문서 하나에 질문을 여러 번큼
같은 시스템 프롬프트로 대화가 이어짐큼
매번 내용이 다른 짧은 요청거의 없음

고정된 내용을 앞에 둬야 캐시가 맞는다

캐시는 프롬프트의 앞부분이 글자 하나까지 똑같을 때만 맞는다. 그래서 '변하지 않는 지시문 → 참고 문서 → 지난 대화 → 이번 질문' 순서로 둔다. 앞쪽에 현재 시각이나 사용자 이름처럼 매번 바뀌는 값을 넣으면 그 뒤는 전부 캐시되지 않는다.

Anthropic API에서는 캐시할 블록 끝에 cache_control: {"type": "ephemeral"}를 붙인다. 법률 문서 분석 앱이 1만 토큰짜리 참고 문서를 매번 넣는다면 그 문서 블록에 붙이면 된다. 응답의 사용량 정보에 캐시에서 읽은 토큰 수가 나오므로, 실제로 캐시가 맞는지 여기서 확인한다.

제공사마다 켜는 방식이 다르다

제공사방식직접 할 일
Anthropic직접 지정캐시할 지점 표시
OpenAI자동앞부분을 고정하는 것만 신경 쓴다
Google Gemini자동 + 명시적 캐시캐시를 만들고 보관 시간을 정한다
DeepSeek자동따로 설정할 것 없음

최소 길이, 할인율 같은 세부 조건은 제공사와 모델마다 다르므로 공식 문서에서 확인한다.

첫 저장은 더 비싸고, 금방 사라진다

Anthropic 기준으로 캐시에서 읽은 토큰은 일반 입력보다 약 90% 싸다. 대신 처음 캐시에 쓸 때는 일반 입력보다 조금 더 비싸서, 한 번 쓰고 끝나는 내용이면 오히려 손해다.

캐시는 오래 남지 않는다. 기본 보관 시간이 몇 분 정도라 요청 간격이 길면 매번 새로 저장하게 된다. 너무 짧은 프롬프트는 최소 길이에 못 미쳐 캐시되지 않는다. Gemini의 명시적 캐시처럼 보관하는 시간만큼 저장 비용이 붙는 방식도 있다.

시맨틱 캐싱과는 다르다

시맨틱 캐싱은 비슷한 질문이 들어오면 예전 답을 그대로 돌려주는 방식이고, 내 앱에서 직접 만든다. 컨텍스트 캐싱은 모델을 매번 호출하고 답도 매번 새로 만든다.

항목컨텍스트 캐싱시맨틱 캐싱
저장하는 것처리된 입력 앞부분질문과 답
모델 호출매번 함캐시가 맞으면 안 함
답매번 새로 생성예전 답 재사용
위치모델 제공사 서버내 앱

같은 앞부분을 계속 보내는 곳이면 다 쓴다

가장 흔한 건 에이전트와 긴 대화다. 매 요청마다 같은 지시문과 쌓인 대화를 다시 보내므로, 앞부분을 고정해 두기만 해도 비용과 대기 시간이 눈에 띄게 준다.

어디서어떻게 쓰나
코딩 에이전트긴 시스템 프롬프트·도구 정의·읽은 파일을 앞에 고정하고, 단계마다 새 결과만 뒤에 붙인다
문서 질의응답계약서·매뉴얼 같은 긴 문서를 앞에 캐시해 두고 질문만 바꿔 여러 번 묻는다
여러 턴 이어지는 챗봇지난 대화를 앞에 그대로 두고 새 메시지만 끝에 더해 캐시가 계속 맞게 한다
#캐싱#비용절감#성능
참고 자료
← AI Wiki에서 더 보기
updated at 2026-10-20