Semantic Kernel agent'larını Microsoft Agent Framework'e taşımak
Semantic Kernel'den Microsoft Agent Framework'e geçiş, araç kullanan bir ASP.NET Core agent'ı üzerinden adım adım gösteriliyor. Kernel merkezli yapı yerine IChatClient, AIAgent ve AIFunctionFactory kullanılıyor. Mevcut SK agent'ı olan ekipler için pratik bir geçiş planı sunuyor.
Kilit noktalar
- Kernel ve ChatCompletionAgent yerine IChatClient.AsAIAgent(...) ile agent oluşturulur.
- Araçlar [KernelFunction] yerine AIFunctionFactory.Create ile kaydedilir; [Description] yeterlidir.
- Oturum (AgentSession) agent.CreateSessionAsync() ile oluşturulur; InvokeAsync yerine RunAsync kullanılır.
- Token sınırı gibi çıkarım seçenekleri ChatClientAgentRunOptions üzerinden verilir.
- DI tarafında AddKernel ve keyed Agent yerine keyed AIAgent kaydı yapılır.
- Yerel modellerde de aynı API kalır; yalnızca istemci oluşturma değişir ve model araç çağrısını desteklemelidir.
Microsoft Agent Framework (MAF) 1.0, Semantic Kernel'in kurumsal özelliklerini ve AutoGen'in orkestrasyon desenlerini birleştiriyor. Semantic Kernel bakım modunda olduğundan, yeni özellikler yalnızca MAF tarafına geliyor. Yazı, mevcut bir SK agent'ını ASP.NET Core uygulamasında kademeli olarak MAF'a taşımanın yolunu anlatıyor.
Ana değişiklik, Kernel nesnesinin kaldırılması. Model erişimi Microsoft.Extensions.AI'daki IChatClient üzerinden yapılıyor, agent davranışı AIAgent ile tanımlanıyor ve araçlar AIFunctionFactory ile oluşturuluyor. Oturum yönetimi agent'ın kendisine devrediliyor, DI kaydı ise keyed AIAgent olarak yapılıyor. Yazıdaki kod örnekleri ve geçiş kontrol listesi, uygulamanın hangi parçalarının önce taşınacağını gösteriyor. Ayrıntılar için orijinal yazıya bakmanız yeterli.
Gerçek dünyada kullanımı
- Mevcut bir ASP.NET Core destek asistanını Semantic Kernel'den MAF'a kademeli olarak taşımak.
- Hava durumu gibi araç kullanan bir API endpoint'ini keyed AIAgent ile DI üzerinden sunmak.
- Yerel Ollama modeliyle çalışan bir agent'ı bulut sağlayıcısına geçirmeden önce test etmek.
Neden önemli
Semantic Kernel yeni özellik almadığından, uzun vadeli agent kodunu MAF üzerine kurmak bakım yükünü azaltır. Geçişin büyük kısmı istemci ve araç kaydının mekanik değişiklikleridir, bu yüzden tek bir agent ile başlamak mümkündür.