OpenAI Prompt Caching 운영법: 캐시 미스 줄이고 토큰 비용 낮추는 체크리스트
OpenAI가 GPT-6 계열에서 개선된 Prompt Caching과 진단 도구를 공개하면서, 긴 컨텍스트를 반복 사용하는 에이전트 서비스의 비용 최적화 방법이 더 구체화됐습니다. 공식 설명에 따르면 공유 프리픽스를 재사용하면 cached input token에 대해 최대 90% 할인 효과를 얻을 수 있고, 30분 윈도우 안에서 재사용되는 eligible prefix가 캐시 대상이 됩니다. 핵심은 “캐시가 알아서 되겠지”가 아니라 캐시가 깨지지 않도록 프롬프트와 도구를 운영하는 것입니다.
Prompt Caching이 중요한 이유
에이전트 애플리케이션은 같은 정보를 반복해서 모델에 보냅니다. 시스템 지시문, 도구 정의, 정책 문서, 코드베이스 설명, 고객사별 설정, 이전 작업 요약이 대표적입니다. 사용자의 질문은 짧아도 앞에 붙는 공통 컨텍스트가 길면 입력 토큰 비용이 커집니다.
예를 들어 내부 문서 검색 에이전트가 매 요청마다 다음 내용을 붙인다고 가정해봅시다.
- 회사 정책 요약 8,000토큰
- 도구 스키마 4,000토큰
- 응답 규칙 2,000토큰
- 제품 매뉴얼 일부 6,000토큰
사용자 질문은 200토큰이어도 매번 20,000토큰 이상을 다시 처리합니다. 캐시가 잘 먹으면 이 공통 부분의 비용과 지연을 줄일 수 있습니다. 반대로 프롬프트 일부가 계속 바뀌면 캐시 히트율이 떨어지고, 비용 절감 기대가 사라집니다.
캐시 미스가 나는 흔한 원인
OpenAI의 Prompt Caching Diagnostics 예시는 tools_changed 같은 이유로 cache miss가 발생할 수 있음을 보여줍니다. 실제 운영에서도 캐시를 깨는 원인은 대부분 사소한 변경입니다.
자주 보는 원인은 다음과 같습니다.
- 도구 정의의 순서가 요청마다 바뀜
- JSON 스키마의 설명 문구가 동적으로 생성됨
- 시스템 프롬프트에 현재 시각, 요청 ID, 사용자 이름을 앞쪽에 삽입함
- 사용하지 않는 도구를 요청마다 추가·삭제함
- 모델, 설정, reasoning effort를 요청마다 바꿈
- 긴 공통 문서 앞에 사용자별 짧은 문장을 끼워 넣음
캐싱에서 중요한 것은 공통 prefix입니다. 앞부분이 안정적으로 유지되어야 재사용됩니다. 동적인 값은 가능한 뒤쪽으로 보내고, 공통 지시문과 도구 정의는 앞쪽에 고정하는 편이 좋습니다.
프롬프트 구조를 캐시 친화적으로 바꾸기
캐시 친화적인 구조는 “변하지 않는 것부터, 자주 바뀌는 것은 뒤로”입니다. 다음 순서를 기본으로 잡을 수 있습니다.
- 고정 시스템 지시문
- 고정 안전 정책과 응답 형식
- 안정적인 도구 정의와 스키마
- 버전이 명시된 공통 문서 또는 코드베이스 요약
- 세션 요약
- 사용자별 최신 입력
- 이번 요청에만 필요한 임시 옵션
현재 시각, 요청 ID, A/B 테스트 그룹, 화면 위치 같은 값은 앞쪽에 넣지 않습니다. 꼭 필요하다면 뒤쪽 developer message나 user context로 분리합니다. 캐시 대상이 될 만한 긴 프리픽스를 흔들지 않는 것이 목표입니다.
도구도 마찬가지입니다. 사용하지 않는 도구를 매번 제거하기보다 도구 정의는 안정적으로 유지하고, 실제 호출 가능 범위를 allowed_tools 같은 방식으로 제한하는 편이 캐시 유지에 유리합니다. 공식 설명에서도 도구 정의와 순서를 안정적으로 유지하고, 새 지시는 앞쪽을 갈아엎기보다 뒤쪽에 append하는 접근을 안내합니다.
진단 도구로 봐야 할 지표
Prompt Caching Dashboard는 애플리케이션 입력 중 어느 정도가 캐시에서 처리되는지 보여줍니다. 운영팀은 단순히 총 비용만 보면 안 됩니다. 캐시 히트율이 떨어졌는데 트래픽이 줄어 비용이 비슷해 보일 수도 있고, 반대로 트래픽이 늘었지만 캐시 덕분에 단가가 낮아졌을 수도 있습니다.
봐야 할 지표는 다음입니다.
- cached token 비율
- uncached input token 비율
- cache hit rate 추이
- 배포 직후 cache miss 증가 여부
- 도구 변경에 따른 miss 비중
- 프롬프트 버전별 평균 비용
- p50, p95 응답 시간 변화
진단 도구는 예상 재사용 토큰 수와 miss 이유를 확인하는 데 유용합니다. 예를 들어 도구 설명 한 줄을 바꿨을 뿐인데 5,000토큰 캐시가 깨졌다면, 해당 변경을 뒤쪽 지시로 옮기거나 도구 버전을 고정하는 식으로 수정할 수 있습니다.
Prewarming을 쓸 만한 경우
OpenAI 문서는 prewarming을 통해 알려진 컨텍스트를 미리 준비해 첫 응답 대기 시간을 줄일 수 있다고 설명합니다. 애플리케이션 시작 시 공유 지시문, 도구 정의, 참고 자료를 미리 캐시에 올려두는 방식입니다.
Prewarming은 다음 조건에서 고려할 만합니다.
- 업무 시간 시작 직후 트래픽이 몰린다
- 모든 요청이 같은 긴 정책 문서를 참조한다
- 첫 응답 지연이 사용자 경험에 큰 영향을 준다
- 배포 후 캐시가 비어 비용과 지연이 튄다
단, prewarming도 공짜는 아닙니다. 실제로 재사용되지 않을 컨텍스트를 미리 처리하면 비용만 늘어납니다. 상위 트래픽 워크플로우부터 적용하고, 캐시 히트율로 효과를 확인해야 합니다.
에이전트 서비스에서의 운영 패턴
장시간 에이전트는 캐싱 효과가 크지만 깨지기도 쉽습니다. 작업 중 도구가 바뀌고, 요약이 갱신되고, reasoning effort를 바꾸고, 중간 산출물을 붙이기 때문입니다. 따라서 에이전트 요청에는 프롬프트 버전과 도구 버전을 반드시 기록하는 편이 좋습니다.
추천 로그 필드는 다음과 같습니다.
prompt_versiontool_schema_versionmodelreasoning_effortcached_input_tokensuncached_input_tokenscache_miss_reasonsession_idworkflow_type
이 로그가 있어야 “어제 배포 이후 비용이 20% 늘었다”는 문제를 추적할 수 있습니다. 캐시가 깨졌는지, 요청량이 늘었는지, 도구가 바뀌었는지, 모델이 바뀌었는지 구분해야 합니다.
OpenAI는 GPT-6 모델에서 configuration update 방식으로 reasoning effort를 조정하면서 캐시를 유지할 수 있는 경로도 설명합니다. 즉, 쉬운 후속 작업에서는 effort를 낮추고 어려운 단계에서는 높이되, 공통 컨텍스트는 유지하는 식의 운영이 가능합니다. 이 기능은 비용 최적화와 품질 조정을 동시에 다룰 수 있다는 점에서 중요합니다.
배포 프로세스에 넣을 점검
캐싱은 코드 변경처럼 배포 체크리스트에 들어가야 합니다. 프롬프트 한 줄 수정도 비용 장애가 될 수 있기 때문입니다. 특히 도구 스키마, 시스템 지시문, 공통 문서 순서 변경은 배포 전후 캐시 영향을 확인해야 합니다.
권장 배포 절차는 다음과 같습니다.
- 프롬프트와 도구 스키마 변경 diff를 확인한다.
- 공통 prefix 앞부분이 불필요하게 바뀌지 않았는지 본다.
- staging에서 대표 요청으로 cache diagnostics를 실행한다.
- 배포 직후 30분 동안 hit rate와 input token 구성을 본다.
- miss가 급증하면 변경을 되돌리거나 append-only 구조로 바꾼다.
이 절차는 번거로워 보이지만, 긴 컨텍스트를 쓰는 서비스에서는 비용 방어선입니다. 특히 에이전트 제품은 도구가 늘어날수록 캐시 미스 원인도 늘어납니다.
실행 체크리스트
- 고정 시스템 지시문, 도구 정의, 공통 문서를 프롬프트 앞쪽에 안정적으로 배치합니다.
- 현재 시각, 요청 ID, 사용자별 값은 앞쪽 prefix에 넣지 않습니다.
- 도구 스키마의 순서와 설명을 요청마다 바꾸지 않습니다.
- 새 지시는 기존 앞부분을 수정하기보다 뒤쪽에 append합니다.
- Prompt Caching Dashboard에서 hit rate와 cached token 비율을 주간 지표로 봅니다.
- 배포 전후 cache diagnostics로 miss 이유를 확인합니다.
- 프롬프트 버전, 도구 버전, cached/uncached token을 로그에 남깁니다.
- 자주 쓰는 긴 컨텍스트는 prewarming 후보로 테스트합니다.
Prompt Caching은 단순 할인 기능이 아니라 프롬프트 운영 방식입니다. 캐시를 잘 쓰는 팀은 프롬프트를 코드처럼 버전 관리하고, 도구 스키마를 안정적으로 유지하며, 배포 후 캐시 지표를 확인합니다. 긴 컨텍스트 에이전트를 운영한다면 캐시 히트율은 선택 지표가 아니라 비용과 지연을 좌우하는 핵심 운영 지표입니다.