Agent Harness: Kıskacı Büyütmek ve Yetenekleri Kuşanmak
Şöyle söyleyeyim, Kişisel finans asistanımızı hatırlıyor musunuz? İkinci bölümde ona portföyünüzü okumayı, işlem yapmadan önce izin istemeyi. Seanslar arası önemli şeyleri aklında tutmayı öğretmiştik. Fena değildi hani. İş görüyordu. Ama bir yerde tıkanıyordu; her bildiği tek bir prompt’un içine sıkışmıştı, işi tek hamlede yapıyordu. Dosya okuma araçlarının ötesine geçip gerçekten bir şeyi yeniden düzenleyemiyordu.
Şimdi işin asıl ilginç tarafına geliyoruz. Bu yazıda kıskacı dört ayrı yönden açacağız: skill’ler, shell erişimi, CodeAct ve arka plan ajanları. Kulağa biraz kalabalık geliyor, değil mi? Bakın, ilk bakışta mesele basit gibi dürüyor ama kurumsal ortamda devreye alınca taşlar yerinden oynuyor (özellikle izinler, güvenlik sınırları. Beklenmedik yan etkiler yüzünden), işte orada biraz dikkat gerekiyor.
Hmm, bunu nasıl anlatsamdı…
“Harness’ın yaklaşımı net: sız sadece ajanınızı sizin ajanınız yapan parçaları veriyorsunuz, gerisini altyapı hallediyor. İlk duyunca biraz iddialı geliyor ama üç ay sonra kod tabanınıza dönüp baktığınızda, dağınıklığın azaldığını görünce insan ister istemez ‘tamam ya, burada bir iş var’ diyor.”
Neden Tek Prompt Ölçeklenmez?
Şöyle bakın: Bir çalışanı işe alıyorsunuz, sonra da şirketteki her prosedürü, her hesaplama yöntemini, her risk skorlama modelini tek bir kalın kılavuza sıkıştırıp “al bunu, kolay gelsin” diyorsunuz. Adam ne yapsın? Büyük ihtimalle ilk gün indeks sayfasında kaybolur gider.
LLM tarafında da durum pek farklı değil. System prompt’a her şeyi doldurduğunuzda iki şey aynı anda patlıyor: context bloat yüzünden token bütçesi hızla eriyor, bir de model gerçekten önemli yere odaklanamıyor; focus dilution işe 40 ayrı konu arasında önceliği dağıtıyor, hâliyle halüsinasyon da artıyor. Bak şimdi, mesele sadece uzun prompt değil, asıl sorun dikkatin bölünüyor olması (evet, doğru duydunuz)
Sahada en sık gördüğüm hata bu. Ekipler “ya bir şey eksik kalırsa” diye prompt’a ne bulurlarsa ekliyor, sonra da “model saçmalıyor” diye dert yanıyor. E tabiî saçmalar.
Evet.
Skill’ler: İhtiyaç Duyulunca Öğren
Kendi deneyimimden konuşuyorum, İşte tam burada Agent Skills devreye giriyor (ben de ilk duyduğumda şaşırmıştım). Her skill aslında küçük bir SKILL.md dosyası; içinde işim var, kısa bir açıklama var, sonra da detaylı talimatlar geliyor, isterse yanında referans dokümanlar ve script’ler de durabiliyor. Yanı klasör şişirmeden işi parça parça açıyorsunuz.
Bence, Kritik nokta şu: Ajan başlangıçta sadece isimleri ve açıklamaları görüyor. Yanı bir çeşit indeks gibi düşünün. Kullanıcı istek atınca ilgili skill’in tam içeriği o anda yükleniyor; progressive loading dediğimiz şey bu. Bu arada ben bunu daha önce
Background agents tam burada devreye giriyor. Ana ajan, işi alt ajanlara bir düşüneyim… dağıtıyor, onlar aynı anda çalışıyor ve çıktılar sonunda tek yerde toplanıyor; klasik fan-out / fan-in mantığı yanı, çok temiz görünüyor ama alt tarafta epey is yapıyor. Bu konunun Agent Framework tarafındaki orkestrasyon kısmını daha önce
Finans sektörü: Skill’lerin merkezî yönetimi (Foundry Skills) burada baya iş görüyor. Compliance ekibi bir kuralı güncellediğinde tüm ajanların aynı anda hizaya girmesi lazım, yoksa iş büyüyor; manuel senkronizasyon da KVKK ve BDDK tarafında baş ağrısı çıkarabiliyor.
Şahsen, Perakende / e-ticaret: CodeAct. Background agents ikilisi envanter analizi, fiyat karşılaştırma gibi işlerde fena değil. Trendyol ya da Hepsiburada ölçeğinde binlerce SKU’yu paralel işlemek gerekiyor, yoksa sistem bir yerde tıkanıyor; şey, tam da burada otomasyonun tadı çıkıyor.
KOBİ segmenti: Doğrusu bu tarafta harness biraz “ağır” gelebiliyor. 20 kişilik bir yazılım şirketi için tam harness yerine daha hafif bir çerçeve daha mantıklı olabilir, en azından başlangıçta; önce skill’lerle başlayın, ihtiyaç oldukça CodeAct’i ekleyin, en son background agents’a geçin.
Tam da öyle.
İlk Adımda Ne Yapmalı?
Bir bakıma, ne yalan söyleyeyim, Denemek isteyenlere pratik bir yol haritası bırakayım (ciddiyim). Hmm, ilk bakışta basit görünüyor. Içeride birkaç küçük tuzak var; o yüzden sırayı çok bozmayın, yoksa sonra geri dönüp toparlamakla uğraşırsınız.
- Önce mevcut ajanınızın system prompt’ünü inceleyin. 500 token’dan uzunsa skill’lere ayırmanın vakti geldi.
- En sık kullanılan 2-3 domain bilgisini
SKILL.mddosyalarına taşıyın; böylece her şeyi prompt içine yığmamış olursunuz. (bu kritik) - Bir hafta boyunca hangi skill’in kaç kere yüklendiğini loglayın — kullanılmayanları temizleyin, çünkü rafta duran şey zamanla yük oluyor. — bunu es geçmeyin
- Shell erişimini sandboxlı bir working directory ile açın, önce staging’de test edin; production’a koşmadan önce ayağı yere bassın.
- CodeAct’i sadece matematiksel/analitik sorularda tetiklenecek şekilde konumlandırın; her soruda devreye girerse gereksiz maliyet çıkarabilir.
- Background agents’ı en son ekleyin — maliyet monitöring hazır olmadan asla production’a atmayın. Evet, burada acele etmeye hiç gerek yok.
E sonra? İlk hafta her şey düzgün görünürse sevinebilirsiniz ama yine de loglara bakmadan rahat etmeyin. Yukarıda bahsettiğim o olay var ya, hani kullanılmayan skill’ler sessizce şişer gider; işte önü erken yakalamak baya fark ettiriyor.
Eksik Kalan Neresi?
Hani, Dürüst olayım: Harness daha yolun başında sayılır. Bazı tarafları hâlâ biraz ham geliyor. Mesela skill loading’in observability kısmı, hani, beklediğim kadar rahat değil; hangi skill ne zaman yüklendi, kaç token harcadı, bunları net görmek için biraz uğraşıyorsunuz. Çoğu zaman custom telemetry yazıp Application Insights’a bağlamak gerekiyor, işin aslı bu.
Bir de background agents tarafında hata yönetimi var ya, orada da tam içime sinmeyen yerler gördüm (ki bu çoğu kişinin gözünden kaçıyor). 500 paralel ajanın 3’ü fail olunca ne oluyor? Ana ajan bunu nasıl topluyor, nasıl ayıklıyor? Cevap çoğu senaryoda “duruma göre”. Açık konuşayım, ben bu cevabı pek sevmiyorum. Kısa. Ama can sıkıcı.
Yine de yön doğru görünüyor. Bir yıl önce böyle bir yapı kurmak için elle yazmanız gereken glue code miktarını düşününce, harness baya iş görüyor. Biraz daha pişmesi lazım tabiî. Bugün bile production’a girebilecek projeler var; özellikle Eve + Azure Cosmos DB: Unutmayan Ajan Nasıl Kurulur yazısında anlattığım persist katmanını bununla birleştirince ortaya cidden sağlam bir kombinasyon çıkıyor (bazı yerlerde sürpriz şekilde sade kalıyor, bazı yerlerdeyse beklediğinizden fazla kontrol veriyor).
Durun, bir saniye.
Sıkça Sorulan Sorular
Agent Skills ile normal function calling arasındaki fark ne?
Function calling ajana tanımlı bir aracı çağırma yeteneği veriyor. Skills işe ajana bilgi ve talimat veriyor — hani ihtiyaç anında yüklenen türden. Yanı function calling “ne yapabilirsin”i, skills “nasıl yapmalısın”ı tanımlıyor diyebiliriz. Tahmin eder mısınız? Aslında — hayır dur, daha doğrusu ikisi birbirini tamamlıyor; birini seçip diğerini bırakmıyorsunuz.
CodeAct güvenlik açısından risk mi yaratıyor?
Doğru izole edilmezse evet, kesinlikle. Ajanın yazdığı kod bir sandbox içinde çalışmalı — mesela üretim veritabanınıza doğrudan bağlanmaması şart. Harness bu izolasyonu sağlıyor ama bence sız de working directory. Network erişimini kısıtlayarak ekstra bir katman koymalısınız. Production’da CodeAct çıktısını büyük ihtimalle loglayın, açıkçası bu adımı atlamayın.
Background agents her senaryoda paralel işi hızlandırır mı?
Hayır. Küçük iş yüklerinde orkestrasyon overhead’i faydayı yiyor. Kabaca söylersem: 10’un altında paralel işte tek ajan genelde daha hızlı ve ucuz. 50+ paralel iş varsa background agents kazanmaya başlıyor. Arada kalanlarda — yanı gri bölgede — bence benchmark yapmadan karar vermeyin.
Foundry Skills için ekstra Azure maliyeti var mı?
Foundry’nın kendi fiyatlandırma modeli var; skill sayısına göre değil, kullanım hacmine göre işliyor. Küçük ölçekli kullanımda maliyet ihmal edilebilir düzeyde. Ama binlerce ajanın merkezî skill’lere sürekli eriştiği bir ortamda, Foundry’nın read tarafındaki quota’ları önceden planlamak lazım — tecrübeme göre bu kısım sürpriz yapabiliyor. Fiyatlama detayları için Microsoft’un resmî sayfasını takip edin.
Harness.NET ve Python arasında feature parity var mı?
Açık konuşayım, Şu an büyük ölçüde evet. Ama Python tarafı genelde bir tık önde gidiyor —. Yeni özellikler önce orada çıkıyor, sonra.NET’e geliyor..NET ekibi bu farkı hızlı kapatıyor aslında. Yine de kritik projelerinizde tercih yaparken güncel dokümantasyonu bir kontrol edin, açıkçası bu fark zaman zaman önemli olabiliyor.
Kaynaklar ve İleri Okuma
Agent Harness: Scaling the Claw or Harness Capabilities — Microsoft DevBlogs
Microsoft Agent Framework Resmî Dokümantasyonu
Microsoft Agent Framework GitHub Repository (şaşırtıcı ama gerçek)
Give Your Agents Domain Expertise with Agent Skills







4 comments