Prompt Caching: como diminuir seus custos de IA com OpenAI

Entenda como reutilizar pedaços dos seus prompts pode reduzir o custo e a latência em suas aplicações de IA

O Prompt Caching é uma funcionalidade poderosa da OpenAI que pode reduzir significativamente tanto a latência quanto os custos das suas aplicações de IA. Com essa tecnologia, é possível alcançar reduções de até 80% na latência e até 90% nos custos de tokens de entrada. Melhor ainda: funciona automaticamente em todas as suas requisições de API, sem necessidade de alterações no código.

O que é Prompt Caching e como funciona

Muitos prompts de modelos contêm conteúdo repetitivo, como prompts de sistema e instruções comuns. O Prompt Caching funciona roteando requisições da API para servidores que processaram recentemente o mesmo prompt, tornando o processamento mais barato e rápido do que analisar um prompt do zero.

O recurso está habilitado para todos os modelos recentes da OpenAI, incluindo gpt-4o e versões mais novas. O melhor de tudo? Não há taxas adicionais associadas ao uso do Prompt Caching.

Como o sistema processa suas requisições

Quando você faz uma requisição à API, o seguinte processo ocorre:

  1. Cache Routing: As requisições são roteadas para uma máquina baseada em um hash do prefixo inicial do prompt (normalmente os primeiros 256 tokens)

  2. Cache Lookup: O sistema verifica se a porção inicial (prefixo) do seu prompt existe no cache da máquina selecionada

  3. Cache Hit: Se um prefixo correspondente é encontrado, o sistema usa o resultado em cache, reduzindo drasticamente a latência e os custos

  4. Cache Miss: Se nenhum prefixo correspondente é encontrado, o sistema processa seu prompt completo, armazenando o prefixo em cache para requisições futuras

Estruturando seus prompts para máximo aproveitamento

Para aproveitar ao máximo o Prompt Caching, a estrutura do seu prompt é fundamental. Cache hits são possíveis apenas para correspondências exatas de prefixo dentro de um prompt.

Boas práticas de estruturação

Posição no Prompt

Tipo de Conteúdo

Exemplo

Início

Conteúdo estático (instruções, exemplos, contexto)

Prompts de sistema, guidelines, exemplos few-shot

Meio

Ferramentas e schemas

Definições de tools, structured outputs

Final

Conteúdo dinâmico e variável

Inputs específicos do usuário, dados contextuais

Essa abordagem maximiza as chances de cache hits, pois o conteúdo que mais varia fica posicionado no final do prompt.

Políticas de retenção de cache

O Prompt Caching oferece duas políticas de retenção: in-memory e extended retention.

In-memory cache retention

Disponível para todos os modelos que suportam Prompt Caching:

  • Prefixos em cache permanecem ativos por 5 a 10 minutos de inatividade

  • Tempo máximo de retenção: até uma hora

  • Armazenamento apenas na memória volátil da GPU

Extended cache retention

Disponível para modelos específicos (gpt-5.2, gpt-5.1, gpt-5, gpt-4.1 e variantes codex):

  • Mantém prefixos em cache ativos por períodos mais longos

  • Tempo máximo de retenção: até 24 horas

  • Utiliza armazenamento local da GPU para tensores key/value

Para configurar a política de retenção, use o parâmetro prompt_cache_retention:

{
  "model": "gpt-5.1",
  "input": "Seu prompt aqui...",
  "prompt_cache_retention": "24h"
}

Requisitos e monitoramento

Requisitos básicos

  • O caching está disponível para prompts contendo 1024 tokens ou mais

  • Todas as requisições exibirão um campo cached_tokens indicando quantos tokens foram um cache hit

  • Para requisições com menos de 1024 tokens, cached_tokens será zero

Exemplo de resposta com métricas de cache

"usage": {
  "prompt_tokens": 2006,
  "completion_tokens": 300,
  "total_tokens": 2306,
  "prompt_tokens_details": {
    "cached_tokens": 1920
  },
  "completion_tokens_details": {
    "reasoning_tokens": 0,
    "accepted_prediction_tokens": 0,
    "rejected_prediction_tokens": 0
  }
}

O que pode ser cacheado

  • Messages: O array completo de mensagens, incluindo interações system, user e assistant

  • Images: Imagens incluídas em mensagens de usuário (links ou base64), desde que o parâmetro detail seja idêntico

  • Tool use: Tanto o array de mensagens quanto a lista de tools disponíveis

  • Structured outputs: O schema de structured output serve como prefixo da mensagem do sistema

Estratégias para otimizar seu uso de cache

1. Use o parâmetro prompt_cache_key

O parâmetro prompt_cache_key permite influenciar o roteamento e melhorar as taxas de cache hit. Isso é especialmente benéfico quando muitas requisições compartilham prefixos longos e comuns.

Dica importante: Selecione uma granularidade que mantenha cada combinação única de prefixo-prompt_cache_key abaixo de 15 requisições por minuto para evitar overflow de cache.

2. Monitore suas métricas de performance

Acompanhe constantemente:

  • Taxas de cache hit

  • Latência das requisições

  • Proporção de tokens em cache

Você pode monitorar suas contagens de tokens em cache através dos logs do campo usage ou no dashboard de uso da OpenAI.

3. Mantenha um fluxo constante de requisições

Manter um stream constante de requisições com prefixos de prompt idênticos minimiza evictions de cache e maximiza os benefícios do caching.

Privacidade e segurança dos dados

Uma preocupação comum é sobre a privacidade dos dados armazenados em cache. Aqui estão os pontos principais:

  • Caches não são compartilhados entre organizações: Apenas membros da mesma organização podem acessar caches de prompts idênticos

  • Zero Data Retention: O in-memory cache retention é elegível para Zero Data Retention. Com extended caching, os tensores key/value podem ser mantidos no armazenamento local da GPU

  • Data Residency: O in-memory Prompt Caching é compatível com todas as regiões de Data Residency. Extended caching é compatível apenas com regiões que incluem Regional Inference

Perguntas frequentes

O Prompt Caching afeta a geração de tokens de saída ou a resposta final da API?

Não. O Prompt Caching não influencia a geração de tokens de saída ou a resposta final fornecida pela API. A resposta gerada será idêntica, independentemente do uso de cache, pois apenas o prompt é armazenado em cache.

Há alguma maneira de limpar o cache manualmente?

Atualmente, não há opção para limpeza manual do cache. Prompts que não foram utilizados recentemente são automaticamente removidos do cache após 5-10 minutos de inatividade.

Vou pagar extra pelo uso do Prompt Caching?

Não. O caching acontece automaticamente, sem necessidade de ação explícita ou custo extra para usar o recurso.

Prompts em cache contribuem para os limites de rate limit (TPM)?

Sim, o caching não afeta os rate limits.

Conclusão

O Prompt Caching é uma ferramenta essencial para desenvolvedores que buscam otimizar custos e performance em aplicações de IA. Com a estruturação adequada dos prompts e o uso inteligente das políticas de retenção, é possível alcançar economias significativas sem comprometer a qualidade das respostas.

A melhor parte é que, uma vez implementadas as boas práticas de estruturação de prompts, o sistema funciona automaticamente, permitindo que você se concentre no desenvolvimento de funcionalidades enquanto a OpenAI cuida da otimização de performance e custos.

Quer aprender mais sobre otimização de prompts e desenvolvimento com IA? Continue acompanhando o Data Hackers Blog para mais conteúdos técnicos e práticos sobre inteligência artificial e machine learning.