> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bettertoken.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# BetterToken은 Cache 과금을 지원하나요?

> 프롬프트 Cache, Cache 적중 필드, 프로토콜 차이, 요청에서 Cache된 Token을 사용했는지 확인하는 방법을 알아보세요.

## 짧은 답변

요청에 Cache 할인이 적용되는지는 업스트림 모델, API 프로토콜, 요청 형식에 따라 달라집니다. BetterToken은 업스트림 모델이 반환한 사용량 정보를 바탕으로 사용량을 기록하고 표시합니다.

업스트림 모델이 프롬프트 Cache를 지원하고 응답에 Cache 필드를 반환하면 응답의 사용량 또는 호출 로그에서 Cache된 Token을 확인할 수 있습니다. Cache 동작은 모델마다 다릅니다. 모든 모델에 Cache 할인이 자동으로 적용된다고 가정하지 마세요.

## Cache 과금의 의미

프롬프트 Cache를 사용하면 업스트림 모델이 여러 요청에서 안정적이고 반복되는 접두사를 재사용할 수 있습니다. 정상적으로 작동하면 입력 컨텍스트 일부가 더 낮은 Cache Token 요율로 과금될 수 있습니다.

다음과 같은 경우에 유용합니다.

* 긴 시스템 프롬프트
* 고정된 프로젝트 지침
* 크고 안정적인 문서 컨텍스트
* 여러 차례 이어지는 코딩 작업에서 반복되는 저장소 지침
* 같은 규칙과 출력 형식을 공유하는 배치 작업

Cache를 사용한다고 해서 모든 내용을 프롬프트에 넣어야 하는 것은 아닙니다. 동적 콘텐츠, 타임스탬프, 임의 ID, 사용자별 입력은 일반적으로 요청의 뒤쪽에 배치하세요.

## 프로토콜 차이

| 사용 환경                 | 일반적인 메커니즘                                                    |
| --------------------- | ------------------------------------------------------------ |
| OpenAI 호환             | 일부 모델은 안정적인 접두사를 자동으로 Cache하며 응답 사용량에 Cache된 Token이 포함될 수 있음 |
| Anthropic 호환 / Claude | 일부 모델은 Cache 혜택을 받기 위해 명시적인 `cache_control` 표시가 필요함          |

같은 Claude 모델도 호출 프로토콜에 따라 다르게 동작할 수 있습니다. Claude Code나 Anthropic 호환 API를 많이 사용한다면 먼저 Anthropic 네이티브 Cache 메커니즘을 이해하세요.

## Cache 작동 여부 확인하기

응답 또는 Dashboard 호출 기록의 `usage` 필드를 확인하세요. 필드 이름은 API 형식에 따라 다릅니다.

| API 형식                  | 일반적인 Cache 필드                                                         |
| ----------------------- | --------------------------------------------------------------------- |
| OpenAI Chat Completions | `usage.prompt_tokens_details.cached_tokens`                           |
| OpenAI Responses API    | `usage.input_tokens_details.cached_tokens`                            |
| Anthropic Messages API  | `usage.cache_read_input_tokens` / `usage.cache_creation_input_tokens` |

값이 0보다 크면 일반적으로 요청의 일부가 Cache를 사용한 것입니다. 필드가 없으면 모델이 지원하지 않거나 프로토콜이 반환하지 않거나 요청이 Cache에 적중하지 않았거나 도구가 원시 사용량을 숨기는 경우일 수 있습니다.

## Cache 적중률 높이기

1. 안정적인 콘텐츠를 프롬프트 앞부분에 배치하세요.
2. 사용자별 입력과 자주 바뀌는 입력은 뒤쪽에 배치하세요.
3. 안정적인 접두사 안에 타임스탬프, 임의 ID, 변경되는 지침을 넣지 마세요.
4. 가능하면 같은 유형의 작업에 동일한 모델과 프로토콜을 사용하세요.
5. Claude 네이티브 형식에서는 모델 문서에 따라 Cache할 콘텐츠 블록에 `cache_control`을 추가하세요.
6. 배치 작업에서는 먼저 작은 샘플을 실행하고 전체 비용을 예상하기 전에 사용량 필드를 확인하세요.

## 흔한 실수

* 모든 모델이 Cache 할인을 자동으로 지원한다고 가정하기
* Cache 적중 후 전체 요청이 무료가 된다고 가정하기
* 모델을 자주 바꿔 Cache 재사용을 막기
* OpenAI 호환 형식으로 Claude를 호출하면서 Claude 네이티브 Cache 필드를 기대하기
* 전체 Token만 확인하고 Cache된 Token, Cache 읽기, Cache 생성 필드를 무시하기

## BetterToken에서의 사용 방식

BetterToken의 과금과 사용량 표시는 실제 요청, 업스트림 사용량 정보, 현재 모델 가격을 기준으로 합니다. Cache 적용 여부를 확인하려면 모델 문서, 응답 사용량 필드, Dashboard 호출 기록을 함께 확인하세요.

## 관련 문서

* [Claude Code가 많은 Token을 사용하는 이유는 무엇인가요?](/ko/faq/token-cost/claude-code-token-usage)
* [max\_tokens란 무엇인가요? 설정하지 않으면 어떻게 되나요?](/ko/faq/model-calling/max-tokens)
* [Base URL은 어떻게 입력해야 하나요?](/ko/faq/model-calling/base-url-config)
* [OpenAI 호환 API와 Anthropic 호환 API의 차이는 무엇인가요?](/ko/faq/concepts/openai-compatible-vs-anthropic-compatible)
