Neon Functions agora suporta conexões de streaming de duração ilimitada, permitindo que agentes de IA mantenham um canal aberto por segundos, minutos ou mais, sem atingir os limites de timeout que encerram a maioria das cargas de trabalho serverless. A mudança é importante para quem está construindo assistentes de estilo chat ou bots que utilizam ferramentas, pois um stream interrompido trava a conversa e prejudica a experiência do usuário.
Por que o serverless e os agentes de IA têm sido incompatíveis
A maioria das plataformas serverless é construída para tarefas rápidas de "disparar e esquecer". Elas impõem limites rígidos de execução — muitas vezes 10 segundos em camadas gratuitas e 60 segundos em planos pagos — para manter os recursos previsíveis. Um agente de IA, no entanto, gasta tempo pensando, chamando ferramentas externas e emitindo tokens conforme eles são gerados. Essa fase de "pensamento" muitas vezes se estende por dezenas de segundos, e o fluxo de tokens pode continuar enquanto o modelo produzir saída. Quando o temporizador da plataforma expira, ela fecha a conexão e o cliente vê um stream interrompido.
A resposta da Neon: streaming de longa duração por padrão
As Neon Functions mudam o jogo. Uma chamada de função pode permanecer aberta indefinidamente, entregando dados via WebSockets ou Server-Sent Events (SSE) sem qualquer configuração especial. A plataforma trata um stream longo como uma requisição normal, de modo que os desenvolvedores escrevem a lógica que gera o stream e deixam a Neon cuidar do resto.
Em um teste recente, dois endpoints demonstraram o comportamento:
- Endpoint de heartbeat – a função emitiu um “tick” uma vez por segundo durante 90 segundos. Camadas serverless típicas teriam encerrado a requisição após 10 ou 60 segundos; a Neon manteve a conexão viva até que a função terminasse por conta própria.
- Endpoint de token-relay – a função transmitiu tokens de um modelo de IA para o cliente assim que cada token foi produzido. Os usuários viram a resposta aparecer palavra por palavra, em vez de esperar por todo o bloco de texto.
Ambos os exemplos exigiram apenas uma única requisição do cliente; não foram necessários polling ou truques de keep-alive.
Quem se beneficia e quem deve manter a cautela
Equipes que constroem assistentes conversacionais, agentes que utilizam ferramentas ou qualquer serviço que precise enviar resultados incrementais ganham uma vantagem imediata: o timeout desaparece. O resultado é um código mais simples, menor latência e uma experiência de usuário mais fluida.
As compensações valem a pena ser observadas:
- Modelo apenas de requisição – As Neon Functions lidam com streams que permanecem anexados a uma requisição ativa. Trabalhos em segundo plano (background jobs) que devem durar mais que a requisição ainda precisam de um agendador separado, como o Inngest ou um mecanismo de workflow similar.
- Cold starts – Funções que ficam ociosas podem escalar para zero, então a próxima requisição pode sofrer um atraso de cold-start. Um stream ativo impede o escalonamento para baixo, mas a primeira requisição após a inatividade ainda paga o custo de inicialização.
O que observar a seguir
Em resumo: As Neon Functions removem o teto de timeout que há muito tempo força os desenvolvedores de IA a usarem soluções alternativas. Ao permitir que uma requisição permaneça aberta pelo tempo que o agente precisar para pensar e falar, a Neon torna a implantação de agentes de IA com streaming tão simples quanto qualquer outra função serverless.
