Makale, modern sohbet botlarının, özellikle de gelişmiş yapay zeka modelleriyle desteklenenlerin, kullanıcı deneyimini olumsuz etkileyen temel bir sorununa dikkat çekiyor: sayfa yenileme anında sohbet geçmişinin veya devam eden yanıtın kaybolması. Yazar, model performansındaki inanılmaz gelişmelere rağmen, bu modelleri destekleyen altyapıda benzer bir ilerleme kaydedilemediğini belirtiyor. Claude UI örneğiyle bu durum somutlaştırılıyor; kullanıcı bir yanıt akışı sırasında sayfayı yenilediğinde, akış kesiliyor ve yanıt kayboluyor. Sayfa tekrar yenilendiğinde ise yanıtın tamamı görünüyor, bu da yanıtın aslında arka planda tamamlandığını ancak istemciye ulaşmadığını gösteriyor.
Bu sorunun temel nedeni, UI ile model arasındaki istek-yanıt paradigmasının durumsuz (stateless) olmasıdır. Claude gibi birçok sohbet botu, sunucu tarafından gönderilen olayları (Server-Sent Events - SSE) almak için EventSource API'sini kullanır. Sayfa yenilendiğinde, istemci SSE akışından bağlantısını keser ve sunucunun ürettiği veya üretmiş olduğu token'lara erişemez. Önceki SSE yanıtları hiçbir şekilde erişilebilir olmadığından, UI, modelden yanıt üretimi tamamlanana kadar konuşma geçmişini gösteremez. Yanıt tamamlandığında ise, veritabanına kaydedilmiş olan sohbet geçmişi üzerinden tam yanıt görüntülenir.
Bu sorunu aşmak için bazı geliştiriciler, her bir token'ı bir veritabanına (genellikle Redis gibi) kaydetmeyi ve istemcinin bağlantısı koptuğunda kaldığı yerden devam etmesini sağlayan bir "devam etme" (resume) uç noktası uygulamayı tercih ediyor. Ancak yazar, bu yaklaşımın her token'ı veritabanına yazmak anlamına geldiğini belirtiyor. Kendi geliştirdiği Minimal Chat UI örneğinde ise, WebSockets ve Pub/Sub kanallarını kullanarak sayfa yenilemelerine rağmen konuşma geçmişinin anında geri yüklendiğini ve token akışının kesintisiz bir şekilde kaldığı yerden devam ettiğini gösteriyor. Bu, daha sağlam ve kullanıcı dostu bir sohbet botu deneyimi için altyapısal yaklaşımların önemini vurguluyor.
Sohbet botu arayüzlerinin sayfa yenileme gibi yaygın kullanıcı eylemlerinde bile kesintisiz bir deneyim sunabilmesi için altyapısal mimarilerin yeniden düşünülmesi gerekiyor.