Pular para o conteúdo

Recuperação de Respostas em Fila

A Zaia tenta automaticamente novamente a geração de respostas do Agente com falha no WhatsApp e no Instagram.

Isso protege as conversas contra falhas transitórias de processamento e interrupções de serviço.

O mecanismo combina processamento rápido de fila com rastreamento duradouro de recuperação.


A recuperação se aplica quando o dono do chat envia uma mensagem pelo WhatsApp ou pelo Instagram.

Não se aplica quando o chat tem um ticket de human support ativo.

A Zaia cria ou atualiza um registro duradouro de recuperação ao receber a mensagem.

Em seguida, ela coloca o chat na fila para geração de resposta do Agente.


Quando a geração começa, a Zaia confirma o recebimento do item na fila e registra a tentativa.

Se ocorrer um erro passível de nova tentativa, a Zaia aguarda 30 segundos antes de tentar novamente.

A Zaia realiza uma nova tentativa automática. Portanto, uma resposta tem no máximo duas tentativas.

Após o limite, a Zaia preserva o erro final e marca a recuperação como falha.


A maioria dos erros transitórios de geração aciona a nova tentativa automática.

A Zaia não tenta novamente estes erros:

  • NotFound
  • PreconditionFailed
  • BadImplementation
  • Erros do provedor de LLM que não exigem alerta

Antes de tentar novamente, a Zaia remove os artefatos da tentativa com falha.

  • Exclui o placeholder de resposta do chat.
  • Marca a execução anterior como uma tentativa com falha.
  • Encerra execuções em andamento obsoletas como falhas.

Isso evita placeholders órfãos, execuções primárias duplicadas e contagens de uso incorretas.

A Zaia usa uma fila em memória para coordenação imediata.

Ela também armazena o estado de recuperação no banco de dados. Isso permite que as tentativas sobrevivam a reinicializações e implantações.

Uma recuperação usa estes estados:

  • Pending — aguardando execução ou nova tentativa.
  • Processing — a geração de resposta está em andamento.
  • Completed — o Agente gerou a resposta.
  • Failed — o orçamento de tentativas foi esgotado.

A Zaia trava a recuperação por chat e thread. Apenas uma recuperação pode processar essa janela de conversa.

Se uma recuperação permanecer em processamento por 30 minutos, um agendador tenta recuperá-la.