Colegas que trabalham com desenvolvimento backend e aplicações de IA provavelmente já passaram por este momento: no fim do mês, ao abrir a fatura da cloud, descobrem que a despesa com APIs de grandes modelos é 3 vezes o orçamento. Não foi um ataque, não foi um pico de tráfego — foi simplesmente o serviço de conversação em produção a queimar dinheiro silenciosamente. Este artigo analisa, de uma perspetiva de engenharia, onde é que o dinheiro está a escapar e como tapar essas fugas com meios técnicos.
Armadilha 1: A Expansão Descontrolada da Janela de Contexto
A fonte de custo mais facilmente ignorada em conversas multi-turno é o reenvio integral do histórico de mensagens. Suponhamos um cenário de apoio ao cliente, em que cada turno tem em média 800 tokens de contexto; quando o utilizador chega ao 20.º turno, o input de um único pedido aproxima-se dos 16 000 tokens. A $2,5 por 1M tokens de input do GPT-4o, o custo de input de um único pedido é de cerca de $0,04; com 50 000 chamadas por dia, isso são $2 000. O que é realmente crítico é que, desses 16 000 tokens, provavelmente 70% são conversa fiada irrelevante de três turnos antes.
A abordagem de otimização é janela deslizante + compressão por resumo. Mantém-se o texto original dos últimos N turnos e a conversa mais antiga é comprimida por um modelo leve num resumo de até 200 tokens. No nosso projeto, mudámos a janela de "integral" para "últimos 6 turnos + resumo", e o input por pedido caiu de 12 000 para cerca de 3 500 tokens, cortando o custo de input em sete décimos. Atenção: o próprio resumo também deve passar por um modelo barato — usar um modelo de topo para fazer resumos é o mesmo que não poupar nada.
Armadilha 2: Usar Modelos de Topo para Trabalho Grosseiro
Este é o desperdício mais comum e mais injustificável. Classificação de intenções, análise de sentimento, resumo de conteúdo, conversão de formatos — estas tarefas conseguem atingir mais de 95% de precisão com DeepSeek-V3 ou Qwen-Max, mas muitas equipas, por conveniência, encaminham tudo para Claude 4 Sonnet ou GPT-4o. Qual é a diferença de preço? O preço unitário de input dos modelos de topo é frequentemente 10 a 20 vezes o dos modelos leves.
O cerne da invocação em camadas de modelos é o encaminhamento. Quando uma tarefa chega, avalia-se automaticamente a complexidade: classificação vai para modelos leves, raciocínio complexo só vai para modelos de topo. O SiCore TokenWorks suporta a seleção automática do modelo ideal por tarefa; no nosso projeto, após migrar as tarefas de classificação para modelos leves, o custo caiu significativamente. O valor deste tipo de plataforma de agregação de APIs de IA reside precisamente aqui: não precisas de manter um SDK e uma Key separados para cada modelo — uma interface compatível com OpenAI permite alternar. Segue-se um exemplo de alteração mínima:
from openai import OpenAI
client = OpenAI(
api_key="your-token8341-key",
base_url="https://api.token8341.com/v1" # altera uma linha, compatível com o OpenAI SDK
)
# Tarefas leves usam modelos baratos
resp = client.chat.completions.create(
model="deepseek-v3",
messages=[{"role": "user", "content": "Determine o sentimento deste comentário: entrega rápida, mas embalagem danificada"}],
max_tokens=16
)
print(resp.choices[0].message.content)A estratégia de encaminhamento pode começar por regras: etiquetar o tipo de tarefa; classificação/resumo/extração vão para modelos leves, geração de código/raciocínio complexo vão para modelos de topo. Após um período de execução, estatística a taxa de acerto real de cada modelo e ajusta — não comeces logo com encaminhamento semântico complexo, pois o custo de manutenção pode ser superior ao dinheiro poupado.
Armadilha 3: Mecanismo de Retry Fora de Controlo
O retry por timeout é um amplificador invisível. Muitos SDKs fazem 2 a 3 tentativas por defeito; se o limiar de timeout for demasiado curto (por exemplo, 10 segundos) e a latência P99 real for de 25 segundos, então um grande número de pedidos fará retry após o timeout, transformando uma chamada em três. Pior ainda: os próprios pedidos de retry ocupam concorrência, podendo acionar rate limiting, e o rate limiting por sua vez aciona mais retries, formando uma avalanche.
Já passámos por isto: um endpoint com latência P99 de 28 segundos, timeout definido em 15 segundos, 3 retries — o volume real de chamadas era 2,4 vezes o volume de negócio. Depois, ajustámos o limiar de timeout para P99 + 30%, mudámos o retry para backoff exponencial com no máximo 1 tentativa, e o volume de chamadas voltou para 1,1 vezes. Além disso, o retry deve distinguir tipos de erro: apenas 429 e 5xx devem ser repetidos; repetir um erro de parâmetros 400 dez mil vezes não serve de nada.
Armadilha 4: Falta de Agregação de Utilização e Alertas
Este é o problema mais fundamental. Muitas equipas fazem estatísticas aproximadas por projeto ou por Key, mas não sabem exatamente qual funcionalidade, qual utilizador ou qual Prompt está a queimar dinheiro. Só quando a fatura chega é que descobrem que a Key de um ambiente de testes não foi desligada, ou que a sessão excessivamente longa de um utilizador consumiu todo o orçamento.
A abordagem é etiquetar por dimensão: cada chamada leva as três etiquetas team, feature e user_id, registadas em logs ou numa base de dados temporal. A vantagem de usar um gateway de APIs de IA como ponto de entrada unificado é precisamente esta: todas as chamadas passam por uma camada de proxy, e as etiquetas e a agregação de utilização são feitas no lado do gateway, sem alterar o código de cada equipa de negócio. Recomenda-se definir dois níveis de alerta: aviso quando o consumo diário atinge 60% do orçamento, e degradação acionada aos 85% (por exemplo, migrar automaticamente funcionalidades não críticas para modelos leves).
Comparação de Custos e Referência de Seleção
Depois de implementar os quatro pontos acima, comparámos três formas de integração: ligação direta oficial a um único modelo, encaminhamento próprio e plataforma de agregação. A ligação direta oficial é a mais simples, mas não permite camadas de modelos, com custo rígido; o encaminhamento próprio é flexível, mas exige manter múltiplas Keys, múltiplos SDKs e múltiplas lógicas de faturação, com um mínimo de dois meses-pessoa; a plataforma de agregação tem capacidades prontas para alternância de modelos e agregação de utilização, com faturação por consumo e custo mais vantajoso. Na seleção, foca-te em três pontos: compatibilidade com o OpenAI SDK (custo de migração), cobertura completa de modelos nacionais (conformidade e custo) e existência de interfaces de agregação de utilização (observabilidade).
A otimização de custos não é pontual — é um processo contínuo de observação e ajuste. Primeiro implementa a agregação de utilização para ver claramente onde o dinheiro é gasto, depois otimiza item a item o contexto, as camadas de modelos e a estratégia de retry. Não invertas a ordem, caso contrário podes passar horas a otimizar algo que afinal não é o principal.
Autor: Chen Jingxing
Data de publicação: 3 de outubro de 2026