01
Por que o retry ingênuo piora o problema
Quando uma chamada volta com 429, o significado é literal: o provedor está dizendo que você excedeu a cota e precisa desacelerar. Repetir a chamada no instante seguinte é responder ao pedido de desaceleração acelerando. E o problema não é uma chamada repetida: é que todas as chamadas que falharam no mesmo segundo tendem a repetir no mesmo segundo, porque falharam juntas. Esse é o efeito manada, e ele converte um pico de tráfego numa oscilação que se sustenta sozinha, com a cota inteira sendo gasta em requisições rejeitadas.
Vale entender também que a cota de uma API de LLM raramente é uma dimensão só. Costuma haver um limite de requisições por minuto e outro, independente, de tokens por minuto, e o segundo é o que morde primeiro em cargas de contexto longo: dez chamadas com um prompt gigante estouram a cota de tokens muito antes de encostar na de requisições. Controlar apenas a contagem de chamadas dá a ilusão de estar dentro do limite enquanto o consumo real de tokens já passou dele.
| Estratégia | O que acontece no pico | Efeito na cota | Resultado para o usuário |
|---|---|---|---|
| Retry imediato | Todas as falhas repetem juntas | Consumida por requisições rejeitadas | Erro depois de uma espera longa |
| Retry com backoff fixo | Manada volta em bloco, só que mais tarde | Picos sincronizados de rejeição | Latência irregular e imprevisível |
| Backoff exponencial com jitter | Tentativas se espalham no tempo | Rejeições caem, mas ainda há erro | Funciona, sem controle de ordem |
| Token bucket com fila e prioridade | Excedente espera em fila ordenada | Usada quase toda em chamadas aceitas | Espera previsível, crítico passa antes |
A diferença entre as duas últimas linhas é a tese deste artigo. Backoff com jitter é reativo: espera o erro acontecer para então se comportar bem. O token bucket com fila é preventivo: ele nunca deixa a chamada sair se ela vai estourar a cota, então o 429 quase não acontece, e quando acontece (porque outra instância também consome a mesma cota) o backoff é a rede de segurança, não a estratégia principal.