Java'da ReACT Deseniyle Yapay Zeka Ajan Sistemi Geliştirme
Jarvis AI'nin 6. fazında, saf Java ve Spring AI kullanılarak ReACT desenine dayalı çok adımlı, akış destekli bir ajan mimarisi nasıl inşa edildiği anlatılıyor.
Jarvis AI platformunun altıncı fazı, tek seferlik soru-cevap mantığından çok adımlı görev çözümüne geçişi ele alıyor. Basit bir hava durumu sorusu tek bir araç çağrısıyla yanıtlanabilirken, karşılaştırma ve özetleme gerektiren görevler planlama, birden fazla araç kullanımı ve adımlar arası akıl yürütme gerektiriyor. Bu ihtiyacı karşılamak için sisteme THINK-ACT-OBSERVE döngüsüne dayanan ReACT (Reason+Act) deseni entegre edilmiş.
Mimari açıdan en kritik karar, mevcut sohbet hattının (AiOrchestrator) değiştirilmemesi olmuş; bunun yerine AgentController, AgentOrchestrator, AgentExecutor, AgentPlanner ve ToolRegistry'den oluşan bağımsız dört katmanlı bir ajan sistemi kurulmuş. Yapılandırılmış model çıktısını ayrıştırmak için indexOf yerine satır başına çapalı regex desenleri kullanılmış, araç eşleştirmede substring yerine tam eşleşme (equalsIgnoreCase) tercih edilmiş ve aynı akıl yürütme döngüsüne ait THINK/ACT/OBSERVE olaylarının aynı adım numarasını paylaşması sağlanmış.
Uygulama, Flux.create() ve boundedElastic() zamanlayıcısı ile engelleyici planlama/araç çağrılarını WebFlux olay döngüsünden izole ediyor; ayrıca maksimum adım sayısı, adım ve toplam yürütme zaman aşımları gibi güvenlik sınırları getiriyor. İstemci bağlantısı kesildiğinde arka planda gereksiz çalışmayı önlemek için iptal kontrolü eklenmiş, ajan durumları (PENDING, RUNNING, COMPLETED, FAILED, CANCELLED) domain nesnesi tarafından zorunlu kılınmış ve eşzamanlı güncellemeler compare-and-set semantiğiyle güvence altına alınmış. Sonuç, Python veya LangChain kullanmadan saf Java ve Spring AI ile inşa edilmiş, olayları anlık akış olarak sunan bir çok araçlı ajan sistemi.