Claude API 캐싱 요금, 직접 계산했더니 구조가 달랐습니다

Published on

in

Claude API 캐싱 요금, 직접 계산했더니 구조가 달랐습니다

2026.03.20 기준
Claude Sonnet 4.6 기준
Anthropic 공식 API

Claude API 프롬프트 캐싱 요금,
직접 계산했더니 구조가 달랐습니다

“90% 절감”이라는 말만 믿고 캐싱을 켰다가 오히려 비용이 올라간 사례가 실제로 있습니다. 5분 TTL과 1시간 TTL의 요금 구조는 겉보기와 다릅니다. 공식 문서의 수치를 그대로 계산기에 넣어봤습니다.

5분 TTL 쓰기 비용
×1.25
기본 입력 대비
1시간 TTL 쓰기 비용
×2.0
기본 입력 대비
캐시 읽기 비용
×0.1
90% 절감

“90% 절감”이 조건부인 이유

결론부터 말씀드리면, Claude API 프롬프트 캐싱은 캐시를 쓸 때 이미 요금이 발생합니다. 경쟁사(OpenAI, Google)가 캐싱을 추가 비용 없이 자동 적용해주는 것과 달리, Anthropic은 캐시 등록(Write) 시점에 기본 입력 요금보다 비싼 금액을 부과합니다.

5분 TTL 기준으로 캐시 쓰기는 기본 입력 요금의 1.25배입니다. 한 번도 재사용하지 않으면 오히려 25% 더 낸 셈이 됩니다. (출처: Anthropic 공식 API 문서, platform.claude.com/docs/en/build-with-claude/prompt-caching)

💡 공식 발표문과 실제 요금 흐름을 같이 놓고 보니 이런 차이가 보였습니다. “90% 절감”은 캐시가 1번 이상 재사용됐을 때만 성립합니다. 재사용 횟수가 0이면 25% 할증입니다.

이게 왜 중요하냐면, 짧은 대화나 일회성 호출에서 무의식적으로 cache_control을 붙이면 절감이 아니라 손실이 납니다. 실제로 클리앙, Reddit 등 개발자 커뮤니티에서 30분 테스트에 $10이 증발했다는 사례가 2025년 말부터 반복적으로 등장하고 있습니다.

▲ 목차로 돌아가기

모델별 실제 요금 테이블 (2026.03 기준)

아래는 Anthropic 공식 API 기준의 캐싱 요금 전체 테이블입니다. (출처: Anthropic 공식 가격 정책, platform.claude.com/docs/en/about-claude/models)

모델 기본 입력 5분 쓰기 1시간 쓰기 캐시 읽기 출력
Claude Opus 4.6 $5/MTok $6.25/MTok $10/MTok $0.50/MTok $25/MTok
Claude Sonnet 4.6 $3/MTok $3.75/MTok $6/MTok $0.30/MTok $15/MTok
Claude Haiku 4.5 $1/MTok $1.25/MTok $2/MTok $0.10/MTok $5/MTok
Claude Opus 4.5 $5/MTok $6.25/MTok $10/MTok $0.50/MTok $25/MTok
Claude Haiku 3.5 $0.80/MTok $1/MTok $1.60/MTok $0.08/MTok $4/MTok

※ MTok = 백만 토큰 / 출처: Anthropic 공식 API 문서 (2026.03.20 기준)

이 수치의 의미: Sonnet 4.6 기준으로 1시간 TTL 쓰기 비용($6/MTok)은 기본 입력($3/MTok)의 정확히 2배입니다. 캐시를 1번만 읽으면 읽기 비용이 $0.30/MTok이므로, 쓰기 1회 + 읽기 1회 = $6.30으로 캐시 없이 2회 입력($6)보다 오히려 더 비쌉니다.

▲ 목차로 돌아가기

5분 TTL vs 1시간 TTL — 손익분기점 직접 계산

아래 계산은 따라할 수 있도록 Sonnet 4.6 기준으로 실제 수치를 대입했습니다. (출처: Anthropic 공식 캐싱 가이드, platform.claude.com/docs/en/build-with-claude/prompt-caching)

5분 TTL 손익분기점

쓰기 비용 = 기본 입력 × 1.25 → 초과 비용 = 기본 × 0.25
읽기 절감 = 기본 입력 × 0.90 (한 번 읽을 때마다)
손익분기 = 0.25 ÷ 0.90 = 0.28회 → 1번 재사용부터 흑자

예시: 10만 토큰 시스템 프롬프트 (Sonnet 4.6)
쓰기 비용 = 0.1MTok × $3.75 = $0.375
읽기 비용 = 0.1MTok × $0.30 = $0.030 (1회 재사용 시)
캐시 없이 2회 입력 = 0.1MTok × $3 × 2 = $0.600
캐싱 총비용(쓰기+읽기 1회) = $0.375 + $0.030 = $0.405 → 32.5% 절감

1시간 TTL 손익분기점

쓰기 비용 = 기본 입력 × 2.0 → 초과 비용 = 기본 × 1.0
손익분기 = 1.0 ÷ 0.90 = 1.11회 → 2번 재사용부터 흑자

예시: 같은 10만 토큰 시스템 프롬프트
쓰기 비용 = 0.1MTok × $6 = $0.600
읽기 1회: $0.030 / 읽기 2회: $0.060
쓰기+읽기 2회 = $0.660 vs 캐시 없이 3회 = $0.900 → 26.7% 절감
쓰기+읽기 1회 = $0.630 vs 캐시 없이 2회 = $0.600 → -5% (손실)

💡 TTL 선택 기준을 숫자로 놓고 보면 이렇게 됩니다. 1시간 TTL은 1번 재사용으론 손해입니다. 2번 이상 재사용이 확실한 작업(배치, 문서 분석 에이전트)에서만 유리하고, 고빈도 대화형(분당 1회 이상)은 5분 TTL이 캐시 자동갱신으로 오히려 더 저렴합니다.

5분 TTL에는 알려지지 않은 장점이 하나 있습니다. 5분 이내에 캐시가 재사용되면 TTL이 초기화됩니다. 즉, 1분마다 메시지를 주고받는 Claude Code 세션에서는 이론상 5분 TTL이 무한정 유지됩니다. 1시간 TTL은 기간이 고정이라 이 자동갱신 이점이 없습니다. (출처: Anthropic 공식 캐싱 가이드)

▲ 목차로 돌아가기

캐시가 아예 안 걸리는 조건이 있습니다

캐싱 설정을 했는데 response.usage에서 cache_creation_input_tokens가 0으로 찍히는 경우, 대부분 최소 토큰 미달이 원인입니다. (출처: Anthropic 공식 캐싱 가이드, platform.claude.com/docs/en/build-with-claude/prompt-caching)

모델 캐싱 최소 토큰 한국어 기준 약
Claude Opus 4.6 / 4.5 4,096 토큰 약 6,000~8,000자
Claude Sonnet 4.6 2,048 토큰 약 3,000~4,000자
Claude Sonnet 4.5 / 4 1,024 토큰 약 1,500~2,000자
Claude Haiku 4.5 4,096 토큰 약 6,000~8,000자
Claude Haiku 3.5 / 3 2,048 토큰 약 3,000~4,000자

※ 한국어 기준 토큰 수는 모델·문장 구조에 따라 상이. “약”으로 표기.

여기서 주의할 점이 있습니다. Sonnet 4.6의 최소 토큰(2,048)은 이전 모델인 Sonnet 4.5(1,024)의 정확히 2배입니다. Sonnet 4.5에서 잘 작동하던 짧은 시스템 프롬프트가 Sonnet 4.6으로 모델을 올리면서 갑자기 캐시가 안 걸리는 현상이 나타나는 이유가 여기 있습니다. 이 수치는 공식 문서에 명시돼 있지만 눈에 잘 안 띄는 위치에 있어서 실제 트러블슈팅 시 자주 놓치는 부분입니다.

💡 최소 토큰을 채우는 가장 간단한 방법은 시스템 프롬프트에 도구(tool) 정의나 문서 컨텍스트를 함께 넣는 것입니다. 어차피 전달해야 할 내용을 앞쪽으로 올려 cache_control 위치 기준에 맞추면 캐시 적용 범위도 늘어납니다.

▲ 목차로 돌아가기

Claude Code 플랜별로 TTL이 고정됩니다

이 부분이 가장 알려지지 않은 내용입니다. Claude Code(CLI 도구)를 쓸 때는 TTL을 내가 선택할 수 없습니다. 플랜에 따라 서버에서 자동으로 고정됩니다. (출처: Anthropic 공식 Claude Code 문서, code.claude.com/docs/ko/costs)

플랜 Claude Code TTL 변경 가능 여부
Max ($100~$200/월) 1시간 TTL 자동 적용 불가 (서버 고정)
Pro ($20/월) 5분 TTL 고정 불가 (서버 고정)
API 키 직접 사용 5분 or 1시간 선택 cache_control 파라미터로 자유 설정

Pro 플랜에서 Claude Code를 사용한다면 캐시는 항상 5분 TTL로만 돌아갑니다. 이 설정은 환경변수 DISABLE_PROMPT_CACHING=1로 완전히 끄는 것 외에 조작할 수 없습니다. (출처: wentuo.ai Claude Code TTL 가이드, 2026.03.17)

실제 Claude Code Pro 사용자 기준으로 하루 6달러 평균 비용은 대부분 5분 TTL 내에서 고빈도 재사용이 발생하기 때문입니다. 5분 TTL이 자동갱신된다는 점을 생각하면, 코딩 세션 중에는 거의 캐시 히트가 유지되는 구조입니다.

▲ 목차로 돌아가기

OpenAI·Google과 뭐가 다른가요

캐싱 방식의 차이가 실제 비용과 운영 복잡도에 어떤 영향을 주는지 직접 비교한 표입니다. (출처: 클리앙 실사용 비교, 2025.12.18 / Anthropic 공식 문서)

항목 Anthropic (Claude) OpenAI Google (Gemini)
캐싱 방식 수동 (Explicit) 완전 자동 자동+수동 혼합
쓰기 할증 +25%~+100% 없음 없음
기본 TTL 5분 약 1시간 (자동 관리) 1시간~무제한
읽기 할인율 90% 50~90% 75~100%
코드 변경 없이 사용 ❌ (수동 설정 필요)

솔직히 말하면, Anthropic의 캐싱 구조는 캐시를 잘 활용하면 경쟁사보다 더 낮은 읽기 비용(90%)이 장점이지만, 운영 복잡도와 쓰기 할증 비용 때문에 단순한 앱에서는 오히려 불리합니다. 고빈도 에이전트나 긴 시스템 프롬프트가 반복 사용되는 구조에서만 진가가 나타나는 구조입니다.

▲ 목차로 돌아가기

자주 묻는 것들

Q1. 5분 TTL인데 대화 중에 캐시가 만료되면 어떻게 되나요?
캐시가 만료된 후 같은 프롬프트를 다시 전송하면, 서버에서 새로 캐시를 생성합니다. 이때 다시 쓰기 비용(1.25배)이 발생합니다. 캐시가 만료됐다고 해서 오류가 나거나 응답이 달라지진 않습니다. 단, 응답 속도가 캐시 히트 시보다 약간 느려질 수 있습니다. 중요한 건 만료 직후의 첫 재요청에서 비용이 다시 올라간다는 점입니다.
Q2. cache_control을 붙이지 않아도 자동으로 캐싱이 되나요?
Claude API를 직접 호출할 때는 수동 설정이 필요합니다. cache_control 파라미터를 명시하지 않으면 캐싱이 적용되지 않습니다. 단, Claude Code CLI 도구는 내부적으로 자동 캐싱을 적용합니다. 다만 앞서 설명한 것처럼 TTL은 플랜에 따라 서버에서 고정됩니다. (출처: Anthropic 공식 캐싱 가이드)
Q3. AWS Bedrock에서도 같은 요금으로 캐싱을 쓸 수 있나요?
쓰기 비용 1.25배(5분)/2배(1시간), 읽기 비용 0.1배는 동일합니다. 다만 2026년 1월 26일 기준으로 Bedrock의 1시간 TTL은 Opus/Sonnet/Haiku 4.5 계열까지만 공식 지원이 확인되어 있습니다. Claude Sonnet 4.6 기준의 1시간 TTL Bedrock 지원은 확인 필요 상태입니다. (출처: AWS 공식 발표, aws.amazon.com/about-aws/whats-new, 2026.01.26)
Q4. 캐싱 히트율을 어떻게 확인하나요?
API 응답의 usage 객체에서 cache_read_input_tokenscache_creation_input_tokens 값을 직접 확인할 수 있습니다. 히트율 = cache_read ÷ (cache_read + input_tokens) × 100으로 직접 계산 가능합니다. Anthropic Console에서도 요청별 캐시 사용 내역을 확인할 수 있습니다.
Q5. 같은 요청에서 5분 TTL과 1시간 TTL을 함께 쓸 수 있나요?
가능합니다. 단 순서 제약이 있습니다. 1시간 TTL로 캐시된 콘텐츠는 반드시 5분 TTL 캐시 콘텐츠보다 앞에 위치해야 합니다. 순서가 뒤바뀌면 API 오류가 반환됩니다. 실무에서는 거의 변하지 않는 시스템 프롬프트에 1시간 TTL을, 대화 컨텍스트에 5분 TTL을 적용하는 패턴이 일반적입니다. (출처: Anthropic 공식 캐싱 가이드)

▲ 목차로 돌아가기

마치며

Claude API 프롬프트 캐싱은 제대로 쓰면 실제로 비용을 크게 낮출 수 있습니다. 막상 계산해보면 생각보다 조건이 까다롭습니다.

핵심만 정리하면: 5분 TTL은 1번 재사용부터 흑자이고 고빈도 대화에서 자동갱신 이점이 있습니다. 1시간 TTL은 2번 이상 재사용이 보장되는 배치·에이전트 작업에서 유리합니다. 그리고 Claude Code Pro 플랜이라면 TTL은 내가 선택할 수 없고 5분으로 고정됩니다.

“90% 절감”은 조건이 맞을 때만 성립하는 수치입니다. 재사용 횟수가 없으면 25% 할증으로 끝납니다. 최소 토큰 조건(Sonnet 4.6 기준 2,048)을 채우지 못하면 캐시 자체가 걸리지 않는다는 점도 실제로 자주 놓치는 부분입니다.

자동 캐싱이 기본값인 OpenAI·Google에 비해 운영 복잡도가 높은 건 사실입니다. 그러도 긴 시스템 프롬프트를 반복적으로 쓰는 프로덕션 환경에서는 제대로 설정했을 때 비용 절감 효과가 명확합니다. 쓰기 전에 계산부터 해보는 게 맞습니다.

▲ 목차로 돌아가기

본 포스팅 참고 자료

  1. Anthropic 공식 — Prompt Caching 가이드 (platform.claude.com)
  2. AWS 공식 발표 — Amazon Bedrock 1시간 TTL 지원 (2026.01.26)
  3. Anthropic 공식 — Claude Code 비용 관리 문서 (code.claude.com)
  4. 클리앙 실사용 비교 — 캐싱 비용 실제 사례 (2025.12.18)

본 포스팅 작성 이후 서비스 정책·UI·기능이 변경될 수 있습니다. Anthropic API 요금 및 캐싱 정책은 업데이트에 따라 달라질 수 있으므로 최신 정보는 공식 문서(platform.claude.com)에서 반드시 확인하시기 바랍니다. 본 포스팅의 수치는 2026.03.20 기준이며, 이후 변경 사항을 보장하지 않습니다.

댓글 남기기


최신 글


아이테크 어른경제에서 더 알아보기

지금 구독하여 계속 읽고 전체 아카이브에 액세스하세요.

계속 읽기