Neon Functions obsługują teraz połączenia strumieniowe o nieograniczonym czasie trwania, co pozwala agentom AI utrzymywać otwarty kanał przez sekundy, minuty lub dłużej, bez napotykania limitów czasu (timeout), które przerywają większość obciążeń typu serverless. Ta zmiana jest istotna dla każdego, kto buduje asystentów typu czat lub boty korzystające z narzędzi, ponieważ przerwany strumień wstrzymuje konwersację i psuje doświadczenie użytkownika.

Dlaczego rozwiązania serverless i agenci AI pozostawali w konflikcie

Większość platform serverless jest budowana z myślą o szybkich zadaniach typu „wykonaj i zapomnij”. Nakładają one sztywne limity czasu wykonywania – często 10 sekund w darmowych planach i 60 sekund w planach płatnych – aby zachować przewidywalność zasobów. Agent AI natomiast potrzebuje czasu na „myślenie”, wywoływanie zewnętrznych narzędzi i generowanie tokenów w miarę ich powstawania. Ta faza „myślenia” często rozciąga się na dziesiątki sekund, a strumień tokenów może trwać tak długo, jak model generuje dane wyjściowe. Gdy licznik platformy wygaśnie, połączenie zostaje zamknięte, a klient widzi przerwany strumień.

Odpowiedź Neon: długotrwałe strumieniowanie domyślnie

Neon Functions zmienia zasady gry. Wywołanie funkcji może pozostać otwarte bezterminowo, dostarczając dane przez WebSockets lub Server-Sent Events (SSE) bez żadnej specjalnej konfiguracji. Platforma traktuje długi strumień jako normalne żądanie, dzięki czemu programiści mogą pisać logikę generującą strumień, a resztę zostawić Neonowi.

W niedawnym teście dwa punkty końcowe (endpoints) zademonstrowały to zachowanie:

  • Heartbeat endpoint – funkcja emitowała sygnał „tick” raz na sekundę przez 90 sekund. Typowe plany serverless przerwałyby żądanie po 10 lub 60 sekundach; Neon utrzymał połączenie aż do momentu, gdy funkcja zakończyła działanie.
  • Token-relay endpoint – funkcja przesyłała strumieniowo tokeny z modelu AI do klienta natychmiast po ich wygenerowaniu. Użytkownicy widzieli pojawiającą się odpowiedź słowo po słowie, zamiast czekać na cały blok tekstu.

Oba przykłady wymagały tylko pojedynczego żądania od klienta; nie było potrzeby stosowania odpytywania (polling) ani sztuczek typu keep-alive.

Kto zyskuje, a kto powinien zachować ostrożność

Zespoły budujące asystentów konwersacyjnych, agentów korzystających z narzędzi lub jakiekolwiek usługi wymagające przesyłania przyrostowych wyników, zyskują natychmiastową korzyść: limit czasu znika. Rezultatem jest prostszy kod, niższe opóźnienia i płynniejsze doświadczenie użytkownika.

Warto jednak zwrócić uwagę na kompromisy:

  • Model oparty wyłącznie na żądaniach (Request-only model) – Neon Functions obsługuje strumienie, które pozostają podpięte do aktywnego żądania. Zadania działające w tle, które muszą trwać dłużej niż żądanie, nadal wymagają osobnego harmonogramu, takiego jak Inngest lub podobny silnik workflow.
  • Cold starts – Funkcje, które nie są używane, mogą skalować się do zera, więc kolejne żądanie może wiązać się z opóźnieniem typu cold-start. Aktywny strumień zapobiega skalowaniu w dół, ale pierwsze żądanie po okresie nieaktywności nadal wiąże się z kosztem uruchomienia.

Co dalej

Podsumowując: Neon Functions usuwa sufit czasowy, który od dawna zmuszał deweloperów AI do stosowania obejść. Pozwalając żądaniu pozostać otwartym tak długo, jak agent potrzebuje czasu na myślenie i komunikację, Neon sprawia, że wdrażanie agentów AI obsługujących strumieniowanie jest tak proste, jak w przypadku każdej innej funkcji serverless.