Agentes de código e assistentes com várias rodadas frequentemente reenviam o mesmo prompt de sistema, as definições de ferramentas e o prefixo da conversa. O cache pode tornar esses tokens de entrada repetidos mais baratos, mas somente quando o modelo, o endpoint e o formato da solicitação oferecem suporte a isso. Ele não dá desconto na saída gerada, e repetir texto semelhante não é suficiente se a chave do cache mudar. Este guia separa o caminho automático no estilo OpenAI do comportamento explícito de pontos de interrupção do Claude.
O que muda na cobrança?
Uma leitura do cache é cobrada à taxa de entrada em cache, em vez da taxa normal de entrada. O catálogo de modelos do GetVibe publica o suporte a cache e os preços de cache junto às tarifas dos modelos. No snapshot do catálogo verificado em 3 de outubro de 2026, os exemplos incluem $0.0055 entrada · $0.0274 saída por 1M de tokens para GPT-6 Luna e $0.168 entrada · $0.84 saída por 1M de tokens para Claude Sonnet 5.5. Esses valores de preço são renderizados a partir das páginas de modelos atuais. Consulte também os detalhes do cache nessas páginas; não presuma que todos os modelos usam o mesmo multiplicador ou política de gravação.
Uma estimativa simples para um prefixo repetido é: tokens de entrada repetidos multiplicados pela taxa normal de entrada, em comparação com tokens de entrada repetidos multiplicados pela taxa de leitura do cache. A diferença é a possível economia de entrada. Subtraia qualquer custo de gravação no cache se o modelo cobrar por isso. O uso observado na solicitação é necessário para transformar essa estimativa em um resultado medido.
Modelos compatíveis com OpenAI: mantenha o prefixo estável
Para rotas compatíveis com famílias da OpenAI, o cache é automático. Não há um campo de controle de cache a ser adicionado em uma solicitação normal de Chat Completions. O início repetido precisa permanecer igual. Coloque as instruções do sistema, os exemplos estáveis e as definições de ferramentas antes dos valores específicos do usuário. Evite colocar timestamps, IDs aleatórios ou flags de recursos por solicitação no início. Mantenha a ordem das ferramentas determinística.
Não reescreva turnos anteriores da conversa ao continuar uma sessão de agente se você espera que o mesmo prefixo corresponda. Anexe novos turnos. Trocar de modelo inicia um cache de modelo diferente. Uma solicitação pode ser válida e ainda assim informar zero tokens em cache porque o prefixo está abaixo do limite de cache do modelo ou porque o cache expirou.
Claude: pontos de interrupção e o endpoint Messages
O cache do Claude usa pontos de interrupção de controle de cache. A integração do GetVibe pode inserir um ponto de interrupção quando não houver um em solicitações compatíveis do Claude; se você gerencia os pontos de interrupção por conta própria, consulte a documentação atual sobre cache e mantenha o marcador em uma seção estável. O Claude Code usa o endpoint Anthropic Messages; o guia de integração do Claude Code aborda sua URL base e suas credenciais.
curl https://getvibeapi.com/v1/messages \
-H "x-api-key: $GETVIBE_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-5.5",
"max_tokens": 300,
"system": [{"type":"text","text":"Stable instructions shared by every request."}],
"messages": [{"role":"user","content":"A request-specific question."}]
}'Este exemplo mostra uma seção de sistema estável e uma mensagem de usuário que muda. Use a documentação atual para consultar o campo exato do ponto de interrupção compatível com seu cliente e modelo.
Verifique um acerto de cache em vez de presumir que ele ocorreu
Envie o mesmo prefixo longo duas vezes, alterando apenas um sufixo curto. Inspecione o uso informado na resposta. Respostas no formato OpenAI informam a entrada em cache em prompt_tokens_details.cached_tokens; respostas no formato Anthropic expõem campos de leitura e criação do cache. A página de uso da conta também pode mostrar informações de cache. Se essas contagens permanecerem em zero, verifique a igualdade do prefixo, o comprimento mínimo que pode ser armazenado em cache, o suporte do modelo e se você alterou a rota selecionada.
Use uma amostra grande o suficiente para ultrapassar o limite de cache do modelo. Um prompt de sistema com uma única frase pode não produzir uma diferença visível. Compare várias chamadas repetidas, pois a duração do cache e o agendamento das solicitações afetam se um prefixo ainda está aquecido.
Um teste prático de economia
- Escolha um prompt real com um prefixo reutilizável de tamanho significativo.
- Registre seu uso normal de entrada e as tarifas atuais na página do modelo.
- Repita-o alterando apenas o sufixo do usuário.
- Confirme que a resposta informa a entrada em cache.
- Compare o custo no extrato das solicitações repetidas.
Mantenha o comprimento da saída semelhante durante o experimento para que os gastos com saída não ocultem a mudança na entrada. Não alegue economia com base apenas em um multiplicador de cache; verifique a contagem de acertos do cache e o uso cobrado.
Falhas comuns de cache
- Um timestamp ou ID de solicitação aparece antes das instruções estáveis.
- As definições de ferramentas são serializadas em uma ordem diferente a cada solicitação.
- A aplicação altera os espaços em branco ou trunca o histórico de maneira diferente.
- O modelo muda entre os turnos.
- O prefixo é curto demais ou a janela do cache terminou.
Quando funciona, o cache pode tornar conversas longas com agentes mais econômicas, mas não é motivo para enviar contexto desnecessário do repositório. Mantenha os prompts focados e avalie o custo total da tarefa. Para obter mais detalhes sobre endpoints, leia o guia de implementação de cache e a página de preços atual do modelo.
Coloque os pontos de interrupção onde eles possam ser reutilizados
Para um prompt no formato Messages, mantenha as instruções estáveis e o material de referência no bloco do sistema e coloque a pergunta variável na mensagem do usuário. Um ponto de interrupção do cache deve ficar no final da parte estável, não depois de um timestamp específico da solicitação. Se o contexto incluir vários documentos grandes, coloque pontos de interrupção nas partes reutilizadas entre as chamadas e verifique a quantidade de pontos de interrupção compatível com o modelo.
Tenha cuidado com agentes que resumem o próprio histórico. Se cada turno reescreve a conversa anterior, o prefixo muda e um acerto de cache pode desaparecer, mesmo que a conversa geral pareça semelhante para uma pessoa. Compare o corpo serializado da solicitação ao investigar uma falha, mantendo o conteúdo privado fora dos logs.
Considere as gravações no cache e os comprimentos mínimos
Alguns modelos exigem um comprimento mínimo de prefixo antes que o cache seja aplicado, e uma primeira gravação pode ser cobrada de forma diferente de uma leitura posterior. Portanto, um prompt curto pode não apresentar economia. Verifique os preços atuais de leitura e gravação no cache do modelo e o limite de tokens que pode ser armazenado em cache. Depois, compare a primeira solicitação com as solicitações subsequentes separadamente, em vez de calcular uma média em um único número sem explicação.
A disponibilidade do cache depende do tempo. Um prefixo pode expirar após um período de inatividade, e o cache não é um armazenamento durável para dados da aplicação. Nunca dependa dele para preservar o estado da conversa; continue enviando o contexto necessário para uma resposta correta.
Separe a economia do cache da otimização do prompt
Reduzir contexto duplicado e armazenar contexto repetido em cache são melhorias diferentes. Primeiro, remova instruções irrelevantes, exemplos obsoletos e logs copiados. Depois, armazene em cache o material estável que restar. Isso mantém o prompt menor mesmo quando há uma falha de cache e evita pagar repetidamente por contexto não utilizado.
Ao avaliar uma alteração no prompt, mantenha os exemplos da tarefa fixos. Um prefixo mais curto pode reduzir o custo, mas também remover informações necessárias para o modelo. Meça a qualidade da saída junto com o uso em cache e sem cache para que a otimização não prejudique a correção de forma invisível.
