Yazılım Mimarileri ve Tasarım Desenleri Üzerine

Semantic Kernel İle Multi-agent Orchestration

Merhaba,

Bu içeriğimizde, Semantic Kernel’da Multi-agent Orchestration yaklaşımı ile tek bir yapay zekâ agent’ının ötesine geçip, birden fazla agent’ın görev paylaşımı yaparak nasıl birlikte çalışma yapabileceklerini teorik olarak değerlendiriyor olacağız.

Multi-agent Orchestration Nedir?

Multi-agent Orchestration, birden fazla yapay zekâ agent’ının veya yazılım bileşeninin koordineli bir biçimde çalıştırılması ve yönetilmesi sürecidir.

Neden önemlidir?

Günümüzün karmaşık ve çok yönlü ihtiyaçları, iş süreçleri ve senaryolarında geleneksel tek agent’lı sistemler tüm görevlere yetenekleri açısından sınırlı kaldıklarından dolayı yetişememektedirler. Her biri, özel becerilere ve rollere sahip olan ve tek bir alana odaklanmış ve o alanda uzmanlaşmış birden fazla agent’ın bir araya gelip çalışması, çok yönlü ihtiyaçların giderilmesi açısından daha verimli ve güvenilir olmaktadır. Özellikle finans analizleri, tıbbi teşhisler, strateji planlamaları vs. gibi karmaşık ve hassas süreçlerde farklı perspektifler ve görev bölüşümleri kritik arz etmektedir. Bu tarz durumlarda özellikle alanında uzman ve sadece alanının bilinç ve sorumluluğuyla hareket eden agent’ların bir araya getirilip, gerekirse istişare ortamının kurulması ihtiyacına karşı gerçek bir çözüm sunmaktadır. İşte, orkestrasyon sayesinde birden fazla agent çatışmaksızın ve bilgi kaybetmeksizin birlikte çalışabilmekte ve süreci tıpkı insanlar gibi (ve insan ekipleri gibi) yürüterek, çalışma sergileyebilmektedirler.

Temel Özellikleri Nelerdir?

Multi-agent Orchestration yaklaşımı, agent’lar arasında şu temel özelliklere dayanmaktadır;

Orchestration Desenleri

Multi-agent Orchestration için farklı işbirliği senaryolarına özel düşünülmüş ve tasarlanmış çeşitli pattern’lar mevcuttur. Bu pattern’ların davranışları, Semantic Kernel’ın bir parçası olarak varlık göstermekte ve kolayca extend edilip, özelleştirilebilir bir vaziyette bizlere sunulmaktadır. Şimdi gelin bu pattern’ların davranışlarını tek tek hem teorik hem de pratik açılardan değerlendirmeye başlayalım.

Tabi, orchestration desenlerini .NET üzerinde deneyimleyebilmek için öncelikle aşağıda bahsedilen birkaç kütüphanenin yüklenmesi gerekmektedir.

Magentic & Group Chat & Handoff Orchestration Karşılaştırması

Şimdi burada Magentic Orchestration’ın Group Chat ve Handoff Orchestration yaklaşımlarından fakının ne olduğunu sorabilirsiniz. Bunun için bu üçünü aşağıdaki tabloda mukayese etmek yerinde olacaktır;

Group Chat Orchestration Handoff Orchestration Magentic Orchestration
İşleyiş Agent’lar aynı ‘oda’da tartışır, fikir üretir, birbirlerine yanıt verirler. Görev bir agent tarafından başlatılır, sonra dinamik olarak en uygun agent’a devredili. Görev, özelliklerine göre doğal olarak en uygun agent(lar)a yönlendirilir. Sanki bir çekim kuvveti varmış gibi…
Odak Noktası Kolektif aklı amaç edinir. Farklı bakış açıları etkileşerek zengin sonuç çıkarır. Dinamik ve seri görev akışını amaç edinir. Görev – agent uyumunu gözetir. Doğru işi doğru agent’a vermeye odaklanır.
Kontrol Genellikle bir moderatör agent’ı tarafından tartışma düzenlenir. Görevin hangi agent’a devredileceğine ya agent’ların iç mantığı ya da bir orkestratör karar verir. Orkestratör, görev ile agent yetkinliklerini eşleştiren bir ‘eşleşme algoritması’ gibi davranır.
Örnek Beyin fırtınası; herkes aynı konuda fikir sunar. Nihai olarak ortak sonuç toplanır. Müşteri destek hattı; çağrı konusuna göre müşteri teknik, finansal ya da hukuksal meselelerle ile ilgili agent’a aktarılır. Araştırma platformu; istatiksel sorular analiz agent’ına, görsel talepler grafik agent’ına yönlendirilir.
Kısa Karşılaştırma Tablosu
Özellik Group Chat Orchestration Handoff Orchestration Magentic Orchestration
Akış Tipi Eşzamanlı sohbet Dinamik görev devri Görev-agent eşleştirmesi
Kontrol Mekanizması Moderatör/grup dinamiği Dinamik karar (agent veya orkestratör) Eşleşme algoritması veya orkestratör
Odak Kolektif tartışma Görevin el değiştirmesi Görevin doğru uzmana çekilmesi
Avantaj Zengin, yaratıcı sonuç Esnek görev yölendirme Akıllı, verimli görev dağıtımı
Risk Gürültü, konu dağılması Fazla el değiştirme, gecikme Yanlış eşleşme, uzman hatası

Nihai olarak,

İçerik sürecinde, Semantic Kernel ile multi-agent davranışlarını ortak altyapılar sayesinde rahatlıkla gerçekleştirebildiğimizi ve gözlemlediğimiz bu yaklaşımlar eşliğinde, hem gereksinimlere göre gerekli işlevsellikleri devreye sokabildiğimizi hem de gerektiği taktirde iş mantığını baştan sona yeniden yazmak gibi zahmetlere katlanmaksızın desenler arasında kolayca geçişler yapabildiğimizi görmüş bulunuyor, ayrıca Semantic Kernel’ın, agent’lar arasındaki iletişim süreçlerinde hangi davranış olursa olsun koordinasyon ve sonuçların toplanmasına dair karmaşıklığı ortadan kaldırarak yalnız hedeflere odaklanmaya olanak tanıdığını gözlemlemiş bulunuyoruz.

İlgilenenlerin faydalanması dileğiyle…
Sonraki yazılarımda görüşmek üzere…
İyi çalışmalar…

Not : Örnek çalışmaya aşağıdaki GitHub adresinden erişebilirsiniz.
https://github.com/gncyyldz/SK_Multi_Agent_Orchestration_Example

Exit mobile version