강좌 강좌
프롬프트 캐싱 입문: 같은 맥락을 매번 다시 처리하지 않는 법
AI 모델에 매번 똑같은 지시문과 자료를 함께 보내는 일이 많습니다. 프롬프트 캐싱은 그 반복되는 맥락을 다시 쓰는 방법입니다.
이 강좌를 마치면 세 가지를 할 수 있습니다. 첫째, 프롬프트 캐싱이 무엇인지 한 문장으로 설명하기. 둘째, 캐싱이 적용되는 단계를 순서대로 말하기. 셋째, 어떤 상황에서 쓸 수 있고 입력 자료로는 무엇까지 말할 수 있는지 구분하기. 사전지식은 두 가지면 충분합니다. 프롬프트는 AI 모델에 보내는 지시문과 자료를 뜻합니다. 맥락은 모델이 답을 만들 때 함께 참고하는 지시문이나 자료입니다.
한 문장으로 이해하기
프롬프트 캐싱(prompt caching)은 여러 요청에서 반복되는 같은 맥락을 재사용하는 기능입니다. 재사용 대상으로 제시된 것은 지시문, 도구 정의, 정책, 참고 자료처럼 반복 호출에서 되풀이되는 부분입니다. 입력 자료는 반복되는 맥락과 새로 들어오는 입력을 구분하고, 이후 요청이 새 입력 처리에 집중할 수 있다고 설명합니다.
왜 필요한가
같은 맥락을 반복해서 보내는 작업은 흔합니다. 아마존 베드록 설명에 따르면 저장소 지침을 반복 사용하는 코딩 보조 도구, 같은 정책에 기반한 지원 애플리케이션, 일관된 추출 형식을 적용하는 문서 처리가 그런 경우입니다. 이때 매번 달라지는 것은 새로 들어오는 입력입니다. 지시문, 정책, 참고 자료 같은 맥락은 여러 요청에서 반복될 수 있습니다. 같은 설명에서 그 맥락을 이후 요청에서 재사용하면 반복 처리와 비용, 지연 시간을 줄이는 데 도움이 된다고 밝혔습니다. 한편 AI타임스는 오픈AI의 설명을 인용해 프롬프트 캐싱 개선이 응답 속도를 높이고 재사용 토큰에 90% 할인을 제공한다고 보도했습니다. 토큰은 모델이 글을 처리할 때 세는 단위입니다. 이 수치는 해당 보도에서 소개된 모델의 조건에 관한 설명이며, 요금과 지원 조건은 서비스에 따라 달라질 수 있습니다.
어떻게 이루어지는가
- 요청을 두 부분으로 나눠 봅니다. 여러 요청에서 반복되는 맥락과, 매번 새로 들어오는 입력입니다.
- 재사용할 프롬프트 내용을 표시합니다.
- 이후 요청에서 표시된 맥락을 재사용합니다.
- 그 결과 이후 요청은 새 입력 처리에 집중할 수 있습니다.
- 이렇게 반복 처리와 비용, 지연 시간을 줄이는 데 도움을 받습니다.
이렇게 표시하는 방식을 명시적 캐싱이라고 부릅니다. 입력 자료에 따르면 GPT-6 아스트라의 명시적 캐싱에서는 캐시 구분점(cache breakpoint)을 설정해 어떤 맥락을 캐시할지 제어할 수 있습니다. 입력 자료는 GPT-6 아스트라가 암시적 캐싱도 지원한다고 밝히지만, 암시적 캐싱의 뜻과 작동 방식은 설명하지 않습니다. 그래서 이 강좌에서도 그 정의를 따로 만들지 않습니다.
하나의 예시로 따라가기
가상 예시로 사내 문의 응대 프로그램을 생각해 봅시다. 이 프로그램은 매 요청마다 같은 사내 정책 문서와 답변 지침을 보내고, 직원의 질문을 함께 보냅니다. 여기서 반복되는 맥락은 정책 문서와 지침이고, 매번 달라지는 것은 질문입니다. 명시적 캐싱을 쓴다면 정책과 지침을 재사용할 프롬프트 내용으로 표시합니다. 그러면 이후 요청은 새로 들어온 질문 처리에 집중할 수 있습니다. 같은 정책에 기반한 지원 애플리케이션은 베드록 설명이 활용 대상으로 제시한 형태와 같습니다.
언제 쓰고 언제 쓰지 않는가
명시적 캐싱은 여러 요청에서 같은 맥락이 반복되고, 서비스가 재사용할 내용을 표시하는 기능을 지원할 때 적용할 수 있습니다. 반대로 재사용할 공통 맥락이 없다면 표시할 대상 자체가 없습니다. 입력 자료에서는 GPT-6 아스트라의 암시적·명시적 캐싱 지원과 GPT-6 솔·루나의 명시적 캐싱 지원을 확인할 수 있습니다. 이 자료만으로 솔·루나의 암시적 캐싱 지원 여부는 판단할 수 없습니다. 그래서 쓰기 전에 사용하려는 모델과 서비스가 어떤 방식을 지원하는지 확인해야 합니다. 또 하나 구분할 점이 있습니다. 입력 자료는 캐싱을 반복 처리와 비용, 지연 시간과 연결해 설명하며, 답변 품질 향상 효과는 제시하지 않습니다.
핵심 정리와 확인문제
프롬프트 캐싱은 여러 요청에서 반복되는 같은 맥락을 재사용해, 반복 처리와 비용, 지연 시간을 줄이는 데 도움을 줄 수 있는 기능입니다. 앞의 가상 예시처럼 정책과 지침이 반복되는 자리에서 효과를 기대할 수 있습니다. 아래 확인문제 3개를 풀고 바로 아래의 정답과 해설로 이해를 확인해 보세요.
확인문제 1. 입력 자료에서 캐싱 대상으로 제시된 반복 항목은 무엇인가요? (가) 모델이 만든 답변 (나) 반복 호출에서 되풀이되는 지시문과 정책 (다) 직원이 새로 입력한 질문
확인문제 2. 입력 자료에 따르면 GPT-6 아스트라의 명시적 캐싱에서 캐시할 맥락을 제어하려고 설정하는 것은 무엇인가요? (가) 캐시 구분점 (나) 토큰 단위 (다) 응답 길이
확인문제 3. 명시적 캐싱의 적용 조건에 맞는 상황은 무엇인가요? (가) 매 요청마다 같은 정책 문서를 보내는 프로그램 (나) 요청마다 전혀 다른 지시문과 자료를 보내는 프로그램 (다) 답변 품질을 높이고 싶은 프로그램
정답 1. (나) 해설: 입력 자료는 지시문, 도구 정의, 정책, 참고 자료를 반복 호출에서 재사용할 수 있는 대상으로 제시했습니다. (가)와 (다)는 재사용 대상으로 제시되지 않았습니다.
정답 2. (가) 해설: 입력 자료는 캐시 구분점 설정을 GPT-6 아스트라의 명시적 캐싱 기능으로 밝히고 있습니다.
정답 3. (가) 해설: 명시적 캐싱은 같은 맥락이 반복되고 그 맥락을 표시할 수 있을 때 적용합니다. (나)는 반복되는 공통 맥락이 없어 표시할 대상이 없고, (다)는 입력 자료가 캐싱의 효과로 제시하지 않은 목적입니다.