LLM Uygulamaları Neden Dağıtık Sistem Gibi Tasarlanmalı
Prod ortamda çöken bir AI uygulamasından çıkan ders: sorun model değil, kuyruk, cache, retry ve gözlemlenebilirlik eksikliğiydi. Backend mühendisliği devreye giriyor.
Yazar, prompt'ları iyi çalışan ve retrieval'ı sağlam olan bir AI uygulamasının gerçek kullanıcılarla karşılaşınca yavaşladığını, zaman aşımına uğradığını ve maliyetlerinin öngörülemez şekilde arttığını anlatıyor. Sorunun modelde değil, sistemin geri kalanında olduğunu fark ediyor: istek kuyruğu yokluğu, cache eksikliği, akıllı retry mekanizmalarının olmaması ve gözlemlenebilirlik altyapısının hiç kurulmamış olması.
Yazıya göre bir LLM çağrısı aslında API gateway, kimlik doğrulama, kuyruk, retrieval/cache kontrolü, prompt oluşturma, modelin kendisi ve post-processing gibi birçok bileşenden geçen bir zincirin sadece bir halkası. Kuyruklar trafik patlamalarına dayanıklılık sağlıyor; caching aynı soruların tekrar tekrar modele gönderilmesini önleyerek maliyeti düşürüyor; streaming algılanan gecikmeyi azaltıyor; batching embedding gibi işlemlerde ağ yükünü azaltıyor; exponential backoff ile yapılan retry'lar sistemi daha dayanıklı hale getiriyor; kapsamlı gözlemlenebilirlik ise hangi promptun yavaş, hangi modelin pahalı olduğunu görünür kılıyor. Ayrıca birincil model sağlayıcısı çöktüğünde otomatik olarak başka bir modele geçebilen fault-tolerant tasarım, kullanıcı deneyimini koruyor.
Mühendisler için çıkarım net: prompt mühendisliği artık yeterli değil. Üretimde gerçek kullanıcılara hizmet veren AI sistemlerinin omurgasını kuyruklar, cache, retry mantığı, streaming, batching ve gözlemlenebilirlik gibi klasik dağıtık sistem prensipleri oluşturuyor. Model giderek bir altyapı bileşenine dönüşürken, asıl farkı yaratan şey bu mühendislik pratikleri oluyor.