메인 콘텐츠로 건너뛰기

Documentation Index

Fetch the complete documentation index at: https://docs.aihubmix.com/llms.txt

Use this file to discover all available pages before exploring further.

Prompt Caching은 모델 추론 비용을 줄이는 데 사용되는 중요한 메커니즘입니다. 이전에 처리된 프롬프트 콘텐츠를 캐싱함으로써, 후속 요청에서 재사용할 수 있어, 중복 계산을 줄이고, 비용을 절감하며, 응답 효율성을 향상시킬 수 있습니다.

원리

prompt caching이 활성화된 요청을 보내면, 시스템은 최근 쿼리에서 프롬프트 접두사가 캐시되었는지 확인합니다. 발견되면 캐시를 사용하여 처리 시간과 비용을 줄입니다; 그렇지 않으면 전체 프롬프트를 처리하고 응답이 시작된 후 접두사를 캐시합니다. 이는 다음 시나리오에서 특히 유용합니다:
  • 많은 예시를 포함하는 프롬프트
  • 광범위한 컨텍스트 또는 배경 정보
  • 일관된 지시가 있는 반복 작업
  • 긴 다중 턴 대화

핵심 메커니즘

다른 모델 공급자는 캐싱에 대해 다양한 지원을 합니다:

자동 캐싱

자동 캐싱은 추가 구성이 필요하지 않으며; 시스템이 자동으로 재사용 가능한 콘텐츠를 식별하고 캐싱하며, OpenAI, DeepSeek 등의 모델에 적용됩니다.

OpenAI

  • 최소 프롬프트 길이: 1024 토큰
  • 비용: 캐시에 쓰기는 무료; 캐시에서 읽기는 원래 가격의 0.25배에서 0.5배

Gemini

  • 암시적 컨텍스트 캐싱이 기본적으로 활성화되어 있으며, 수동 구성 없이 캐싱이 자동으로 효과적입니다.
  • 캐싱은 콘텐츠, 모델 및 파라미터가 동일할 때만 효과적입니다; 차이가 있으면 새 요청으로 처리되며 캐시에 적중하지 않습니다.
  • 캐시 유효 기간은 개발자가 설정하며, 설정하지 않을 수도 있습니다. 지정하지 않으면 기본적으로 1시간입니다. 최소 또는 최대 기간 제한이 없으며, 비용은 캐시된 토큰 수와 캐시 기간에 따라 다릅니다.

DeepSeek / Grok / Moonshot / Groq

  • 비용: 캐시에 쓰기는 무료이거나 동일한 가격이며, 캐시에서 읽기는 원래 가격보다 낮습니다

Claude 모델 디스플레이 캐싱

  • cache_control을 통해 캐시 위치를 수동으로 지정해야 합니다
  • 캐싱 세분화에 대한 세밀한 제어가 가능합니다
  • Anthropic Claude 모델에 적용됩니다

OpenAI 호환 인터페이스

system, user (이미지 포함), tools에서 cache_control 필드를 사용하여 캐싱 중단점을 설정할 수 있습니다. 다음 예시는 주요 구조만 표시합니다: System 메시지 캐싱 (기본 5분 TTL):
{
  "model": "claude-opus-4-5",
  "messages": [
    {
      "role": "system",
      "content": [
        {"type": "text", "text": "You are an AI assistant"},
        {
          "type": "text",
          "text": "(long context)",
          "cache_control": {"type": "ephemeral"}
        }
      ]
    },
    {
      "role": "user",
      "content": [{"type": "text", "text": "Hello"}]
    }
  ]
}
User 메시지 캐싱 (1시간 TTL):
{
  "model": "claude-opus-4-5",
  "messages": [
    {
      "role": "system",
      "content": [{"type": "text", "text": "You are an AI assistant"}]
    },
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "(long context)",
          "cache_control": {"type": "ephemeral", "ttl": "1h"}
        },
        {"type": "text", "text": "Hello"}
      ]
    }
  ]
}
이미지 메시지 캐싱:
{
  "role": "user",
  "content": [
    {
      "type": "image_url",
      "image_url": {"detail": "auto", "url": "data:image/jpeg;base64,/9j/4AAQ..."},
      "cache_control": {"type": "ephemeral"}
    },
    {"type": "text", "text": "What's this?"}
  ]
}
Tool 정의 캐싱: cache_control을 tool 객체의 최상위 수준 (typefunction과 동일한 수준)에 배치합니다:
{
  "tools": [{
    "type": "function",
    "function": {
      "name": "get_weather",
      "description": "Get current weather for a location",
      "parameters": {
        "type": "object",
        "properties": {"city": {"type": "string"}},
        "required": ["city"]
      }
    },
    "cache_control": {"type": "ephemeral", "ttl": "1h"}
  }]
}

Anthropic 호환 인터페이스

curl https://aihubmix.com/v1/messages \
  -H "content-type: application/json" \
  -H "x-api-key: $AIHUBMIX_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "claude-opus-4-6",
    "max_tokens": 1024,
    "system": [
      {
        "type": "text",
        "text": "You are an AI assistant tasked with analyzing literary works. Your goal is to provide insightful commentary on themes, characters, and writing style.\n"
      },
      {
        "type": "text",
        "text": "<the entire contents of Pride and Prejudice>",
        "cache_control": {"type": "ephemeral"}
      }
    ],
    "messages": [
      {
        "role": "user",
        "content": "Analyze the major themes in Pride and Prejudice."
      }
    ]
  }'

# Call the model again with the same input until the caching checkpoint
curl https://aihubmix.com/v1/messages # rest of input

캐싱 기간

  • 기본값: 5분
  • 선택 사항: 1시간 (“ttl”: “1h”)
자세한 내용은 다음을 참조하세요: Claude Prompt Caching

사용 권장 사항

  1. 안정적인 접두사 유지
고정된 콘텐츠를 프롬프트의 시작 부분에 배치하세요. 권장 구조:
[System Settings / Long Text / RAG Data] 
[User Question (Variable Part)]
  1. 대형 텍스트 캐싱
다음 콘텐츠를 우선적으로 캐싱하세요:
  • RAG 데이터
  • 긴 텍스트
  • CSV / JSON 데이터
  • 역할 설정
  1. TTL 제어
  • 짧은 세션 → 5분
  • 긴 세션 → 1시간 (더 비용 효율적)
  1. 캐시 쓰기 감소

자주 변경되는 콘텐츠가 캐시에 들어가지 않도록 피하세요. 타임스탬프, 사용자 입력 변수, 고빈도 변경 데이터 등을 캐싱하지 마세요.

마지막 업데이트: 2026-06-01