Neon Functions ora supporta connessioni streaming a durata illimitata, consentendo agli agenti AI di mantenere un canale attivo per secondi, minuti o anche più a lungo, senza incorrere nei limiti di timeout che interrompono la maggior parte dei carichi di lavoro serverless. Questo cambiamento è fondamentale per chiunque stia sviluppando assistenti in stile chat o bot che utilizzano strumenti, poiché uno stream interrotto blocca la conversazione e rovina l'esperienza dell'utente.

Perché serverless e agenti AI sono stati in contrasto

La maggior parte delle piattaforme serverless è progettata per task rapidi di tipo "fire-and-forget". Esse impongono limiti di esecuzione rigidi — spesso 10 secondi nei piani gratuiti e 60 secondi nei piani a pagamento — per mantenere le risorse prevedibili. Un agente AI, tuttavia, impiega tempo per "pensare", chiamare strumenti esterni ed emettere token man mano che vengono generati. Questa fase di "pensiero" spesso si protrae per decine di secondi, e lo stream di token può continuare finché il modello produce output. Quando il timer della piattaforma scade, la connessione viene chiusa e il client visualizza uno stream interrotto.

La risposta di Neon: streaming a lunga durata di default

Neon Functions ribalta la situazione. Una chiamata a una funzione può rimanere aperta indefinitamente, inviando dati tramite WebSocket o Server-Sent Events (SSE) senza alcuna configurazione speciale. La piattaforma tratta uno stream prolungato come una richiesta normale, quindi gli sviluppatori scrivono la logica che genera lo stream e lasciano che Neon gestisca il resto.

In un test recente, due endpoint hanno dimostrato questo comportamento:

  • Endpoint Heartbeat – la funzione ha emesso un "tick" una volta al secondo per 90 secondi. I tipici piani serverless avrebbero terminato la richiesta dopo 10 o 60 secondi; Neon ha mantenuto la connessione attiva finché la funzione non si è conclusa autonomamente.
  • Endpoint Token-relay – la funzione ha trasmesso in streaming i token da un modello AI al client non appena ogni token veniva prodotto. Gli utenti hanno visto la risposta apparire parola per parola invece di dover attendere l'intero blocco di testo.

Entrambi gli esempi richiedevano una singola richiesta da parte del client; non sono stati necessari polling o trucchi di keep-alive.

Chi ne beneficia e chi deve restare cauto

I team che sviluppano assistenti conversazionali, agenti che utilizzano strumenti o qualsiasi servizio che debba inviare risultati incrementali ottengono un vantaggio immediato: il timeout scompare. Il risultato è un codice più semplice, una latenza inferiore e un'esperienza utente più fluida.

I compromessi da tenere in considerazione sono:

  • Modello basato solo sulle richieste – Neon Functions gestisce stream che rimangono collegati a una richiesta attiva. I job in background che devono sopravvivere alla richiesta richiedono ancora uno scheduler separato come Inngest o un motore di workflow simile.
  • Cold start – Le funzioni inattive possono scalare fino a zero, quindi la richiesta successiva potrebbe subire un ritardo dovuto al cold start. Uno stream attivo impedisce lo scaling verso il basso, ma la prima richiesta dopo un periodo di inattività comporta comunque il costo di avvio.

Cosa aspettarsi in futuro

In sintesi: Neon Functions rimuove il soffitto del timeout che per lungo tempo ha costretto gli sviluppatori di AI a ricorrere a soluzioni alternative. Consentendo a una richiesta di rimanere aperta per tutto il tempo necessario all'agente per pensare e parlare, Neon rende il deployment di agenti AI in streaming semplice come quello di qualsiasi altra funzione serverless.