Arquitetura de IA

Rate limit para agentes de IA: como controlar chamadas

Veja como aplicar rate limit em agentes de IA para controlar chamadas, concorrência, picos e dependências sem paralisar processos ou perder tarefas importantes.

Um agente consegue consumir mais rápido do que a operação entrega

Um lote de documentos chega às oito da manhã. Vários agentes começam a extrair dados, consultar o CRM, chamar modelos e salvar resultados ao mesmo tempo. A API financeira reduz o tráfego. O provedor de IA responde com limite excedido. As tentativas se acumulam e aumentam o pico que deveriam resolver.

Rate limit é o controle que restringe quantas operações podem entrar em uma dependência durante uma janela. Em agentes de IA, ele protege modelos, APIs, bancos, filas humanas e sistemas internos contra consumo acima da capacidade segura.

O limite precisa considerar a unidade de trabalho e a prioridade do processo. Bloquear chamadas sem fila, estado e regra de retomada apenas troca sobrecarga por perda de tarefas.

Por que agentes pressionam limites de forma diferente

Uma integração tradicional costuma ter volume mais previsível. Um agente pode decidir fazer novas consultas, decompor um caso, usar ferramentas adicionais e repetir uma etapa depois de erro.

Quatro características aumentam a pressão.

Chamadas em cascata

Uma solicitação gera pesquisa, extração, classificação, validação e escrita. Cada etapa aciona uma dependência diferente. O volume visível na entrada pode ser pequeno, enquanto o número de chamadas cresce dentro do fluxo.

Concorrência variável

Filas, crons, usuários e webhooks podem iniciar tarefas no mesmo horário. A infraestrutura escala os workers, mas a API de destino continua com o mesmo limite.

Retentativas sincronizadas

Quando várias execuções recebem erro, todas tentam novamente depois do mesmo intervalo. O novo pico encontra a dependência ainda sobrecarregada.

Tarefas com custo desigual

Uma classificação curta e uma análise de contrato podem contar como uma chamada, embora ocupem recursos e tempo muito diferentes. Limitar apenas a quantidade pode deixar uma tarefa pesada consumir a capacidade disponível.

O artigo sobre agentes de IA para tarefas longas explica estado, tentativas e checkpoints. O foco deste guia é a admissão de trabalho: quem pode consumir qual recurso, em qual ritmo e com que prioridade.

Separe os limites por dependência

Um teto global para todo o agente costuma ser simples demais. Cada camada possui capacidade, contrato e consequência próprios.

Mapeie pelo menos:

  • provedor e modelo de IA;
  • API do CRM;
  • ERP e sistema financeiro;
  • busca e navegação;
  • OCR e processamento de documentos;
  • banco de dados;
  • armazenamento;
  • envio de e-mail, WhatsApp ou SMS;
  • fila de aprovação humana;
  • serviço interno compartilhado;
  • limite por cliente ou unidade de negócio.

Uma tarefa pode continuar em etapas locais enquanto espera uma API. Outra precisa parar porque a dependência governa o próximo estado. O desenho deve preservar essa diferença.

Descubra o limite real antes de configurar

O contrato do fornecedor é apenas uma parte. A capacidade segura pode ser menor do que o teto publicado.

Levante:

  • requisições permitidas por segundo ou minuto;
  • tokens, caracteres, páginas ou registros por janela;
  • concorrência máxima;
  • limites por conta, chave, modelo, endpoint ou região;
  • tamanho máximo de lote;
  • duração típica e duração extrema;
  • cabeçalhos que informam consumo restante;
  • comportamento quando o limite é atingido;
  • janela de reposição;
  • cotas diárias ou mensais;
  • capacidade do sistema interno;
  • capacidade humana de revisar exceções.

Faça testes graduais. Uma API pode aceitar cem chamadas rápidas e degradar o banco usado por outras rotinas. Um sistema interno pode não publicar limite, mas apresentar aumento de latência, bloqueio de conexão ou fila crescente.

O limite operacional deve proteger o processo inteiro, inclusive a equipe que recebe o resultado.

Escolha a unidade de consumo adequada

Chamadas por minuto ajudam, mas não cobrem todo o problema. Use a unidade que representa o recurso escasso.

Exemplos:

  • requisições por segundo para endpoint leve;
  • tokens por minuto para modelos;
  • páginas por minuto para OCR;
  • documentos simultâneos para extração;
  • conexões concorrentes para banco;
  • mensagens por destinatário e período;
  • escritas por objeto de CRM;
  • aprovações abertas por revisor;
  • custo estimado por janela;
  • tempo de computação por cliente.

Um agente pode respeitar o número de requisições e ultrapassar o limite de tokens. Também pode ficar dentro da cota técnica e criar cinquenta solicitações para uma pessoa que consegue revisar cinco.

Use mais de uma camada de rate limit

Limites funcionam melhor quando acompanham os pontos de decisão da arquitetura.

Por aplicação ou agente

Impede que uma solução consuma toda a capacidade compartilhada. Cada identidade recebe uma cota compatível com seu processo e criticidade.

Por cliente ou unidade

Evita que um lote grande de uma conta atrase todas as outras. Também ajuda a atribuir consumo e cumprir isolamento operacional.

Por ferramenta

Uma chamada ao modelo pode ser permitida enquanto uma escrita no ERP permanece bloqueada. O agente continua preparando trabalho sem pressionar a dependência indisponível.

Por classe de tarefa

Rotinas críticas recebem reserva de capacidade. Trabalho analítico sem urgência usa o espaço restante ou segue para processamento em lote.

Por usuário ou destinatário

Protege pessoas contra mensagens repetidas, notificações excessivas e solicitações de aprovação em massa.

Global

Mantém uma barreira final para incidentes, erro de configuração ou crescimento inesperado. Esse limite precisa preservar uma faixa para saúde, administração e contingência.

O gateway de IA para empresas pode aplicar políticas comuns às chamadas de modelos. Limites de ferramentas, filas e pessoas continuam no orquestrador e nas integrações que conhecem o processo.

Algoritmos comuns e quando usar

A implementação pode assumir formas diferentes. A escolha depende do tráfego e da experiência esperada.

Janela fixa

Conta operações dentro de períodos fechados, como um minuto. É simples, mas permite pico na fronteira: o agente consome o final de uma janela e o início da próxima em poucos segundos.

Janela deslizante

Conta o consumo no período imediatamente anterior. Distribui melhor o tráfego, com custo maior de registro.

Token bucket

Acumula créditos até um teto e gasta um por operação ou por peso. Permite picos curtos dentro da reserva, mantendo uma taxa média.

Leaky bucket

Escoa trabalho em ritmo constante. É útil quando o destino precisa receber carga regular e previsível.

Limite de concorrência

Restringe quantas tarefas ficam ativas ao mesmo tempo. Ajuda em chamadas longas, processamento pesado e conexões escassas.

Muitos fluxos combinam taxa e concorrência. O primeiro controla entrada por janela. O segundo impede que chamadas lentas ocupem recursos demais.

A fila deve absorver o pico sem esconder atraso

Quando o limite bloqueia uma tarefa válida, a fila preserva o trabalho para execução posterior. Ela precisa registrar:

  • unidade de trabalho;
  • prioridade;
  • dependência aguardada;
  • horário de entrada;
  • prazo ou validade;
  • número de tentativas;
  • próxima tentativa;
  • orçamento restante;
  • motivo do bloqueio;
  • dono;
  • regra de expiração.

Fila sem prazo vira depósito de tarefas vencidas. Um lembrete comercial preparado ontem pode estar errado depois de uma resposta do cliente. Um preço pode mudar. Uma aprovação pode perder validade.

Antes de consumir um item antigo, releia o estado que governa a ação. O controle de idempotência em agentes de IA evita duplicar efeitos quando o mesmo trabalho retorna à fila ou já foi resolvido por outro caminho.

Aplique backoff com jitter nas retentativas

Repetir imediatamente depois de um erro de limite aumenta a sobrecarga. Use intervalo crescente entre tentativas e acrescente variação aleatória.

Uma sequência poderia esperar aproximadamente:

  • alguns segundos depois da primeira falha;
  • um intervalo maior na segunda;
  • uma janela ainda maior nas próximas;
  • encerramento ou encaminhamento ao atingir o teto.

O valor exato depende do cabeçalho do provedor, da janela de reposição e do prazo do processo. Quando a resposta informa Retry-After, respeite esse sinal dentro dos limites da aplicação.

Jitter impede que centenas de tarefas voltem no mesmo instante. Cada execução recebe pequena variação no intervalo. Registre a causa da tentativa e não repita erros permanentes como credencial inválida, entrada rejeitada ou permissão insuficiente.

Prioridade precisa de regra explícita

Colocar todos os trabalhos na mesma fila permite que um lote de baixa urgência bloqueie uma ação com prazo curto.

Defina classes coerentes com o negócio:

  • ação ligada a cliente ou operação em andamento;
  • compromisso com prazo próximo;
  • correção de falha que impede o processo;
  • processamento interno agendado;
  • atualização de base;
  • análise exploratória.

A prioridade não deve vir de texto livre gerado pelo modelo. Use tipo de processo, prazo, impacto, cliente, contrato e regra aprovada. Casos ambíguos podem receber uma faixa conservadora ou revisão.

Reserve parte da capacidade para tarefas críticas. Sem reserva, a prioridade só reorganiza uma fila já saturada.

Evite que uma classe fique sem capacidade

Prioridade absoluta pode fazer tarefas comuns esperarem indefinidamente. Use mecanismos de justiça:

  • cotas mínimas por classe;
  • round-robin ponderado;
  • envelhecimento de prioridade;
  • limites por cliente;
  • reserva para urgências;
  • teto de consumo por lote;
  • janelas específicas para processamento pesado.

O objetivo é cumprir os compromissos críticos sem transformar o restante em backlog invisível.

Controle fan-out e subtarefas

Um agente pode receber uma solicitação e criar dezenas de subtarefas. Limitar apenas a entrada principal não contém esse crescimento.

Estabeleça:

  • profundidade máxima de decomposição;
  • subtarefas por unidade;
  • chamadas por etapa;
  • concorrência por execução;
  • ferramentas permitidas;
  • volume máximo por lote;
  • orçamento por unidade;
  • critério de suficiência;
  • condição de parada.

Quando o agente atinge o limite, ele deve salvar o que concluiu, indicar a lacuna e entregar uma próxima decisão. Criar outro agente para continuar por fora do contador quebra o controle.

O guia sobre controle de custos de agentes de IA detalha orçamentos por tarefa e tetos de consumo. Rate limit protege capacidade por janela; orçamento protege a economia de cada unidade e do período.

Diferencie proteção de dependência e proteção comercial

Limite técnico evita saturação. Limite comercial evita consequências inadequadas mesmo quando a infraestrutura suporta o volume.

Exemplos:

  • uma API aceita mil mensagens por minuto, mas o processo permite apenas uma abordagem por contato na janela definida;
  • o CRM suporta várias escritas, mas duas atualizações concorrentes no mesmo negócio exigem serialização;
  • o provedor aceita alto volume, mas o contrato do cliente estabelece cota menor;
  • o sistema gera cem recomendações, mas a equipe só consegue revisar vinte dentro do prazo.

A arquitetura precisa aplicar ambos. Capacidade disponível não equivale a permissão para consumir ou agir.

Planeje o comportamento ao atingir o limite

Cada limite deve terminar em um estado conhecido.

As respostas possíveis incluem:

  • aguardar na fila;
  • reduzir concorrência;
  • usar processamento em lote;
  • adiar trabalho sem urgência;
  • pedir aumento de cota;
  • trocar para rota aprovada;
  • produzir resultado parcial;
  • encaminhar para pessoa;
  • expirar a unidade;
  • cancelar subtarefas;
  • voltar ao processo manual.

Fallback para outro provedor exige avaliação prévia. Uma rota disponível pode ter política de dados, qualidade, custo ou formato incompatível. Trocar silenciosamente para qualquer modelo amplia o risco no momento em que a operação já está degradada.

Monitore saturação antes da falha

O erro de limite mostra que o teto foi alcançado. Bons sinais aparecem antes.

Acompanhe:

  • consumo atual e restante por janela;
  • chamadas bloqueadas;
  • concorrência ativa;
  • latência por dependência;
  • tamanho e idade da fila;
  • prazo estimado para esvaziar backlog;
  • tentativas por unidade;
  • tarefas expiradas;
  • distribuição por agente, cliente e classe;
  • capacidade reservada usada;
  • aprovações acumuladas;
  • custo por janela;
  • taxa de conclusão válida.

Alertas devem indicar qual dependência saturou, quais processos foram afetados, quanto trabalho aguarda e quem decide reduzir carga ou ampliar capacidade.

O artigo como monitorar agentes de IA em produção organiza métricas de execução, qualidade, risco e impacto. Rate limit fornece uma parte da telemetria de saúde.

Teste picos, degradação e recuperação

Um teste com dez chamadas sequenciais diz pouco sobre produção. Simule:

  • chegada simultânea de vários lotes;
  • aumento rápido de usuários;
  • dependência mais lenta do que o normal;
  • resposta de limite com e sem cabeçalho de espera;
  • cota reduzida pelo fornecedor;
  • dois agentes disputando o mesmo recurso;
  • uma classe crítica durante backlog;
  • reinício dos workers com fila acumulada;
  • retentativas sincronizadas;
  • tarefa vencida antes do consumo;
  • rota alternativa indisponível;
  • revisão humana saturada;
  • retomada gradual depois do bloqueio.

Verifique se o sistema preserva tarefas, respeita prioridade, distribui capacidade, evita duplicidade e mostra uma previsão operacional útil.

O ambiente de teste para agentes de IA ajuda a simular respostas, concorrência e falhas sem pressionar sistemas reais.

Checklist para definir rate limits

Antes de escalar um agente, confirme:

  • Todas as dependências possuem limite conhecido ou medido?
  • A unidade de consumo representa o recurso escasso?
  • Existem limites por agente, ferramenta, cliente e classe quando necessários?
  • Taxa e concorrência são controladas separadamente?
  • Picos válidos entram em fila com estado e prazo?
  • Retentativas usam backoff e jitter?
  • Erros permanentes param cedo?
  • A prioridade vem de regras do processo?
  • Há reserva de capacidade para trabalho crítico?
  • Tarefas comuns possuem proteção contra espera infinita?
  • Fan-out e subtarefas entram no consumo da unidade?
  • Limite técnico e limite comercial estão separados?
  • Cada teto termina em um estado conhecido?
  • Fallbacks passaram por avaliação da tarefa?
  • Alertas têm responsável e ação definida?
  • Testes cobrem saturação e retomada gradual?

Capacidade precisa ser distribuída, não apenas ampliada

Aumentar a cota do provedor pode aliviar um pico e criar outro gargalo no CRM, no banco ou na equipe de revisão. A arquitetura precisa decidir como a capacidade disponível será dividida entre processos, clientes e prioridades.

Rate limit bem desenhado mede o recurso certo, controla taxa e concorrência, absorve picos em filas com prazo, coordena retentativas e preserva espaço para trabalho crítico. Assim, o agente continua útil sob volume sem transformar uma dependência compartilhada em ponto de colapso.