🔥 고급2026-04-188분
Prompt Caching으로 단가 90% 줄이는 실전 패턴
공통 컨텍스트(시스템 프롬프트·RAG·코드베이스)가 길다면 캐싱이 정답. 언제 어떻게 켜야 하는가.
api비용최적화caching
언제 이득인가
- 같은 system / tool 정의 / 장기 문서가 요청마다 반복될 때
- 최소 ~1024 토큰 이상의 공통부가 있을 때
- 한 세션에 10회 이상 호출될 때
비용 구조(Anthropic 기준)
- 캐시 쓰기: 일반 입력 가격의 ~1.25배 (최초 1회)
- 캐시 읽기: 일반 입력 가격의 ~0.1배
- TTL 만료 전 재호출이 많을수록 더 이득
코드
await client.messages.create({
model: "claude-sonnet-4-6",
system: [
{
type: "text",
text: LONG_KNOWLEDGE_BASE, // ← 수만 토큰
cache_control: { type: "ephemeral" },
},
],
messages,
})
설계 원칙
- 캐시 경계를 안 바뀌는 것 vs 바뀌는 것으로 나눠라 — 앞쪽은 고정, 뒤쪽은 사용자 입력
- 프롬프트 끝에 사용자 변수를 몰아라 — 캐시 키가 안정
- 모니터링 — response의
usage.cache_read_input_tokens를 로그로 남겨 적중률 추적
실제 절감 예
- 공통부 30k 토큰 + 질문 500 토큰 워크로드
- 캐시 미사용: 30,500 × $3/M = $0.0915
- 캐시 적중: 30k × $0.3/M + 500 × $3/M = $0.01 → 89% 절감