Por que o cache hit de agentes de IA colapsa: GPT, Claude e gateways auditáveis
Guia baseado em fontes sobre falhas de cache em agentes de terceiros, prompt caching de GPT e Claude, medição reproduzível e compensação pública da Modelflare.
O cache de um agente de IA não é uma caixa de seleção. É um contrato de protocolo, roteamento e contabilidade. Este artigo explica por que um agente de terceiros pode apresentar uma taxa de acerto muito baixa mesmo quando o modelo upstream oferece prompt caching, como GPT e Claude medem a reutilização de forma diferente e o que um gateway auditável deve garantir.
A decisão em uma frase
Não coloque um agente de produção sensível a cache atrás de um agente ou gateway de terceiros que não exponha o uso nativo, preserve um prefixo estável, mantenha afinidade de modelo e rota, mostre TTL e denominador e reconcilie o resultado com um ledger persistente. “Suporta cache” é uma afirmação de recurso; uma taxa elegível medida é um fato operacional.
Isso não afirma que todo agente de terceiros falha. A documentação pública não comprova uma porcentagem geral de um fornecedor sem corpus fixo, modelo fixo, janela conhecida e evidência de uso por solicitação. A conclusão mais precisa é que uma camada de tradução opaca cria vários pontos de quebra independentes e pode transformar um cache válido do provedor em um caminho quase sempre frio. Para tráfego de produção dependente de cache, a falta de evidência já é motivo para não escolher o caminho.
Defina o denominador antes de falar em porcentagens
O provedor normalmente informa três grupos. R são tokens lidos do cache, W são tokens gravados e U são tokens de entrada processados sem reutilização. Para prefixos elegíveis, a taxa comparável é:
eligible_hit_rate = R / (R + W)
Para toda a entrada enviada ao modelo, a parcela reutilizada é:
input_reuse_share = R / (R + W + U)
As duas medidas respondem a perguntas diferentes. Um painel que divide por toda a entrada pode parecer baixo quando o agente envia muitas solicitações curtas e inelegíveis. Um painel que usa apenas tráfego elegível pode esconder que o sufixo dinâmico ainda domina o custo. Publique as duas medidas, a regra de elegibilidade e a janela de tempo.
A evidência está nos campos do provedor, não em um selo verde na interface do agente:
| Sinal | Campo OpenAI | Campo Claude | O que prova |
|---|---|---|---|
| Prefixo reutilizado | input_tokens_details.cached_tokens |
cache_read_input_tokens |
Tokens servidos por uma entrada correspondente |
| Nova entrada | input_tokens_details.cache_write_tokens |
cache_creation_input_tokens |
Tokens usados para criar ou estender uma entrada |
| Entrada não reutilizada | input_tokens - input_tokens_details.cached_tokens - input_tokens_details.cache_write_tokens (derivar com cuidado) |
input_tokens após o breakpoint |
Entrada fora do prefixo; a semântica difere |
| Correlação | ID da solicitação, modelo e rota | ID da solicitação, modelo e rota | Qual tentativa do provedor produziu o uso |
Exemplo sintético, não telemetria de produção da Modelflare: R=720,000, W=80,000 e U=200,000 produzem taxa elegível de 720,000 / 800,000 = 90%, mas parcela reutilizada de toda a entrada de 720,000 / 1,000,000 = 72%. Publicar apenas um número esconde o denominador.
input_tokens_details.cache_write_tokens=0 não prova “sem cache”: uma leitura não cria uma entrada nova. Se a resposta de um terceiro omite o campo de uso, também não é zero; é uma falha de observabilidade que deve ser marcada como não auditável.
Por que o caminho do agente perde acertos mesmo com suporte do modelo
O problema geralmente está entre a aplicação e o provedor. Estes são os pontos de quebra mais comuns:
- Bytes dinâmicos chegam cedo demais. Timestamps, IDs, usuário, experimento ou uma data atual variável alteram o prefixo antes das instruções reutilizáveis.
- As ferramentas são serializadas novamente. Adicionar, remover, reordenar ou serializar de modo não determinístico um schema de ferramenta muda o prefixo exato; até a ordem das chaves JSON pode causar um miss.
- O fallback muda a identidade do cache. Balancear entre aliases, regiões, organizações ou credenciais não compartilha uma entrada universal.
- O adaptador descarta controles nativos. Remover
cache_control,prompt_cache_key, retenção ou detalhes de uso transforma o recurso em best effort invisível. - O prompt fica abaixo do limite. Um turno curto pode ser válido, mas não elegível para cache.
- A janela TTL é ultrapassada. Uma entrada Claude de cinco minutos ou uma retenção OpenAI específica do modelo pode expirar durante uma pausa humana.
- Há corrida no aquecimento paralelo. As primeiras solicitações simultâneas podem chegar antes de a primeira resposta tornar a entrada disponível.
- O histórico é reescrito. Resumo, compactação, truncamento ou outra serialização muda o prefixo em vez de apenas acrescentar conteúdo.
Nenhuma dessas falhas exige má-fé. São consequências previsíveis de tratar uma solicitação de agente como texto livre, sem preservar o contrato de cache do provedor. O alerta prático é direto: se o agente não mostra qual breakpoint falhou, não é possível precificar ou depurar com confiança o tráfego dependente de cache.
GPT e Claude compartilham a ideia, mas não a semântica
Ambos exigem um prefixo reutilizável exatamente igual, mas os controles e a contabilidade são diferentes. A tabela usa os guias oficiais verificados em 2026-08-25; nomes, mínimos e retenção podem mudar.
| Dimensão | Prompt caching da OpenAI | Prompt caching do Claude |
|---|---|---|
| Unidade reutilizável | Prefixo completo do contexto renderizado, com instruções, ferramentas, histórico e partes multimodais | Prefixo ordenado até um breakpoint cache_control: ferramentas, system e mensagens |
| Comprimento mínimo | O guia atual indica 1.024 tokens visíveis para GPT-5.6+ e normalmente 2.048 em modelos antigos | Mínimos por modelo de aproximadamente 512–4.096 tokens; prompts menores não são armazenados |
| Controles | Cache implícito; breakpoints explícitos e prompt_cache_key estável nos modelos compatíveis |
Cache automático no topo ou breakpoints por bloco; até quatro e lookback de 20 blocos |
| Retenção | GPT-5.6+ suporta TTL de 30 minutos; modelos anteriores expõem modos com janelas típicas do provedor | TTL padrão de cinco minutos, renovado a cada uso; uma hora opcional com preço de escrita maior |
| Forma de preço | No guia GPT-5.6+ atual, gravação 1,25× e leitura 0,1× do input base | Gravação de cinco minutos 1,25×, de uma hora 2×; leitura 0,1× |
| Evidência de uso | input_tokens_details.cached_tokens e, quando aplicável, input_tokens_details.cache_write_tokens |
cache_read_input_tokens, cache_creation_input_tokens e input_tokens após o breakpoint |
| Invalidador frequente | Mudança de modelo, ferramentas ou configurações, overflow de máquina ou mudança antes do breakpoint | Mudança de modelo, system, ferramentas ou mensagens; mensagem anterior ausente ou miss no aquecimento paralelo |
A OpenAI informa que as entradas ficam em máquinas individuais: prompt_cache_key ajuda a agrupar e rotear, mas não fixa uma máquina nem garante hit. O Claude documenta correspondência exata, isolamento por workspace e diagnósticos como tools_changed e messages_changed. Um gateway que esconde essas diferenças não pode transformar a documentação em uma promessa única honesta.
Os multiplicadores mostram o impacto. No modelo OpenAI citado, uma gravação seguida de uma leitura custa cerca de 1.25 + 0.10 = 1.35× da unidade de input sem cache; dez solicitações totalmente reutilizadas custam cerca de 1.25 + 9×0.10 = 2.15×, não 10×. São cálculos ilustrativos oficiais, não uma fatura Modelflare nem garantia para todos os modelos.
O imposto do adaptador pode ser medido
Use uma matriz de falhas, não uma captura de tela. Mantenha prompt, modelo, credenciais e ritmo fixos; mude uma variável por vez e guarde o objeto usage nativo.
| Mudança controlada | Sinal esperado | O que um agente opaco pode esconder | Interpretação |
|---|---|---|---|
| Acrescentar apenas o turno do usuário | R sobe após o primeiro W |
Histórico reescrito ou nova rota | Prefixo preservado |
| Adicionar timestamp ao system prompt | R cai a zero ou surge novo W |
Quais bytes mudaram | Prefixo dinâmico quebra o cache |
| Reordenar uma propriedade de ferramenta | tools_changed ou nova gravação |
Comportamento do serializador | Schema deve ser determinístico |
| Dividir tráfego entre aliases ou máquinas | R menor e mais variável |
Rota e chave escolhidas | Falta afinidade |
| Dormir além do TTL | Nova gravação após expirar | Hora de expiração e retenção | Medir pausas humanas separadamente |
| Enviar duas primeiras solicitações idênticas em paralelo | Uma ou ambas podem gravar | Corrida e ordem das tentativas | Pico frio não mede capacidade |
Guarde ID da solicitação, modo de streaming, hora do primeiro evento, modelo exato, rota escolhida, campos de cache e timestamp UTC. Redija prompts, chaves e conteúdo do cliente. Se o gateway devolver apenas um total normalizado de input, marque o ensaio como não auditável; dimensões ausentes não são zeros inventados.
Um registro de auditoria reproduzível
O formato abaixo é pequeno e sintético. O envelope é neutro e usage conserva os campos nativos. Não é um benchmark.
{"request_id":"demo-001","timestamp":"2026-08-25T02:00:00Z","model":"MODEL_ID","route":"route-a","stream":true,"usage":{"input_tokens":1000000,"input_tokens_details":{"cached_tokens":0,"cache_write_tokens":1000000}}}
{"request_id":"demo-002","timestamp":"2026-08-25T02:00:03Z","model":"MODEL_ID","route":"route-a","stream":true,"usage":{"input_tokens":1000000,"input_tokens_details":{"cached_tokens":720000,"cache_write_tokens":80000}}}
Execute pelo menos cinco fases: aquecimento serial, conversa somente com acréscimos, mutação dinâmica do sistema, mutação da ordem de ferramentas e replay após um intervalo TTL. Preserve os campos de leitura e gravação nativos de cada provedor e compare R/(R+W) e R/(R+W+U) por fase, rota, modelo e dia UTC. Um número misturado não basta para aprovar um agente em produção.
O que a Modelflare garante e o que não garante
A página pública de status da Modelflare descreve atualmente OpenAI Cache Hit Rate Guarantee. Para solicitações elegíveis que atendem aos requisitos de cache da OpenAI e formam um cache válido, a taxa diária é calculada por dia UTC. Se ficar abaixo do nível aplicável, a diferença é compensada e aparece em Dashboard → Token Usage Analysis. Os níveis públicos atuais são 65%, 75% e 85%.
O limite é intencional:
- A garantia cobre tráfego OpenAI elegível e válido, não solicitações curtas ou sempre mutáveis que nunca se qualificam.
- Ela não transforma automaticamente modelo, schema de ferramenta, rota ou TTL variável em prefixo reutilizável.
- O cálculo é diário em UTC e o crédito segue a superfície de conta documentada; não afirma hit em cada solicitação.
- A evidência nativa e o cálculo de elegibilidade continuam obrigatórios. Um denominador explícito torna a compensação verificável.
Essa é a diferença entre uma promessa de serviço auditável e um slogan de agente: a primeira nomeia população elegível, janela, limite e destino do crédito.
Vantagem de preço e legitimidade operacional são provas separadas
A página pública de preços também mostra uma proporção promocional de 0,015 para a primeira recarga na campanha/grupo aplicável, com mínimo e condições publicados. Isso é incentivo de preço, não garantia de cache. Confirme na página atual o escopo do modelo e as regras de liquidação.
Os materiais públicos de confiança e legais identificam a Havenbyte LLC como operadora e descrevem a operação como baseada nos Estados Unidos. Eles listam a Stripe como processadora de pagamentos, faturas, reembolsos e controles antifraude. São sinais de custódia e responsabilidade, não uma afirmação sobre registro estadual ou certificação específica.
Recomendação para agentes de produção
Escolha um agente de terceiros somente se ele passar por esta lista:
- Encaminha controles nativos e devolve leituras e gravações nativas.
- Mantém idênticos os bytes do prefixo estável de instruções e ferramentas e acrescenta o estado dinâmico depois.
- Expõe modelo, rota, limite de organização/região, modo TTL e ID da solicitação.
- Registra aquecimento serial e paralelo separadamente, sem tirar a média.
- Define por escrito tráfego elegível, denominador, janela UTC, limite e compensação.
- Permite exportar evidência por solicitação sem expor chaves ou conteúdo do cliente.
Se alguma resposta for “não”, não use o caminho para um workload cuja economia dependa de reutilização. Teste diretamente no provedor ou escolha um gateway auditável como a Modelflare com o mesmo corpus. Veja também roteamento confiável de AI API, rastreamento de custos, preços e confiança.
Fontes e data de verificação
Estas fontes primárias foram verificadas em 2026-08-25. Elas descrevem contratos dos provedores e a política pública atual da Modelflare; não provam uma taxa universal de um agente de terceiros não identificado.
- Guia de Prompt Caching da OpenAI
- Preços da API da OpenAI
- Guia de Prompt Caching da Anthropic
- Diagnóstico de cache da Anthropic
- Status e garantia de cache da Modelflare
- Preços e condições atuais da Modelflare
- Confiança e entidade operadora da Modelflare
FAQ: Uma taxa baixa de terceiros é sempre fraude?
Não. Prompts curtos, prefixos variáveis, rotas distribuídas, expiração de TTL ou campos ausentes podem explicar o valor. O diagnóstico correto é “não reproduzível” ou “não auditável” até uma prova controlada mostrar a causa.
FAQ: Posso comparar Claude e GPT com um número?
Somente depois de normalizar o denominador e conservar os campos nativos. Compare o mesmo corpus e fase, não um total misturado do painel.
FAQ: A compensação elimina a necessidade de um prefixo estável?
Não. A compensação limita o risco financeiro do tráfego OpenAI elegível; não torna reutilizável uma solicitação inelegível nem corrige um agente que reescreve o prefixo.