Geliştiricilere yönelik ajan çerçeveleri hâlâ erken aşamada. Bu yıl çıkan Vercel'in eve'i ve Fred Schott'un Flue'su ilk kalıbı belirliyor.
Schott, ocak ayında şirketi Cloudflare tarafından satın alınan web çerçevesi Astro'nun yaratıcısı. Flue'nun ilk kararlı sürümü olan 2. sürümü yayımladı ve temelinde React tarzı "ajan kancaları" var.
Ajan, her turda yeniden çizilen bir işlev
Flue'da bir ajan bir JavaScript işleviyle temsil ediliyor. Bu işlev her turda yeniden çiziliyor — yani her model çağrısından önce. Kancalar, Schott'un React'in bileşenler arası birleştirilebilirliğinin ajan geliştirmeye çok uyacağını fark etmesinden sonra eklendi.
Kendi anlatımıyla: "Başta ajanlar için Astro'yu ya da ajanlar için Next.js'i kurduğumuzu yazmıştım. Sonra fark ettim: belki de kimse ajanlar için React'i bile kurmamıştı."
Bu benzetmeyi daha önce Sierra'nın kurucu ortağı ve OpenAI yönetim kurulu başkanı Bret Taylor da kullanmıştı: "Ajanların jQuery döneminde sayılırız, React döneminde değil."
Kancalar ne yapıyor
Kancalar TypeScript'le yazılıyor. Flue 2'nin duyurusuna göre "kendi durumunu yönetebilen, ajan yaşam döngüsü olaylarını dinleyebilen ve çalışma anında kendisine farklı kaynaklar ve yetenekler ekleyebilen dinamik ajanlar kurmayı" sağlıyorlar.
Sürümde 16 hazır kanca var — useSkill(), useTool(), useSubagent() gibi. Özel kanca da yazılabiliyor.
Bunun geliştiriciye açtığı şey, ajanın yapılandırmasının bir konuşma ya da iş akışı ilerledikçe değişebilmesi. Schott'a göre bu, "gerçek destek botları, gerçek yönlendirme botları" kurmak için gerekli: çünkü bunlar önceden tamamen yapılandırılamıyor. Ajan durağan olamaz, kullanıcının istediğine ya da durumun gerektirdiğine anlık olarak uyum sağlamak zorunda.
Örnek somut: bir destek ajanı, kullanıcıyı doğruladıktan sonra hesap yönetimi aracını devreye alabiliyor.
"Dosya tabanlı sihir bir antikalıp"
Schott'un ajan çerçevesi tasarımına bakışı, Flue 1'i mayısta yayımlamasından bu yana hızla değişmiş. Başlangıçta mevcut web çerçevesi kavramlarını yeni ajan çerçevesine taşımak istemiş. Dosya tabanlı yönlendirmeyi örnek veriyor:
"Bunu Flue'ya biraz naif biçimde aktardık — harika, beş ajanınızı bu beş dosyaya koyarım, onlar da beş rota olur diye düşündük. Ama Flue ile geliştiren birçok kişi için, özellikle büyük müşteriler için, şirketin tamamı tek bir ajan. Yönlendirme umurlarında değil. Tek bir ajan var."
Bu, web geliştirmeden gelen alışkanlıkların ajan tasarımına doğrudan taşınamayacağını gösteren somut bir örnek: aynı kavram, farklı bir problemde yük hâline gelebiliyor.
Neden şimdi tartışılıyor
Ajan çerçevelerinin web çerçevelerine benzetilmesi rastlantı değil. İkisinde de aynı soru var: durumu kim tutuyor ve değiştiğinde ne yeniden hesaplanıyor? Web'de bu soru bileşen ağacıyla çözüldü; ajanlarda henüz ortak bir cevap yok.
Taylor'ın "jQuery dönemi" benzetmesi tam da bunu anlatıyor. jQuery işe yarıyordu ama her ekip kendi kalıbını kuruyordu; React'in getirdiği şey yeni bir yetenek değil, ortak bir düşünme biçimiydi. Ajan tarafında o aşama henüz gelmedi ve Flue 2 gibi denemeler o boşluğu dolduruyor.
Özetle
- Ne: Flue 2, ajan çerçevesinin ilk kararlı sürümü
- Kim: Astro'nun yaratıcısı Fred Schott; şirketi ocakta Cloudflare'e katıldı
- Temel fikir: Ajan, her model çağrısından önce yeniden çizilen bir JavaScript işlevi
- Hazır kanca: 16 tane — useSkill(), useTool(), useSubagent() ve diğerleri
- Vazgeçilen: Dosya tabanlı yönlendirme; büyük müşteriler için şirketin tamamı tek ajan