Neon Functions artık sınırsız süreli akış (streaming) bağlantılarını destekliyor; bu sayede yapay zeka ajanları, çoğu sunucusuz iş yükünü sonlandıran zaman aşımı sınırlarına takılmadan saniyeler, dakikalar veya daha uzun süre boyunca canlı bir kanalı açık tutabiliyor. Bu değişiklik, sohbet tarzı asistanlar veya araç kullanan botlar geliştiren herkes için kritik bir öneme sahip; çünkü kesilen bir akış, konuşmayı durdurur ve kullanıcı deneyimini bozar.
Neden sunucusuz yapılar ve yapay zeka ajanları birbiriyle çatışıyordu
Çoğu sunucusuz platform, hızlıca çalıştırılıp bırakılan görevler için tasarlanmıştır. Kaynakların öngörülebilir kalmasını sağlamak amacıyla genellikle ücretsiz katmanlarda 10 saniye, ücretli planlarda ise 60 saniye gibi katı çalıştırma sınırları uygularlar. Ancak bir yapay zeka ajanı; düşünmek, harici araçları çağırmak ve üretildikçe token'ları iletmek için zaman harcar. Bu "düşünme" aşaması genellikle onlarca saniye sürer ve model çıktı ürettikçe token akışı devam edebilir. Platformun zamanlayıcısı sona erdiğinde bağlantı kapatılır ve istemci kesintili bir akışla karşılaşır.
Neon'un cevabı: varsayılan olarak uzun ömürlü akış
Neon Functions oyunun kurallarını değiştiriyor. Bir fonksiyon çağrısı, herhangi bir özel yapılandırmaya gerek duymadan WebSockets veya Server-Sent Events (SSE) üzerinden veri ileterek süresiz olarak açık kalabilir. Platform, uzun bir akışı normal bir istek olarak değerlendirir; böylece geliştiriciler akışı oluşturan mantığı yazar ve geri kalanını Neon'un halletmesine izin verir.
Yakın zamanda yapılan bir testte, iki uç nokta (endpoint) bu davranışı sergiledi:
- Heartbeat endpoint – fonksiyon, 90 saniye boyunca saniyede bir kez "tick" sinyali gönderdi. Tipik sunucusuz katmanlar isteği 10 veya 60 saniye sonra sonlandırırdı; Neon ise bağlantıyı fonksiyon kendi kendine bitene kadar açık tuttu.
- Token-relay endpoint – fonksiyon, her bir token üretilir üretilmez bir yapay zeka modelinden istemciye token akışı sağladı. Kullanıcılar, tüm metin bloğunu beklemek yerine cevabın kelime kelime belirdiğini gördü.
Her iki örnek de istemciden yalnızca tek bir istek gerektiriyordu; herhangi bir polling (sorgulama) veya keep-alive hilesine ihtiyaç duyulmadı.
Kimler fayda sağlıyor ve kimler temkinli yaklaşmalı
Sohbet asistanları, araç kullanan ajanlar veya kademeli sonuçlar iletmesi gereken herhangi bir hizmet inşa eden ekipler için bu durum doğrudan bir kazanç sağlıyor: zaman aşımı sorunu ortadan kalkıyor. Sonuç; daha basit kod, daha düşük gecikme süresi ve daha pürüzsüz bir kullanıcı deneyimi oluyor.
Dikkat edilmesi gereken ödünler (trade-offs) şunlardır:
- Request-only model – Neon Functions, aktif bir isteğe bağlı kalan akışları yönetir. İstekten daha uzun süre hayatta kalması gereken arka plan işleri için hâlâ Inngest veya benzeri bir iş akışı motoru gibi ayrı bir zamanlayıcıya ihtiyaç duyulur.
- Cold starts – Boşta kalan fonksiyonlar sıfıra ölçeklenebilir, bu nedenle bir sonraki istek bir "cold-start" gecikmesine neden olabilir. Aktif bir akış aşağı doğru ölçeklenmeyi engeller, ancak hareketsizlikten sonraki ilk istek yine de başlatma maliyetine katlanır.
Bundan sonra ne beklenmeli
Özetle: Neon Functions, yapay zeka geliştiricilerini uzun süredir geçici çözümlere zorlayan zaman aşımı tavanını ortadan kaldırıyor. Bir isteğin, ajanın düşünmesi ve konuşması gerektiği sürece açık kalmasına izin vererek Neon, akış özellikli yapay zeka ajanlarını dağıtmayı diğer tüm sunucusuz fonksiyonlar kadar basit hale getiriyor.
