Se você usou algum agente de IA avançado recentemente – seja o O1 da OpenAI, Devin ou um agente de raciocínio empresarial personalizado – provavelmente já o viu. A roda giratória que gira exatamente 60 segundos. Seguido pela tela em branco. Seguido pelo temido: “504 Gateway Timeout”.
Não é um bug no código. Não é uma falha no servidor. É uma incompatibilidade arquitetônica fundamental entre a Internet que construímos (Web 2.0) e a carga de trabalho da Internet que estamos construindo (Agentic AI).
A web moderna está enfrentando uma crise de tempo limite, e corrigi-la exige derrubar a suposição básica de que a web é “rápida”.
O antigo contrato: REST e a regra dos 30 segundos
Nos últimos 20 anos, a web foi otimizada para uma coisa: Responsividade. O paradigma dominante é REST (Transferência de Estado Representacional). O contrato entre Cliente e Servidor é síncrono e simples:
- Solicitação: O cliente solicita dados (por exemplo, “Obtenha o perfil do usuário”).
- Processo: O servidor recupera dados (consulta ao banco de dados: aproximadamente 50 ms).
- Resposta: O servidor envia os dados de volta.
Se a etapa 2 demorar mais de 30 segundos (ou 60 segundos em algumas nuvens), a infraestrutura entrará em pânico. O Load Balancer (NGINX, AWS ALB, Cloudflare) assume que o servidor está morto, “zombificado” ou preso em um loop infinito. Corta a conexão para proteger o sistema. Este era um recurso, não um bug. Ele evitou que processos travados consumissem RAM e threads de CPU. Ele impôs uma disciplina de “falha rápida”.
Entre na Agentic AI: a carga de trabalho que quebra o tempo
Classicamente, os computadores eram rápidos. Se uma consulta demorou 5 minutos, seu SQL estava ruim. Mas Agentic AI não está apenas “consultando”. É “pensar”.
Um modelo de raciocínio de classe “O1” ou um fluxo de trabalho agente não apenas pesquisa dados. Isto:
- Decompõe um prompt em um plano.
- Navega na web (raspando 10 sites).
- Escreve código.
- Executa código em uma sandbox.
- Analisa os logs de erros.
- Refatora o código.
- Itera.
Este processo não é medido em milissegundos. É medido em minutos. Às vezes horas. Quando você força um processo de pensamento de 5 minutos em um canal REST de 30 segundos, o tubo estoura. O Cliente (navegador) ainda está aguardando, mas o Intermediário (Load Balancer) já desligou o telefone. O Agente termina seu trabalho 4 minutos depois, mas não tem com quem conversar. O resultado é uma tarefa perdida, um usuário frustrado e desperdício de créditos de computação.
A mudança arquitetônica: de síncrono para orientado a eventos
Para sobreviver à Era Agentic, estamos vendo a mudança arquitetônica mais significativa desde a morte do SOAP/XML. Estamos migrando de Solicitação/Resposta Síncrona para Arquitetura Assíncrona Orientada a Eventos (EDA).
O sistema de “Tickets”
No novo paradigma, quando você pede a uma IA para “construir um site para mim”, o servidor não mantém a linha.
- Solicitação: Cliente envia prompt.
- Ack: O servidor responde imediatamente (HTTP 202 aceito): “Entendi. Aqui está o ID do seu ticket nº 1234. Estou trabalhando nisso. Adeus.”
- A desconexão: A conexão HTTP é fechada. O navegador é livre para fazer outras coisas.
- Processamento: O Agente trabalha em segundo plano (minutos/horas).
- Notificação: Quando terminar, o servidor envia um Sinal.
Protocolos de sinalização: como o navegador sabe?
Estamos vendo uma guerra de protocolos para lidar com a Etapa 5:
- Enquete: O navegador pergunta a cada 5 segundos: “Já terminou?” (Simples, mas consome muitos recursos).
- Webhooks: O servidor chama uma URL específica quando termina (ótimo para servidor a servidor, ruim para navegadores).
- Eventos enviados pelo servidor (SSE): Um canal persistente unidirecional onde o servidor envia atualizações (“Scanning…”, “Writing code…”, “Done.”). Isso está se tornando o padrão para streaming de tokens LLM.
- WebSockets: Comunicação bidirecional completa. Exagero para a maior parte da geração de texto, mas necessário para agentes de voz/vídeo em tempo real.
Explode a execução durável
A crise do tempo limite alimentou a ascensão explosiva de plataformas de Execução Durável como Temporal, Ingest e Hatchet.
Em um script Python/Node padrão, se o servidor reiniciar ou travar enquanto o Agente estiver em uma tarefa por 4 minutos, esses 4 minutos de trabalho serão perdidos. A IA tem “amnésia”. Os mecanismos de execução durável introduzem um log persistente. Eles salvam o “estado” da função em cada etapa.
- Etapa 1: Plano gerado (Salvo).
- Etapa 2: Raspe o Google (salvo).
- CRASH (reinicialização do servidor).
- Recuperação: o servidor acorda, vê que a Etapa 2 foi concluída e retoma imediatamente na Etapa 3.
Isso é fundamental porque a IA é não determinística e cara. Você não pode executar novamente uma chamada de API $2.00 só porque um pod foi reiniciado. A execução durável garante que, assim que um Agente for iniciado, ele terminará, garantido.
O Futuro: A2A (Agente para Agente)
Estamos nos aproximando rapidamente de um mundo onde a maior parte do tráfego da Internet não é De humano para servidor, mas de Agente para agente (A2A). Esses agentes não se importam com o “carregamento de spinners” ou com a “latência percebida”. Eles se preocupam com confiabilidade e correção.
Estamos vendo o nascimento de novos protocolos (como MCP - Model Context Protocol) projetados especificamente para permitir que os agentes descubram e conversem entre si durante longos períodos de tempo. A era da “Web Instantânea” está terminando. A “Web Pensativa” está começando. Só precisamos parar de cronometrar.
Fontes (4)
- temporal.io Durable Execution
- platform.openai.com OpenAI: Optimizing Latency
- aws.amazon.com Asynchronous Patterns
- inngest.com Event-Driven Systems
🦋 Discussão no Bluesky
Discutir no Bluesky