Microsoft, 15 Temmuz'da Python için kararlı bir Agent Skills framework'ü yayınladı. Bu framework, geliştiricilerin yetenekleri yalnızca LLM tabanlı bir ajan bunlara gerçekten ihtiyaç duyduğunda dahil etmelerine olanak tanır. Sürekli büyüyen tek bir sistem istemi (system prompt) yerine talep üzerine yetenek yükleme yöntemini kullanarak, bu yaklaşım istem boyutunu küçültür, token maliyetlerini düşürür ve ajanın muhakemesini daha net tutar.

İstemler neden şişer ve bu neden önemlidir

LLM ajanları; politikaları, çalışma kitaplarını (runbooks) ve modelin her adımda görmesi gereken referans materyallerini bir araya getiren bir "sistem istemine" (system prompt) dayanır. Birkaç politika belgesi eklendiğinde istem, birkaç bin token'a kadar şişer. Daha büyük istemler çıkarım (inference) maliyetlerini artırır —modelin işlediği her token ücretlendirilir— ve talimat sinyalini seyrelterek ajanın çıktısını daha belirsiz hale getirir. Olay önceliklendirme (incident triage) veya uyumluluk denetimi süreçlerinde, belirsiz bir istem, yardımcı bir asistanı yanlış bilgi kaynağına dönüştürebilir.

Agent Skills deseni: kademeli açıklama (progressive disclosure)

Yeni framework, monolitik istem yerine dört adımlı bir iş akışı sunar:

  1. Yetenek duyurusu (Advertise the skill) – yönlendirme katmanına yeteneğin adını bildiren hafif bir meta veri girişi.
  2. Talimatları yükle (Load instructions) – ajanın, yeteneğin istekle eşleşip eşleşmediğine karar vermek için okuduğu kısa bir açıklama.
  3. Kaynakları oku (Read resources) – yalnızca ajan yeteneği seçtikten sonra getirilen isteğe bağlı politika veya referans dosyaları.
  4. Betikleri çalıştır (Run scripts) – açık onay mekanizmasıyla sınırlandırılmış, eylemi gerçekleştiren kod yürütme.

Çekirdek istemde yalnızca kısa SKILL.md dosyası bulunur. Daha büyük tüm belgeler ve betikler, çalışma zamanının (runtime) talep üzerine çektiği dosya tabanlı bir yetenek paketinde yer alır. Dizin yapısı basit kalır:

  • SKILL.md – kısa, insan tarafından okunabilir açıklama.
  • references/ – politika veya kılavuz dosyaları.
  • scripts/ – yürütülebilir kod.

Ajan, yeteneğin uygun olduğuna karar verene kadar references/ veya scripts/ dizinlerinin tam içeriğini asla görmediği için, kaç tane yetenek kaydederseniz kaydedin ana istem yalın kalır.

Framework'e yerleşik güvenlik önlemleri

Framework, bir yeteneği yüklemenin riskli olabileceğini varsayar ve geliştiricilerin uyması gereken kuralları zorunlu kılar:

  • Yetenek adı duyurusu – otomatik; yalnızca yönlendirme için kullanılır.
  • Talimat yükleme – küratörlü listeler için otomatiktir; incelenmemiş talimatlar davranışı istenmeden değiştirebilir.
  • Politika okuma – veriler hassas olmadığında otomatiktir; hassas materyalleri ek erişim kontrolleri arkasında tutun.
  • Betik yürütme – her zaman açık onay gerektirir. Bir betik, ajanı "öneri" aşamasından "eylem" aşamasına taşır, bu nedenle bir insan veya politika kontrolü müdahale etmelidir.
  • Harici sistem çağrıları – sınırlı izinlere sahip ayrı araçlar aracılığıyla yapılmalıdır; yeteneğin kendisi bir yetkilendirme mekanizması değildir.

Bu kurallar, geliştiricileri veritabanı güncellemeleri veya kod dağıtımları gibi yazma odaklı eylemleri denemeden önce; olay önceliklendirme, politika arama, durum sorguları gibi salt okunur iş akışlarıyla başlamaya teşvik eder.

Operasyonel hijyen: günlükleme (logging) ve versiyonlama

Bir yetenek çalıştığında, framework şunların günlüklenmesini teşvik eder (ve birçok dağıtım bunu zorunlu kılar):

  • Orijinal istek ve seçilen yetenek kimliği (ID).
  • Kullanılan yetenek paketinin versiyonu.
  • Ajanın yalnızca açıklamayı mı yüklediği yoksa bir kaynak dosyasını da mı getirdiği.
  • Betik yürütme için verilen onay kararı.
  • Sağlanan tüm araç argümanları ve döndürülen sonuçlar.

Eğer ajan yanlış yeteneği seçerse, bu yanlış seçimi bir test vakasına (test case) dönüştürün. Bu, yetenek üretime geçmeden önce bir regresyon kontrolü sağlar.

Her yeteneği dağınık bir istemler klasörü olarak değil, net bir sınırı olan versiyonlanmış bir bağımlılık (versioned dependency) olarak ele alın. Versiyonlama, ajanın bilgi tabanının geri kalanını bozmadan hatalı bir betiği geri almanıza (roll back) olanak tanır.

Başlangıç: pragmatik bir kontrol listesi

  1. Salt okunur bir iş akışı seçin – örneğin, "en son güvenlik olayı kılavuzlarını ara".
  2. Talimatları ve betikleri ayrı paketleyinSKILL.md dosyasını kısa tutun; ağır politika dosyalarını references/ içinde saklayın.
  3. Bir katalog oluşturun – onaylanmış yeteneklerin bir listesini tutun ve her türlü betik için zorunlu onay uygulayın.
  4. Sandbox sınırlarını belirleyin – betik yürütme için CPU, bellek ve ağ kısıtlamaları tanımlayın; her çalıştırmayı günlüğe kaydedin.
  5. Eski mega-istem ile kıyaslama yapın – maliyet tasarrufunu doğrulamak için token kullanımı, gecikme (latency) ve başarı oranlarını karşılaştırın.

Sırada ne var

Microsoft'un yayınladığı sürüm şu anda kararlı bir Python uygulamasıdır.

Özetle

Agent Becerileri, LLM tabanlı asistanların büyüyen bir politika ve betik kütüphanesine erişirken aynı zamanda hafif kalmalarına olanak tanır. Sadece açıklamayı başlangıçta yükleyip ağır kaynakları ihtiyaç duyulduğunda çekerek, promptlar kısa kalır, çıkarım maliyetleri düşer ve ajanın akıl yürütmesi odaklı kalır.