Custo de agente: $/action, prompt cache, cascade routing
- ⬜📏 Agent evaluation em produção: golden sets vs LLM-as-judge(AI Engineering Avançado: RLHF & Agents em Produção)
Recomendamos completar os pré-requisitos antes de seguir, mas nada te impede de continuar.
O choque do primeiro mês de produção
Você lança o agente em beta. Tracking inicial: US$0.12 por conversa. "Tranquilo." Duas semanas depois, com 10k usuários ativos, a fatura mensal Anthropic vem US$45.000. Ninguém previu. O CFO te chama.
O cálculo era certo no individual, errado no escalonamento. Tokens crescem com (a) tamanho do prompt × (b) chamadas por turn × (c) turns por conversa × (d) conversas por usuário × (e) usuários. Cada um desses cresce, e a multiplicação fica cruel.
A fórmula do custo real por task
Alavanca #1 — Prompt caching (até 90% off)
Anthropic prompt caching: o prefixo estável do prompt (system + tools + few-shot) é cacheado no servidor por ~5 minutos (ou 1h em extended). Cache hit cobra ~10% do preço normal do input. Cache write custa ~25% acima do normal — pago uma vez, amortiza em ~3 hits.
import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic();
const response = await client.messages.create({
model: 'claude-sonnet-4-5',
max_tokens: 1024,
system: [
{
type: 'text',
text: '<long system prompt with tool definitions + few-shot examples>',
cache_control: { type: 'ephemeral' }, // ← marca o cache point
},
],
messages: [
{ role: 'user', content: 'Última pergunta do usuário (varia)' },
],
});
// usage.cache_creation_input_tokens — primeira chamada (custou 1.25x)
// usage.cache_read_input_tokens — chamadas subsequentes (custaram 0.1x)Para um agente com system prompt de 3000 tokens chamado 1000 vezes/dia: sem cache, US$9/dia em input. Com cache, US$1/dia. Em um ano, US$2.900 economizados de um único cache point.
Alavanca #2 — Cascade routing
async function cascadeAnswer(query: string) {
// Tier 1: rápido e barato
const haiku = await call('claude-haiku-4-5', query);
if (haiku.confidence > 0.85 && validateOutput(haiku)) return haiku;
// Tier 2: maior, ainda barato
const sonnet = await call('claude-sonnet-4-6', query);
if (sonnet.confidence > 0.7 || requiresSimpleReasoning(query)) return sonnet;
// Tier 3: pesado, só quando precisa
return await call('claude-opus-4-7', query);
}Alavanca #3 — Context compression em conversas longas
| Técnica | Custo de implementação | Redução típica |
|---|---|---|
| Rolling window (descartar > N turns) | Trivial | 30-50%, perda de contexto distante |
| Summarização incremental | Médio (chamar LLM extra) | 60-80%, preserva ideia geral |
| Retrieval no histórico (RAG) | Médio-alto | 70-90%, melhor para sessions muito longas |
| Pruning baseado em relevância (importance score) | Alto (avaliar cada turn) | 50-70%, melhor preservação |
| Anthropic compaction nativo | Trivial — params da API | 50%+, sem código |
Por que o custo real por tarefa de um agente costuma surpreender no primeiro mês de produção?
Alavanca #4 — Reduzir output tokens
Métricas de custo que você DEVE monitorar
O alarme financeiro — antes da fatura
// Middleware que mata loops com gasto desconfortável
const BUDGET_USD_PER_TASK = 0.50;
let taskCost = 0;
for (const step of agentSteps()) {
const result = await runStep(step);
taskCost += estimateCost(result.usage);
if (taskCost > BUDGET_USD_PER_TASK) {
log.warn({ taskId, taskCost }, 'budget exceeded, halting agent');
return { status: 'budget_exceeded', partial: result };
}
}Sem limite por task, um agente em loop infinito pode consumir US$ centenas antes do humano acordar. Budget gating é o cinto de segurança financeiro.
Quando o problema NÃO é custo
Cenário comum: você corta 70% do custo, mas o churn subiu 5% porque o agente está pior. Custo é restrição, não objetivo. Em 2026 a régua é: custo por task × qualidade × latência. Otimizar um sozinho destrói os outros.
Perguntas frequentes
❓ Por que agente custa tanto por usuário?
❓ Quais alavancas reduzem custo de agente?
❓ Como medir custo por ação do agente?
Fixando
- → lê barato
- → delega o pesado
- → só a conclusão
- → conta e interrompe
- Conceito de arquitetura
- Banco de dados
- Segurança e identidade
- Gestão e governança
As duas primeiras alavancas — cache e teto — não custam nada em qualidade, e é por isso que vêm antes. Encurtar prompt vem por último, porque é a única que risca o resultado.
- A parte estável é o maior item da entrada. Instrução de sistema e definição de ferramenta são reenviadas em toda chamada. É a maior fatia, e é a que o cache resolve sem custar qualidade.
- A ordem do prompt decide se o cache existe. A correspondência é por prefixo: qualquer coisa variável antes do trecho estável invalida tudo. Timestamp no topo é a causa nº 1 de cache que não forma.
- O histórico é o custo que cresce sozinho. Cada volta reenvia o acumulado. É por isso que agente custa mais por tarefa longa, e por que compactar ou resumir o histórico é alavanca real.
- Teto de passos é defesa estrutural. "Seja econômico" é pedido. Contador que interrompe é fato — sem ele, ferramenta que devolve vazio faz o laço girar até alguém olhar a fatura.
- Medir por TAREFA, não por chamada. Agente que gasta pouco por chamada e não conclui é o mais caro de todos. Custo por tarefa concluída é a métrica que decide.
Qual alavanca de custo costuma dar o maior retorno com o menor risco?
Em que consiste o roteamento em cascata?
Terminou de ler?
Marcar como concluído registra o XP, mantém sua sequência e coloca 3 cartas deste módulo na fila de revisão espaçada.
Próximos passos sugeridos
Temas deste módulo
Discussão
Carregando comentários…