Otimização de custosAnálise
Como estimar o custo de um agente de IA
Por que as faturas de agentes são dominadas por tokens de entrada, uma fórmula que você pode rodar antes do agente, um exemplo prático de 30 etapas e sete maneiras de cortar o custo.

Nesta página
Um agente de IA não faz uma única requisição — ele faz dezenas, e cada etapa reenvia a conversa que cresce. É por isso que as faturas de agentes são dominadas por tokens de entrada, e por isso a intuição de "preço por resposta" dos apps de chat não funciona. Veja como estimar o custo antes de o agente rodar, e para onde o dinheiro realmente vai.
A fórmula#
O custo de uma requisição é tokens de entrada vezes o preço de entrada mais tokens de saída vezes o preço de saída. Os preços são cotados por milhão de tokens:
request_cost = input_tokens / 1,000,000 × input_price
+ output_tokens / 1,000,000 × output_priceO custo de uma tarefa é a soma de todas as requisições que o agente faz enquanto a resolve.
Por que agentes são pesados em entrada#
A cada etapa o agente envia ao modelo:
- o prompt de sistema e as definições de ferramentas;
- todo o histórico até o momento — mensagens anteriores, respostas anteriores do modelo e resultados de ferramentas (conteúdo de arquivos, saída de comandos, resultados de busca);
- a nova instrução.
O modelo geralmente responde com uma mensagem curta ou uma chamada de ferramenta. Então o resultado da ferramenta é anexado ao histórico e a próxima etapa envia tudo de novo. Assim, a entrada de cada etapa cresce, enquanto a saída permanece pequena.
Um exemplo prático#
Condições (suposições — substitua pelos números do seu agente):
- prompt de sistema e definições de ferramentas: 6.000 tokens;
- cada etapa adiciona 1.500 tokens de resultados de ferramentas e 500 tokens de saída do modelo ao histórico;
- a tarefa leva 30 etapas;
- modelo: DeepSeek-V4-Flash a $0.0221 por 1M tokens de entrada e $0.10 por 1M tokens de saída (preços atuais).
A entrada da etapa n é 6.000 + (n − 1) × 2.000 tokens. Ao longo de 30 etapas:
- entrada total: 30 × 6.000 + 2.000 × (0 + 1 + … + 29) = 180.000 + 870.000 = 1.050.000 tokens;
- saída total: 30 × 500 = 15.000 tokens;
- custo: 1,05 × $0.0221 + 0,015 × $0.10 ≈ $0.0247 por tarefa.
A entrada é 98,6% dos tokens e quase todo o custo. Quanto a entrada domina depende do cenário: respostas longas, arquivos gerados e modelos de raciocínio aumentam a parcela de saída, enquanto um histórico enxuto e saída curta de ferramentas reduzem a parcela de entrada.
A mesma tarefa em todos os modelos aos preços atuais, com os preços de referência do OpenRouter para comparação:
| Modelo | Entrada $/1M | Saída $/1M | Custo | OpenRouter |
|---|---|---|---|---|
| GLM-5.3-Flash | $0.027 | $0.08 | $0.0296 | $0.0534 |
| DeepSeek-V4-Flash | $0.0221 | $0.10 | $0.0247 | $0.0264 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.0548 | $0.333 |
1.050.000 tokens de entrada e 15.000 tokens de saída no total. Os preços por 1M de tokens são atuais e mudam junto com nossas tarifas; a coluna OpenRouter mostra preços de referência para a mesma carga de trabalho.
Estime em código#
O mesmo cálculo como função — mude as suposições e os preços:
def estimate(steps, base_tokens, tool_tokens, out_tokens, price_in, price_out):
"""Token totals and cost of one agent task. Prices: $ per 1M tokens."""
grow = tool_tokens + out_tokens # what each step adds to the history
total_in = steps * base_tokens + grow * steps * (steps - 1) // 2
total_out = steps * out_tokens
cost = (total_in * price_in + total_out * price_out) / 1_000_000
return total_in, total_out, round(cost, 5)
# example rates, $ per 1M tokens — put in the current ones from the pricing table below
print(estimate(30, 6_000, 1_500, 500, price_in=0.10, price_out=0.40))
# (1050000, 15000, 0.111)Observe o termo quadrático: dobrar o número de etapas aproximadamente quadruplica a entrada. Sessões longas ficam caras não por causa de uma única etapa, mas porque cada etapa carrega o histórico inteiro.
Meça em vez de adivinhar#
Toda resposta inclui usage. (entrada) e usage. (saída). Registre-os para cada etapa de uma tarefa real, multiplique pelas tarifas atuais, e você tem o custo real. O painel também mostra o uso por modelo e por dia.
Tarifas atuais — os mesmos dados da página de preços:
| Modelo | Contexto | Entrada $/1M | Saída $/1M | OpenRouter entrada | OpenRouter saída |
|---|---|---|---|---|---|
| GLM-5.3-Flash reasoning temporariamente indisponível | 390K | $0.027 | $0.08 | $0.048 | $0.20 |
| DeepSeek-V4-Flash temporariamente indisponível | 380K | $0.0221 | $0.10 | $0.016 | $0.64 |
| MiniMax-M2.7 temporariamente indisponível | 200K | $0.05 | $0.15 | $0.30 | $1.20 |
Preços em USD por 1 milhão de tokens. Valores do OpenRouter exibidos para comparação e sujeitos a alterações.
Sete maneiras de cortar o custo#
- Comece uma nova tarefa para trabalho não relacionado. Uma sessão nova não carrega o histórico da anterior.
- Dê fragmentos ao agente, não arquivos inteiros. Uma função e seus chamadores em vez de um módulo de 3.000 linhas.
- Enxugue a saída de ferramentas. Logs longos e saída de comandos permanecem no histórico pelo resto da sessão — limite-os, por exemplo com
| tail -n 50. - Resuma sessões longas. Muitos agentes conseguem compactar o histórico; use isso antes que o contexto fique longo.
- Limite o comprimento da resposta com
max_tokensonde respostas longas não são necessárias. - Use o modelo certo para a etapa. Etapas rotineiras não precisam de um modelo de raciocínio.
- Mantenha um orçamento pré-pago. O saldo é pré-pago: quando acaba, as requisições param com HTTP 402 em vez de acumular uma fatura sem limite.
Para ver como a mesma carga de trabalho se compara entre modelos e com o OpenRouter, use a comparação de custos na página inicial.



