Uno Platform, çok platformlu .NET uygulamaları oluşturmak için yapay zekâ ajanlarının kullanımındaki en büyük sorunun kod yazmak değil, uygulama çalıştırıldıktan sonra kodun gerektiği gibi çalışıp çalışmadığını anlamak olduğunu düşünüyor. Ajan, derlenebilen ve çevirisi yapılabilen bir ayarlar sayfası üretebilir; ancak bu sayfa, yalnızca gerçek uygulama içinde ortaya çıkan yerleşim veya davranış hataları içerebilir.
Bu boşluğu gidermek için Uno Platform, Microsoft’un toplulukla iş birliği içinde geliştirdiği resmî MCP C# SDK paketini kullanarak C# dilinde iki sunucu oluşturdu. İlk sunucu bilgi ve belgeler sağlamaya odaklanırken, ikincisi ajanı gerçekten çalışan bir uygulamaya bağlıyor; böylece ajan uygulamayı çalıştırabiliyor, inceleyebiliyor ve onunla etkileşime geçebiliyor.
Farklı amaçlara ve zaman döngülerine sahip iki sunucu
Uno Platform’un tasarımındaki temel karar, “neyin doğru olması gerektiği” sorununu “şu anda ne oluyor?” sorunundan ayırmaktı. Belge sunucusu, platform güncellemeleri yayımlandığında veya sayfaları değiştirildiğinde güncellenen bilgilerle ilgilenirken, uygulama sunucusu uygulama çalışırken değişen belirli bir çalışma oturumunun durumuyla ilgileniyor.
Belge sunucusu genel olarak mcp.platform.uno/v1 adresinde barındırılıyor ve durum bilgisi olmadan HTTP üzerinden çalışıyor. Resmî belgelerde arama yapmak ve tam sayfaları Markdown biçiminde getirmek için araçların yanı sıra çalışan bir uygulamayla çalışma kuralları ile yaygın Uno Platform API’lerini kullanma kuralları sağlıyor. Ayrıca güncel en iyi uygulamalara göre uygulama oluşturmak için /new ve mevcut bir kod tabanına bağlı bir konuşmayı başlatmak için /init adlı iki istem içeriyor.
Yayımlanan deneyime göre bu sunucuyu barındırmanın yararı, tek bir belge sayfasının güncellenmesinin, yeni bir sürüm gerektiren bir NuGet paketine yönergeler eklemek yerine, ajanların sunucuyu bir sonraki çağırışında onlara yansımasıdır.
Uygulama sunucusu ise geliştiricinin cihazında stdio üzerinden bir .NET aracı olarak çalışıyor ve ajanı Uno DevServer hizmetine bağlıyor. Tek bir oturuma ayrılmış, durum bilgisine sahip bir sunucu. Uygulamayı Hot Reload etkinleştirilmiş hata ayıklama modunda çalıştırabiliyor, ekran görüntüsü alabiliyor, görsel öğe ağacının XML gösterimini çıkarabiliyor; ardından tıklama ve tuşlara basma işlemlerini gerçekleştirebiliyor, metin girebiliyor ve otomasyon öğelerinin eylemlerini çağırabiliyor.
Arayüzü doğrulamak ekran görüntüsünden fazlasını gerektirir
Uno Platform, görsel öğe ağacı aracını doğrulama döngüsünün en önemli bölümü olarak görüyor. Ekran görüntüsü ajanın bir şeyin yanlış göründüğünü keşfetmesine yardımcı olurken, öğe ağacı soruna neden olan öğeyi ve özelliklerini ortaya çıkarıyor. Pratik bir ifadeyle: pikseller keşif için, yapı ise teşhis için uygundur; ajanın her ikisine de ihtiyacı vardır.
Platform, mümkün olduğunda uno_app_pointer_click üzerinden koordinatlarla tıklamak yerine uno_app_element_peer_action kullanılmasını öneriyor; çünkü koordinatlarla tıklama, pencere boyutları ve piksel yoğunluklarındaki farklılıklardan etkilenirken otomasyon eylemleri doğrudan öğelerin kendileriyle ilişkilidir. Platform bu öneriyi, ajanın yüklemeyebileceği ayrı bir belgeye değil, araç açıklamasına yerleştirdi; çünkü araç açıklaması seçim kararını doğrudan etkiliyor.
Bu araçlarla ajan arayüzü değiştirebilir, ardından uygulamayı yeniden yükleyebilir, ekran görüntüsü alabilir, görsel ağacı okuyabilir, etkileşimli bir akışı gerçekleştirebilir ve değişikliği teslim etmeden önce sonucun istenenle uyuşup uyuşmadığını belirleyebilir. Uno Platform bu yaklaşımı web uygulamalarına yönelik Playwright araçlarına benzetiyor; ancak yaklaşım Windows, macOS, Linux, iOS, Android ve WebAssembly üzerinde çalışan yerel .NET uygulamalarına yöneltiliyor.
Araçların maliyeti bağlam tasarımının bir parçasıdır
Deneyim, MCP hakkındaki tartışmalarda genellikle gözden kaçan pratik bir kısıta dikkat çekiyor: araç tanımları, herhangi bir soru sorulmadan önce modelin bağlam penceresinin bir bölümünü tüketiyor. Uno Platform, belge sunucusunun yaklaşık 6,4 bin belirteç, uygulama sunucusunun ise yaklaşık 1,5 bin belirteç tükettiğini belirtti. Karşılaştırma için, aynı oturuma entegre edilen GitHub MCP sunucusu yaklaşık 5,2 bin belirteç tüketiyor.
Bu nedenle araç açıklamaları yalnızca teknik belgeler değildir; maddeye göre bunlar, ajanın araç seçimini etkileyen bir tür yönlendirme veya istemdir. Bu da adın, açıklamanın ve giriş şemasının kısa ve yüksek sinyalli olmasının; önemli operasyonel tercihlerin ise modelin karar verirken okuduğu yere eklenmesinin önemini ortaya koyuyor.
Geliştiriciler için pratikte ne değişiyor?
Uno Platform yalnızca tekil araçlar sağlamakla kalmıyor; aynı zamanda ne zaman, hangi sırayla araçların kullanılacağını ve görevin tamamlanmış sayılması için ne gerektiğini belirleyen yapılandırılmış prosedürler olan Skills adını verdiği bileşenleri de ekliyor. Kütüphane; MVUX, durum, veri kaynakları, gezinme, biçimlendirme, Uno Toolkit öğeleri ve test gibi senaryoları içeriyor. Ayrıca uygulama sunucusu üzerinden arayüz testlerini otomatikleştirmek için uno-testing-ui adlı bir Skill de bulunuyor.
Bu yapı güncel belgeleri, incelenebilen canlı bir uygulamayı ve iş akışı için önceden tanımlanmış prosedürleri bir araya getiriyor. Platform, bu bileşenlerin tamamen tarayıcı içinde çok platformlu bir .NET uygulaması oluşturan Uno Platform Studio 3.0’ı desteklediğini söylüyor. Bu yapı planlama ve yürütme için Microsoft Agent Framework’e; derleme, derlemeleri yükleme, NuGet değişikliklerini çözümleme ve sonucu çalışan uygulamaya yeniden yükleme için ise bir Roslyn çalışma alanına dayanıyor.
certi.news’in editoryal değerlendirmesi: Bu deneyimin asıl değeri, kod yazmak için başka bir ajan eklemek değil; ajanı bir metin oluşturucunun rolünden, güncel bir bilgi kaynağını sorgulayabilen ve çıktısını gerçek bir uygulama karşısında test edebilen bir tarafa dönüştürmektir. Sunucuların ayrılması, diğer MCP projelerine uygulanabilecek bir tasarım ilkesi de sunuyor: uzun vadeli bilgiyi çalışma durumundan ayırın ve HTTP ya da stdio’yu biçimsel bir tercihe göre değil, dağıtım mimarisine göre seçin.
Bununla birlikte madde, bu yaklaşımın insan incelemesi ihtiyacını ortadan kaldırdığını veya uygulamanın her durumda doğru olmasını garanti ettiğini kanıtlamıyor. Uno Platform’un deneyimini ve araçlarını sunuyor; hata keşif oranları veya kod kalitesi hakkında bağımsız ölçüm sonuçları vermiyor. Ayrıca araç tanımlarının maliyeti ile uygulama sunucusunun Uno DevServer’a ve yerel bir oturuma bağımlı olması, ekiplerin modeli benimsemeden önce değerlendirmesi gereken pratik kısıtlar olmaya devam ediyor.