Ir para conteúdo
be-human.ai
← Voltar ao blog

Testes e confiabilidade

Limites de taxa de API em agentes de IA: como evitar bloqueios

Como manter agentes de IA dentro dos limites de taxa de API: fila durável, espera que respeita o sinal do provedor e prioridades, sem perder trabalho.

Um funil de latão despeja um fio fino de areia em um de três vasos de cerâmica sobre uma tábua de carvalho, sob luz quente do sol.
Ilustração conceitual criada com IA · Be Human

Para manter agentes de IA dentro dos limites de taxa de API, coloque uma fila durável entre o agente e cada provedor, regule o ritmo das requisições abaixo do limite publicado e refaça as chamadas bloqueadas com uma espera que siga o sinal do próprio provedor. Depois, acrescente regras de prioridade para que o trabalho urgente passe primeiro e nada seja descartado em silêncio. O objetivo não é evitar o throttling (a limitação imposta pelo provedor) por completo. É fazer dele um evento planejado e visível, e não uma surpresa.

Principais pontos

  • Agentes multiplicam chamadas: uma tarefa de negócio pode disparar muitas requisições a modelos e ferramentas, então os limites aparecem antes do que um piloto sugere.
  • Uma fila durável com um limitador de taxa na frente de cada provedor transforma uma falha em uma espera curta.
  • A espera entre tentativas deve obedecer primeiro ao sinal do provedor, acrescentar aleatoriedade em seguida e sempre ter um teto.
  • Faixas de prioridade, capacidade reservada e prazos definem quem espera quando falta capacidade e quem passa para uma pessoa em vez de ficar no silêncio.
  • Meça profundidade da fila, tempo de espera e eventos de throttling para enxergar a pressão antes que clientes ou equipe a sintam.

Por que os limites de taxa surpreendem mais os agentes do que um software comum?

Uma integração convencional faz um número previsível de chamadas por ação. Um agente não. Ele lê um pedido, decide qual ferramenta usar, chama a ferramenta, lê o resultado e decide de novo. Esse ciclo (explicado com mais detalhe em como funciona o loop de um agente de IA) faz com que um único e-mail ou chamado vire várias chamadas ao modelo e à ferramenta, e a quantidade muda conforme a dificuldade do caso.

Três fatores pioram a situação na prática:

  • Pilotos rodam com volume baixo, então os limites nunca são tocados até o tráfego real chegar.
  • O trabalho ao vivo e o trabalho em segundo plano dividem a mesma cota. Um lote noturno pode tirar capacidade da resposta a um cliente que chega no mesmo instante.
  • Novas tentativas ingênuas aumentam a carga. Quando o provedor pede para diminuir o ritmo, um agente que tenta de novo na hora piora o quadro e pode prolongar o período de bloqueio.

O resultado é um padrão conhecido: o agente funciona bem por semanas e, numa manhã movimentada, aparecem tarefas pela metade, mensagens duplicadas ou um acúmulo de falhas silenciosas. Não há nada errado com o modelo. A estrutura ao redor dele não tinha plano para a escassez.

Uma requisição limitada é um problema de agendamento, não uma falha.

Quais limites se aplicam a um fluxo de trabalho do agente?

Antes de desenhar qualquer coisa, liste todos os limites que o fluxo pode atingir. Raramente é um número só, e raramente eles têm o mesmo escopo.

  • Taxa de requisições: quantas chamadas são permitidas por intervalo, geralmente por chave, projeto ou organização.
  • Taxa de tokens: quanto texto o provedor processa por intervalo. Documentos longos e contextos grandes consomem isso mais rápido do que a contagem de requisições sugere.
  • Concorrência: quantas chamadas podem estar em andamento ao mesmo tempo. Respostas longas e lentas ocupam uma vaga por muito tempo.
  • Cotas periódicas e tetos de gasto: limites diários ou mensais que param tudo quando são atingidos, muitas vezes com um erro diferente do throttling de curto prazo.
  • Limites das ferramentas: o CRM, o serviço de e-mail, a agenda, o sistema contábil ou o ERP ao qual o agente se conecta costuma ter limites próprios, e eles são frequentemente mais rígidos que os do provedor do modelo.
  • Escopo compartilhado: o script de outra equipe, um ambiente de teste ou um segundo agente podem consumir a mesma cota.

Leia a documentação do provedor, mas leia também o que as respostas dizem. Muitos provedores devolvem cabeçalhos ou mensagens de erro que informam a capacidade restante e quando ela é renovada. Trate o limite documentado como ponto de partida e o comportamento observado como a verdade. Verifique também como o provedor contabiliza contexto repetido: recursos como o cache de prompts podem reduzir o custo de um trecho inicial estável, mas a forma como isso interage com seus limites depende das regras de cada provedor.

Como uma fila evita que o trabalho seja descartado?

A mudança central de projeto é simples: o agente deixa de chamar o provedor diretamente. Ele envia um trabalho para uma fila, e um processo consumidor retira os trabalhos da fila no ritmo que o limite permite. Se a capacidade estiver curta, o trabalho espera. Ele não se perde.

Uma fila útil para trabalho de agentes tem estas propriedades:

  • Durável: os trabalhos ficam armazenados, então uma reinicialização, uma publicação de nova versão ou uma queda não apaga o que está pendente.
  • Uma faixa por escopo de limite: um limitador separado para cada provedor, chave e ferramenta, para que um sistema lento não bloqueie os outros.
  • Atenta à taxa: um token bucket ou limitador semelhante define o ritmo de liberação um pouco abaixo do limite real, deixando folga para picos e para outros usuários da mesma cota.
  • Descritiva: cada trabalho carrega um identificador, uma prioridade, um prazo, a contagem de tentativas e o estado atual.
  • Idempotente: cada trabalho tem uma chave para que uma nova tentativa não envie o mesmo e-mail nem crie o mesmo registro duas vezes. A documentação da Stripe sobre requisições idempotentes é um exemplo claro de como um provedor pode definir esse comportamento, e vale copiar a ideia mesmo quando o provedor não a oferece. Veja também idempotência em agentes de IA para evitar ações duplicadas.

O último ponto é o mais importante para agentes que agem no mundo real. Uma chamada limitada que na verdade foi concluída no provedor, mas cuja resposta se perdeu, será repetida. Sem uma chave de idempotência, o cliente recebe duas mensagens.

A fila também precisa de contrapressão. Quando ela passa de uma profundidade definida, o agente deve parar de aceitar trabalho de baixa prioridade e avisar, em vez de acumular horas de atraso sem ninguém perceber. O progresso também deve ser salvo entre as etapas, para que uma tarefa longa interrompida pelo throttling no meio retome de onde parou, em vez de recomeçar. O texto da Anthropic sobre estruturas de apoio (harnesses) para agentes de longa duração explica por que esse estado salvo importa.

Modelo de ponte em mármore verde com uma fileira de etiquetas marfim em branco aguardando na entrada, ao lado de uma pequena balança de latão sobre uma passadeira de linho.
Ilustração conceitual criada com IA · Be Human

Que regras de espera entre tentativas respeitam o provedor?

O backoff é a regra de espera aplicada quando uma chamada é recusada. Um bom backoff é discreto e rigoroso.

  • Respeite o sinal de espera primeiro. Se a resposta trouxer um valor retry-after ou um horário de renovação, espere pelo menos esse tempo. Não adivinhe quando o provedor já informou.
  • Sem sinal, espere com atrasos crescentes e acrescente jitter (variação aleatória), para que vários consumidores não voltem no mesmo instante.
  • Defina um teto para cada atraso e um limite para o total de tentativas. Depois disso, o trabalho vai para um estado seguinte definido, e não para um ciclo sem fim.
  • Classifique os erros. Throttling (geralmente uma resposta 429) e erros temporários do servidor merecem nova tentativa. Requisições inválidas, erros de permissão e problemas de conteúdo não merecem, e repeti-los só repete o erro.
  • Pause a faixa, não apenas a chamada. Quando uma requisição é limitada, os outros consumidores que usam o mesmo limite também devem desacelerar. Um disjuntor simples (circuit breaker) que pausa a faixa durante o período de espera evita uma onda de requisições condenadas.

As regras mais amplas sobre quando repetir e quando parar estão em política de repetição para agentes de IA sem duplicidades. Os limites de taxa são um caso dessa política e devem usar o mesmo vocabulário de tentativas, tetos e estados finais.

O backoff também consome tempo. Se um fluxo tem um prazo de resposta prometido, esperar não é de graça, e por isso ajuda definir um orçamento de latência para o agente de IA. O orçamento diz à fila quando um trabalho esperou o suficiente e uma pessoa deve assumir, em vez de deixá-lo envelhecer em silêncio.

Regras de prioridade: quem espera quando falta capacidade?

Sem prioridades, a fila é do tipo primeiro a entrar, primeiro a sair, e quem entrou primeiro costuma ser um trabalho em lote. Decida a ordem com antecedência, por escrito, junto com as pessoas responsáveis pelo trabalho.

Um guia prático de decisão, do primeiro a ser atendido ao último:

  • Conversas ao vivo em que uma pessoa espera por uma resposta.
  • Trabalho com prazo firme no mesmo dia, como uma confirmação, uma alteração de reserva ou uma cobrança de pagamento.
  • Respostas a decisões humanas, como um rascunho aprovado e pronto para envio.
  • Tarefas de rotina em segundo plano, como classificação, resumos e atualização de registros.
  • Trabalho em lote, como cargas retroativas, reindexações e rodadas de avaliação, agendado para horários tranquilos.

Três regras mantêm isso justo e seguro:

  • Reserve capacidade. Guarde uma parte da cota para a faixa mais alta, de modo que o trabalho em lote nunca consiga usá-la inteira, mesmo quando a faixa mais alta está quieta.
  • Envelheça os trabalhos de baixa prioridade. Um trabalho que esperou o bastante sobe um nível, para nunca ficar parado indefinidamente.
  • Expire com transferência. Quando o prazo passa, o trabalho não desaparece. Ele vai para uma pessoa com o contexto anexado. Vale o princípio de escalonamento humano em falhas de agentes de IA: entregue a decisão, não a bagunça.

Cenário ilustrativo: uma distribuidora usa um agente que redige respostas a e-mails de fornecedores e clientes durante o dia e concilia notas de entrega durante a noite. Um grande lote de notas chega atrasado e é enviado de uma só vez no início da manhã, justamente quando a equipe começa a mandar dúvidas. Sem faixas, o pico consome a cota de tokens e os rascunhos de e-mail travam. Com faixas, a conciliação fica limitada a uma pequena parte da capacidade, os rascunhos mantêm a parte reservada e a conciliação termina mais tarde no dia. Ninguém vê um erro, e a única mudança visível é que o relatório de conciliação chega depois do almoço.

Um plano passo a passo para controlar os limites de taxa

Você pode aplicar isso a um agente existente sem reconstruí-lo. Siga esta ordem.

  • Passo um: faça o inventário de todos os provedores e ferramentas que o agente chama e registre cada limite, sua unidade e seu escopo (chave, projeto ou organização).
  • Passo dois: acompanhe uma tarefa real de ponta a ponta e conte as chamadas que ela faz. Faça isso para um caso simples e para um caso difícil, porque a diferença entre eles é o seu risco de pico.
  • Passo três: coloque uma fila e um limitador na frente de cada provedor, com o ritmo de liberação abaixo do limite real.
  • Passo quatro: acrescente uma chave de idempotência a todo trabalho que altera algo fora do agente, como enviar, criar ou atualizar.
  • Passo cinco: implemente um backoff que siga o sinal de espera do provedor, com jitter, teto, limite de tentativas e pausa de toda a faixa.
  • Passo seis: defina faixas de prioridade, capacidade reservada, envelhecimento e a transferência para uma pessoa quando o prazo vencer.
  • Passo sete: configure alertas sobre profundidade da fila, idade do trabalho mais antigo e eventos de throttling, e revise-os toda semana.
  • Passo oito: teste com um pico deliberado em um ambiente seguro e confirme que o trabalho de alta prioridade continua andando, que nada é duplicado e que nada desaparece.

O passo oito é o que as equipes pulam. Um teste de pico planejado custa muito menos do que descobrir o comportamento num dia movimentado. Também é sensato rodar os novos controles primeiro em um modo em que uma pessoa confere os resultados, no mesmo espírito de testar um agente de IA em modo de observação antes de dar autoridade a ele.

O que acompanhar e o que fazer quando o provedor cai?

O controle de limites só é confiável se você consegue vê-lo funcionando. Registre o suficiente para responder a quatro perguntas: qual a profundidade da fila, há quanto tempo o trabalho mais antigo espera, com que frequência as chamadas foram limitadas e qual faixa foi afetada. Os princípios gerais de observabilidade de agentes de IA e o que registrar se aplicam, e o material introdutório do OpenTelemetry sobre observabilidade explica as ideias de métricas, logs e traces, caso sua equipe esteja começando.

Alguns sinais merecem revisão permanente:

  • Idade crescente do trabalho mais antigo com profundidade de fila estável, o que indica uma faixa travada.
  • Eventos de throttling concentrados no mesmo horário todos os dias, o que aponta uma colisão de agendamentos.
  • Trabalhos que chegam ao limite de tentativas, o que significa que as regras de repetição estão apertadas demais ou que o limite está baixo para a carga.

O throttling também é um parente leve de uma queda. Se um provedor ficar degradado por um período longo, a mesma fila deve ter uma alternativa documentada, seja um segundo modelo, um nível de serviço reduzido ou um caminho manual. O plano de continuidade de negócios para agentes de IA mostra como se preparar para esse caso.

Como a Be Human trata limites de taxa na operação gerenciada

A Be Human trata os limites como parte do contexto de operação do agente, junto com ferramentas, permissões e fronteiras de aprovação. No primeiro projeto, os limites de cada provedor e sistema conectado são registrados quando a função e as ferramentas são definidas, e o critério de sucesso inclui o trabalho que não pode ser perdido. Na operação gerenciada, o comportamento da fila e do throttling é monitorado, as avaliações recorrentes incluem casos de pico, as integrações são mantidas quando os provedores mudam seus limites, e qualquer melhoria controlada no ritmo ou nas regras de prioridade é feita com a aprovação do cliente.

Perguntas frequentes

Um agente deve tentar de novo imediatamente após um erro de throttling? Não. Novas tentativas imediatas aumentam a carga e muitas vezes prolongam o período de bloqueio. Espere pelo menos o tempo indicado pelo sinal de espera do provedor, acrescente jitter se houver vários consumidores e pause a faixa inteira para que outras requisições não batam na mesma parede.

É melhor pedir um limite maior ou montar uma fila? Faça os dois, mas monte a fila primeiro. Um limite maior eleva o teto, enquanto a fila dá controle quando você o alcança, e todo limite é alcançado em algum momento. Pedidos de mais capacidade também ficam mais fáceis de justificar quando você mostra dados reais de fila e de throttling.

Um segundo provedor pode absorver o excesso quando o primeiro está limitando? Pode, mas trate isso como uma escolha deliberada de projeto e não como um remendo rápido. Um modelo diferente pode se comportar de outro jeito, então o transbordamento deve se limitar aos tipos de tarefa que você testou nos dois, e a troca deve ficar visível nos registros. Para trabalhos em que a consistência importa, esperar na fila costuma ser mais seguro do que trocar de provedor.

Como testar o tratamento de limites de taxa antes do lançamento? Envie um pico controlado em um ambiente de não produção que imite seus limites reais, com uma mistura de trabalhos urgentes e em lote. Verifique se o trabalho urgente continua andando, se as novas tentativas não criam duplicidades, se os trabalhos expirados chegam a uma pessoa e se os alertas disparam antes que a fila vire um problema.

Orientação editorial Be Human. Exemplos são ilustrativos, salvo atribuição explícita. Fontes oferecem contexto; a implementação depende do seu processo.

Menos tarefas. Mais espaço para você.

Traga o trabalho para o qual falta tempo.

Teste um agente de IA personalizado 7 dias grátis pelo WhatsApp ↗