· kaynak dev.to (home feed)
Semantic Kernel bakım moduna geçiyor, .NET ekipleri Microsoft Agent Framework'e geçiyor
Microsoft Agent Framework, .NET'in ana agent yığını haline geldi; Semantic Kernel ise yalnızca kritik düzeltmeler alıyor. dev.to'daki bir rehber, araç kullanan agent'ların ASP.NET Core'a nasıl adım adım taşınacağını gösteriyor.

Ne oldu
Microsoft, Microsoft Agent Framework'ü (MAF) .NET üzerinde yapay zeka agent'ları oluşturmanın birincil yolu haline getirdi ve yıllarca bu rolü üstlenen araç seti Semantic Kernel artık bakım modunda. Bu tablo, dev.to'da yayımlanan bir geçiş rehberinde ortaya konuyor; yazıya göre MAF 1.0, Nisan 2026'da yayınlandı ve Semantic Kernel'ın kurumsal özelliklerini AutoGen'den alınan orkestrasyon desenleriyle birleştiriyor. Ekim 2026 itibarıyla Microsoft.Agents.AI paketi 1.26 sürümündeyken, Semantic Kernel yalnızca kritik düzeltmeler alıyor.\n Makaleye göre Microsoft'un eklediği her yeni yetenek — graf iş akışları, yerel MCP ve A2A desteği, dayanıklı yürütme, geliştirilmiş middleware — artık yalnızca Agent Framework'e geliyor. Yazar, çalışan Semantic Kernel agent'larına sahip ekiplerin hemen yeniden yazmaya zorlanmadığını vurguluyor; ancak geç ne kadar geciktirilirse, yetenek farkı o kadar büyüyor.
Mimari değişim
En büyük fark yapısal. Semantic Kernel, chat servisini, eklentileri, filtreleri ve belleği bünyesinde barındıran tek bir Kernel nesnesi etrafında dönüyordu. MAF bu merkezi parçayı ortadan kaldırıyor ve sorumlulukları daha küçük soyutlamalara dağıtıyor:
- Model erişimi Microsoft.Extensions.AI paketlerinden bir IChatClient'a taşınıyor.
- Agent davranışı AIAgent üzerinde yaşıyor, çoğunlukla ChatClientAgent uygulamasıyla.
- Çağrılabilir yetenekler, AIFunctionFactory.Create ile oluşturulan düz AIFunction'lara dönüşüyor.
- Konuşma sürekliliği, agent'ın kendisinin oluşturduğu bir AgentSession tarafından yönetiliyor.
- Yatay ilgilendirmeler (cross-cutting concerns) middleware'e kayıyor.
Zorunlu bir Kernel yok. Sağlayıcınız için bir chat client oluşturduktan sonra, onu AsAIAgent genişletme metoduyla bir agent'a dönüştürüyorsunuz.
Öncesi ve sonrası kod
dev.to rehberi, tipik bir Semantic Kernel hava durumu agent'ını MAF karşılığıyla karşılaştırıyor. Eski tarafta, AddAzureOpenAIChatCompletion ile bir Kernel oluşturuyor, KernelFunction attribute'larıyla süslenmiş bir plugin sınıfı kaydediyor, onu bir ChatCompletionAgent'a bağlıyor, InvokeAsync'ın döndürdüğü IAsyncEnumerable üzerinde geziniyor ve çağıran tarafın oluşturduğu bir thread sağlıyorsunuz.
MAF tarafında bu adımların bir kısmı kayboluyor. Bir Azure credential ile AzureOpenAIClient oluşturuyor, dağıtımın chat client'ını AsIChatClient ile sarıyor ve ad, talimatlar ile araçları tek bir çağrıda AsAIAgent'a geçiriyorsunuz. Araçlar artık ayrı bir plugin sınıfına ya da attribute'a ihtiyaç duymuyor — AIFunctionFactory.Create ile sarılmış statik veya instance metodu yeterli. Agent, CreateSessionAsync ile session oluşturmayı kendisi yönetiyor; streaming yapmayan RunAsync çağrısı tek bir AgentResponse döndürüyor ve streaming için RunStreamingAsync, AgentResponseUpdate nesneleri veriyor. Token limitleri ve diğer çıkarım ayarları ChatClientAgentRunOptions'a taşınıyor.
Yazara göre sağlayıcı değişimleri yerel kalıyor: llama3.2 gibi yerel bir model için OllamaSharp client'ına geçmek yalnızca client oluşturmayı değiştiriyor, agent API'sinin geri kalanı aynı kalıyor.
ASP.NET Core'a bağlamak
Barındırılan uygulamalar için makale, IChatClient'ı singleton olarak, yapılandırması statik olduğunda agent'ı keyed singleton olarak kaydetmeyi öneriyor. Controller'lar agent'ı keyed-service enjeksiyonuyla alıyor ve istek başına CreateSessionAsync ve RunAsync çağırıyor. Araçlar bir DbContext gibi scoped servislere bağlıysa ya da istek başına durum gerekiyorsa, agent'ın scoped olarak kaydedilmesi gerekiyor. Session'lar konuşma başına bir kez oluşturulmalı ve turlar arasında yeniden kullanılmalı; desteklendiği durumlarda, barındırılan sağlayıcı konuşmalarının temizliği hâlâ temeldeki client üzerinden yapılıyor.
Neden önemli
.NET ekipleri için Semantic Kernel artık fiilen eski bir yol: yalnızca güvenlik ve kararlılık düzeltmeleri alıyor ve Microsoft'un agent'lar için aktif olarak sunduğu özelliklerin hiçbirini içermiyor. Pratik sonuç şu: .NET üzerinde agent iş yükleri geliştiren veya sürdüren herkesin bir geçiş planına ihtiyacı var ve makalenin tarif ettiği artımlı yaklaşım — mevcut Semantic Kernel kodunun yanına Microsoft.Agents.AI ve Microsoft.Extensions.AI paketlerini eklemek — bu geçişi yeniden yazım yerine kademeli hale getirmek için tasarlanmış. IChatClient tabanlı soyutlamalara geçiş ayrıca sağlayıcıya bağımlılığı azaltıyor, çünkü Azure OpenAI ve yerel runtime'lar aynı arayüzün arkasında duruyor. Bir uyarı: buradaki sürüm numaraları ve zaman çizelgeleri dev.to'daki tek bir topluluk makalesinden geliyor; bu yüzden ekipler, bir geçiş takvimine bağlılanmadan önce güncel paket sürümlerini Microsoft'un resmi dokümantasyonundan teyit etmeli.
- #dotnet
- #ai-agents
- #semantic-kernel
- #microsoft-agent-framework
- #asp-net-core
İlgili yazılar
- Azure OpenAI'ın Decisions API'si genel kullanıma açıldı: Üretilmiş metin yerine skorlar döndürüyor
- well-known.online, yapay zeka ajanlarına isim, gelen kutusu ve şifreli mesajlaşma için tek bir anahtar veriyor
- Drew Breunig'in context engineering durumu konuşması, LLM context'indeki dört başarısızlık modunu haritalıyor