Gezdiren görsel arşivi
Bir yapay zekâ aracına küçük bir beceri eklemek artık yalnızca o aracı kullanan ekibin meselesi olmayacak. 6 Ağustos'ta yayımlanan Agent Plugins 1.0 standardı, talimat dosyalarını ve Model Context Protocol (MCP) sunucularını aynı klasörde paketleyip farklı istemcilere taşımanın ortak bir yolunu tanımlıyor. Dosya düzeni ortaklaştığında, bir ajana rapor hazırlatmak için yazılmış beceri başka bir kod editöründe ya da komut satırında da daha az uyarlamayla çalışabilir.
Bu, ilk bakışta geliştiricinin angaryasını azaltan bir ayrıntı gibi duruyor. Asıl değişiklik ise aracın nereye taşındığı değil, taşınırken neyi beraberinde götüremediği. Standardın kendisi paket biçimiyle sınırlı: kurulum yöntemi, dağıtım kanalı, izin modeli, güven kaynağı ve kullanıcı onayı tanımlanmıyor. Bir eklenti klasörü taşınabilir; o klasörün bir veritabanına erişmesinin, komut çalıştırmasının ya da ağ isteği göndermesinin kabul edilebilir olup olmadığı taşınmıyor.
Bu ayrım özellikle MCP tarafında görünür. MCP, ajanları araçlara ve hizmetlere bağlayan protokoldür. Yeni standart, bir MCP sunucusunun ayarını paketin kökündeki `mcp.json` dosyasında bulmayı söylüyor; yerel süreç, akışlı HTTP ya da eski olay akışı gibi bağlantı türlerini de tarif ediyor. Buna karşılık uzak sunucu için taşınabilir bir kimlik doğrulama düzeni vermiyor. Teknik olarak doğru olan bu sınır, kullanıcı açısından önemli bir sonuç doğuruyor: Aynı eklenti farklı istemcilerde aynı beceri adıyla görünse bile, erişim izni ve oturum açma deneyimi aynı güvenceyi vermeyebilir.
Kullanıcı burada iki şey kazanıyor. İlk olarak, bir iş akışını yalnız bir yapay zekâ uygulamasına kilitlemeden taşıma ihtimali doğuyor. İkincisi, standart sabit dizinler ve sınırlı bir bildirim dosyası kullandığı için paketin içinde ne arandığını görmek kolaylaşıyor. Buna rağmen dosya yapısı, çalıştırma anında hangi verinin gönderileceğini veya hangi komutun hangi onayla devreye gireceğini göstermez. Bir `SKILL.md` dosyası ne yapılacağını anlatır; bir MCP tanımı hangi hizmete bağlanılabileceğini söyler.
Geliştiriciye geçen yük tam burada başlıyor. Taşınabilirliği hedefleyen eklentiyi hazırlayan kişi, her istemcinin izin ekranını ve gizli anahtar saklama biçimini varsayamaz. Uzak bir MCP sunucusuna sabit kimlik bilgisi yazmak zaten standardın ruhuna da aykırı: belirtim, başlıklardaki değerlerin görünür paket verisi olduğunu ve sır saklamak için kullanılmaması gerektiğini açıkça söylüyor. İstemci, eklenti bir araç çağırmadan önce hangi hizmete hangi veriyle bağlanacağını ve kullanıcıdan hangi izni istediğini göstermelidir.
Burada küçük ama değerli bir tercih var. Eklenti biçimi, eksik ya da çalışmayan bir MCP sunucusu yüzünden becerilerin tümünü devre dışı bırakmıyor; bileşenler ayrı ayrı yüklenebiliyor. Bu, geliştirici için dayanıklılık sağlar. Fakat aynı yaklaşımın kullanıcı arayüzünde de karşılığı olmalı: hangi becerinin yüklendiği, hangi aracın bağlanamadığı ve hangi erişimin henüz onaylanmadığı birbirinden ayırt edilmelidir. Örneğin bağlantı kurulamadığında kullanıcı, o aracın hiç çalışmadığını ve daha önce verdiği erişimin kullanılmadığını ekranda görebilmelidir.
Agent Plugins, becerilerin ve MCP ayarlarının istemciler arasında aynı dizin düzeniyle bulunmasını sağlıyor; bunun dışındaki güvenlik kararları istemcide kalıyor. Kullanıcının kararı hâlâ istemcide; geliştiricinin sorumluluğu da o kararı eklentinin adına, satış metnine ya da tek seferlik kurulum anına sıkıştırmamaktadır. Bu nedenle istemci, bir eklenti devreye girmeden önce bağlanacağı aracı, istenen izni ve bağlantı kurulamazsa ortaya çıkacak sonucu ayrı ayrı göstermelidir.