Oi KAMI1a,
Como um Engenheiro de Automação de IA rodando workloads em produção com Anthropic e n8n diariamente, eu realmente entendo sua dor. Quando você está rodando 10–20 mensagens por conversa em múltiplos clientes, system prompts sem cache vão absolutamente consumir seu orçamento de API.
@achamm está completamente certo—n8n ainda não expõe nativamente o parâmetro cache_control dentro das Opções Avançadas do nó Anthropic Chat Model.
Enquanto esperamos o suporte nativo chegar no roadmap, você não precisa sangrar custos de API. O melhor workaround de nível produtivo agora é interceptar a requisição e injetar os headers de cache você mesmo.
Aqui está exatamente como configurar isso:
A Solução: O Truque do Cloudflare Worker Proxy
Em vez de enviar requisições do n8n diretamente para Anthropic, você aponta o n8n para um Cloudflare Worker leve e gratuito. O Worker pega o payload do n8n, injeta o bloco cache_control: {"type": "ephemeral"} no array de system prompt, e o encaminha para Anthropic.
1. Implante o Cloudflare Worker
Crie um novo Cloudflare Worker e coloque um script que intercepte o corpo da requisição POST recebida. Seu código JavaScript dentro do worker deve parecer algo assim:
JavaScript
export default {
async fetch(request, env) {
if (request.method === "POST") {
let body = await request.json();
// Inject cache_control into the system prompt if it exists
if (body.system && typeof body.system === 'string') {
body.system = [
{
type: "text",
text: body.system,
cache_control: { type: "ephemeral" }
}
];
}
// Forward the modified request to Anthropic
const modifiedRequest = new Request("https://api.anthropic.com/v1/messages", {
method: "POST",
headers: request.headers,
body: JSON.stringify(body)
});
return fetch(modifiedRequest);
}
return new Response("Method not allowed", { status: 405 });
}
};
2. Atualize as Credenciais do n8n
-
Vá para seu gerenciador de Credentials no n8n e abra sua configuração de API do Anthropic.
-
Ative a opção de override de Base URL (você pode precisar habilitar as configurações avançadas).
-
Substitua https://api.anthropic.com/v1 pela URL do seu Cloudflare Worker implantado (ex: https://seu-worker-name.workers.dev).
Armadilhas Cruciais de Produção para Manter em Mente
Já que você está rodando isso para clientes reais, mantenha essas duas regras em mente para garantir que você realmente consiga um cache hit:
-
Mantenha o Prefixo Estático: Anthropic requer que o bloco em cache (system prompt + tools) seja totalmente estável. Se seu nó de AI Agent injeta dinamicamente dados variáveis (como a hora atual ou um nome de cliente que muda) diretamente na string de system prompt, isso vai invalidar o cache a cada turno. Mantenha dados dinâmicos dentro das mensagens do usuário em vez disso.
-
Fique Atento ao Mínimo de Tokens: Anthropic só dispara prompt caching se seu prefixo de prompt for maior que 1.024 tokens (Sonnet/Opus). Como seu system prompt tem ~1.500 tokens, você está perfeitamente seguro, mas fique atento a isso se você tentar dimensionar prompts menores!
Essa pequena camada de middleware proxy deve reduzir seus custos de mensagem recorrentes em até 90% imediatamente até que o recurso nativo seja lançado.
Me avise se você precisar de ajuda para ajustar o script do worker para corresponder à sua estrutura exata de payload de ferramentas!