LangGraph checkpoint'lerinde 737x hız: Rust'ın kazandığı ve kaybettiği yerler
fast-langgraph, LangGraph'ın deepcopy tabanlı checkpoint mekanizmasını Rust ile hızlandırıyor; büyük durumlarda 737x, küçük dict'lerde ise kazanç yok.
Uzun süre çalışan LangGraph ajanlarında asıl darboğaz model çağrıları değil, her adımda çalıştırılan Python deepcopy tabanlı checkpoint serileştirmesidir. fast-langgraph adlı proje, bu sıcak yolları LangGraph API uyumluluğunu koruyarak Rust ile yeniden yazıyor: 250KB'lık karmaşık durumlarda 737x, 35KB durumlarda 178x hızlanma, sürekli durum güncellemelerinde 13-46x kazanç ve yüksek isabet oranlı LLM önbellekleme ile 10x tasarruf ölçülmüş. Otomatik yama modu ise kod değişikliği gerektirmeden ortalama 2.8x hız sağlıyor.
Projenin öne çıkan yanı dürüstlüğü: küçük, düz dict yapılarında Python'ın C tabanlı dict implementasyonu zaten hızlı olduğundan Rust burada kazanmıyor. Aynı şekilde tüm prompt'lar benzersizse önbellekleme işe yaramıyor, checkpoint kullanılmıyorsa kazanç 2-3x bandına düşüyor. Yani büyük sayılar bir dil üstünlüğü değil, veri boyutu ve serileştirme hikayesi.
Kullanım iki şekilde: import anında LangGraph'ın apply_writes gibi fonksiyonlarını yamalayan otomatik mod, ya da RustSQLiteCheckpointer ve langgraph_state_update gibi bileşenlerin doğrudan kullanıldığı manuel mod. Gömülü bir profiler ile geliştiriciler önce kendi darboğazını tespit edip sonra ilgili bileşeni devreye alabiliyor.
Sonuç olarak bu proje, büyük ve checkpoint-ağırlıklı üretim ajanları çalıştıran mühendisler için anlamlı; kısa ve ucuz ajan döngülerinde ise pratik bir fayda sağlamıyor. Python 3.9+ ve her LangGraph sürümüyle uyumlu, kaynak kodu GitHub'da açık.