제01권 · 제10호 CS · AI · Infra 2026년 5월 14일

AI 용어집

용어 사전레퍼런스학습
LLM · 생성AI

Prompt Caching프롬프트 캐싱

난이도

쉽게 이해하기

LLM을 제품에 붙이면 시스템 지시문, 공통 예시, 도구 목록 같은 긴 프롬프트 앞부분이 요청마다 반복됩니다. 이 부분을 매번 처음부터 계산하면 시간이 길어지고 입력 토큰 비용이 크게 나옵니다. 프롬프트 캐싱은 바로 이 중복 계산 문제를 줄이기 위한 방법입니다. 비유로 말하면, 매번 책의 1장을 처음부터 다시 읽는 대신 책갈피를 꽂아두고 다음 번에는 그 자리부터 읽는 것입니다. 프롬프트의 앞부분이 이전 요청과 정확히 같다면, 그 구간의 “읽어둔 상태”를 재사용해 나머지 새 내용만 처리합니다. 그래서 사용자 맞춤 정보처럼 자주 바뀌는 부분은 뒤에 두고, 변하지 않는 설명과 예시는 맨 앞에 배치하는 것이 유리합니다.

작동 원리는 단순합니다. 제공업체는 요청을 받을 때 프롬프트의 초기 토큰 구간에 대해 해시를 만들고, 동일한 프리픽스를 최근 처리한 서버로 라우팅해 캐시된 전처리 상태를 조회합니다. 일반적으로 1,024토큰 이상에서 캐시가 동작하며, 프리픽스가 달라지면 캐시 미스가 납니다. 일부 서비스는 prompt_cache_key 같은 파라미터를 제공하고, 보존 정책을 통해 캐시된 프리픽스를 메모리에 수분 단위로 유지하거나, 지원 모델에서는 최대 24시간까지 확장 보존을 제공합니다.

비유와 예시

  • 대화형 에이전트 운영 가이드 공유: 모든 세션이 같은 시스템 지침과 도구 정의로 시작됩니다. 사용자의 최신 질문만 뒤에 붙으므로 앞부분이 캐시에 맞아 지연이 줄어듭니다.
  • 일괄 문서 요약 파이프라인: 공통 지시문과 출력 스키마가 동일하고, 문서 내용만 달라집니다. 동일 프리픽스가 반복돼 입력 토큰 비용이 절약됩니다.
  • 제품 카탈로그 Q&A: 동일한 포맷의 규칙과 예시를 앞에 두고, 질의만 바꿔 여러 요청을 보냅니다. 프리픽스가 유지되어 서버가 캐시된 전처리를 재사용합니다.

한눈에 비교

프롬프트 캐싱응답 캐싱의미 기반 캐싱
일치 조건프리픽스 ‘정확 일치’전체 요청 ‘정확 일치’임베딩 ‘유사 일치’
재사용 대상프리필 상태/토큰 계산과거 최종 응답저장된 응답
출력 변화새로 생성, 동일 품질과거 응답 재생과거 응답 재생
실패 요인다른 프리픽스프롬프트 조금만 달라짐의미 매칭 오판
주 용도긴 공통 앞부분 많은 워크로드캐시 가능한 고정 QAFAQ/검색형 응답 재사용

프롬프트 캐싱은 ‘계산 상태’를 재사용해 성능을 높이고, 응답/의미 캐싱은 ‘완성된 답’을 재사용해 일치 조건과 리스크가 다릅니다.

어디서 왜 중요한가

  • 대형 프롬프트 운영의 비용·지연 절감: 동일한 긴 프리픽스를 재사용할 때 지연과 입력 토큰 비용이 줄 수 있습니다.
  • 프롬프트 설계 관행 변화: 고정 지침·예시를 앞에 두고, 사용자 입력은 뒤로 미루는 구조가 권장되며, cached_tokens와 히트율을 모니터링하는 실무가 자리잡습니다.
  • 과금·청구 영향: 일부 제공자는 캐시 토큰에 대해 별도 과금 또는 할인과 보존 정책을 제공합니다.
  • 운영 제약: 효과는 긴 프롬프트(통상 1,024토큰 이상)와 초기 토큰의 정확 일치에서만 나타나며, 앞부분의 작은 수정도 미스를 유발합니다.

자주 하는 오해

  • ❌ 오해: 캐싱하면 답변도 재사용된다 → ✅ 실제: 출력은 매번 새로 생성되며, 캐싱은 프리필 계산만 건너뜁니다.
  • ❌ 오해: 비슷하면 된다 → ✅ 실제: 프리픽스 ‘정확 일치’가 필요하며 임계 길이 미만이면 효과가 없습니다.
  • ❌ 오해: 항상 비용을 줄인다 → ✅ 실제: 절감은 히트율과 제공자 과금 방식에 좌우됩니다.

대화에서는 이렇게

  • "시스템 지침을 맨 앞으로 몰고 prompt_cache_key를 고정하면 cached_tokens가 잘 올라가요."
  • "우리 배치 요약 잡은 프리픽스가 1,200토큰이라 1,024 토큰 조건은 충족합니다."
  • "대시보드 cached_tokens=0이면 프리픽스가 달라진 겁니다. 템플릿 변경 내역 확인해 주세요."

함께 읽으면 좋은 용어

참고 자료

도움이 되었나요?