프롬프트 캐싱
Prompt Caching · 중급
프롬프트 캐싱은 반복적으로 사용되는 긴 프롬프트의 앞부분(시스템 프롬프트, 도구 정의, 참고 문서 등)을 서버에 저장해 두었다가 이후 요청에서 재사용함으로써 응답 속도를 높이고 비용을 줄이는 기능을 말한다.
긴 시스템 프롬프트나 대량의 참고 문서를 매 요청마다 처음부터 새로 처리하면 응답 지연과 비용이 누적된다. 특히 동일한 컨텍스트를 반복해서 보내는 대화형 에이전트나 문서 기반 질의응답에서는 이런 중복 계산이 큰 낭비가 된다. 프롬프트 캐싱을 쓰면 프롬프트의 앞부분을 캐시 대상으로 지정해 그 구간의 처리 결과를 서버에 잠시 보관하고, 이후 요청이 토큰 단위로 완전히 동일한 접두부로 시작하면 해당 부분을 다시 계산하지 않고 재사용한다. 접두부 중 한 글자라도 달라지면 그 지점부터는 캐시가 깨지고 새로 계산되므로, 자주 바뀌는 내용은 프롬프트 뒷부분에 배치하는 것이 실무 요령이다. 고정된 시스템 프롬프트와 도구 정의를 두고 사용자 메시지만 바뀌는 챗봇, 같은 문서를 두고 여러 질문을 이어가는 RAG 애플리케이션, 대화 이력이 계속 쌓이는 멀티턴 에이전트에서 특히 효과를 체감할 수 있다. 흔한 오해는 캐싱이 자동으로 항상 적용된다고 생각하는 것인데, 실제로는 접두부 일치 여부와 캐시 유지 시간 등 조건을 만족해야 하며 프롬프트 맨 앞에 매번 달라지는 값을 넣으면 캐시 효과가 사라진다.
함께 보기
시스템 프롬프트시스템 프롬프트는 사용자와의 대화가 시작되기 전에 AI 모델에게 미리 전달되는 지침으로, 모델의 역할과 말투, 행동 규칙을 정의하는 텍스트를 말한다.컨텍스트 윈도우컨텍스트 윈도우는 언어 모델이 한 번의 응답을 생성할 때 입력으로 참고할 수 있는 텍스트(토큰)의 최대 범위를 말한다.토큰언어 모델이 텍스트를 처리할 때 사용하는 최소 단위로, 단어나 단어의 일부, 문장 부호 등을 가리키는 말이다.