A2A Delegasyon: Ajanlar Birbirine Görev Nasıl Devredilir?
A2A Delegasyon: Ajanlar Birbirine Görev Nasıl Devredilir?
Bir yazılım ekibinde senaryoyu düşün: veri işleme ajanı her sabah yüz sırasıyla gelen müşteri siparişlerini yükler, işler ve bir depo güncelleme ajanına devreder. Bu ajanlarda ne yazık ki tanımlı sorumluluk ve onay akışı yok. Bir gün veri işleme ajanı yanlış bir formata dönüştürür, depo ajanı haberi olmadan bu veriyi yayınlar, müşteri verileri yanlış işlenir. Kimin sorumlusu? Hiçkimse. Sistem çalıştı, ajanlar çalıştı, ama tanımlı bir sorumluluk hattı olmadığı için hasar yaygınlaşıncaya kadar keşfedilmez.
Bu senaryo kurumsal ajan ortamlarında rastgele değildir. Ajanlar birbiri ardına görevler devreder — ama bu devretme nasıl olacak?
Görev Devretme Tanımlı Kurallara İhtiyaç Duyar
Insan organizasyonunda bir mühendis ajanı (insan) başka mühendise kod yazması için görev verir. Bu görevle birlikte gelen şeyleri düşün:
- Beklenti tanımı: Hangi dosyaları değiştir, hangi durumlarda dur, ne test et?
- Kontrol noktası: Kod yazıldıktan sonra kim inceleyecek? Beklenti karşılanmadıysa ne olacak?
- Sorumluluk hattı: İş bittiyse, biten işin kalitesi kimde kalır? Hatanın çıkması durumunda müşteri kimi aramamalı?
Ajanlar arasında da aynı yapı kurulmalıdır. Ama burada tek fark şu: İnsan organizasyonunda bu kurallar çoğu zaman sessiz anlaşmadır. “Iyi bir developer değişiklik yaptı” sözü kafidir. Ajan organizasyonunda ise bu açık olmalıdır. Politika dosyasına, kontrol betiğine, onay sistemine yazılmalıdır.
Onay Akışı: Akışı Durduran Noktalar
Veri işleme ajanı depoya veriyi devrederken bir kural kurabilir:
- Eğer girdi sayısı beklentiden az ise, duruş kodu döndür; devam etme.
- Eğer dönüştürme hatası varsa, bir hata logu oluştur ve depoya değil, insan gözlemcisine rapor et.
- Eğer dönüştürme başarılıysa ve giriş sayısı tutuyorsa, depo ajanına devretmeden, bir denetim ajanı bu veriyi yüzde yüz kontrol etsin.
Bu denetim ajanı, depoya devretmeden veya devrettikten sonra ne yapacağını da kurallı hale getirmelidir. Hata bulunursa geri döndürt. Hata yoksa, depoya devret. Depo güncellenirse, bir muhasebe ajanı da bu değişikliği kaydedebilir.
Her adım tanımlı, her adım kaydedilir. Bir sorun çıktığında, sistemin hangi ajanından başlayan hata olduğu net bellidir.
Sorumluluk Hattı Akışta Kopmaz
Burada kritik nokta şudur: Bir görev zinciri oluştuğunda sorumluluk, zincirdeki son ajana kalır. Hata çıkarsa “depoya veri gönderen ajan yanlışsa, depo ajanı da yanlıştır” gibi bir varsayım yapılamaz.
Sorumluluk zincirinin yapısı şöyle olabilir:
- Veri işleme ajanı sorumluluğu: Girdileri eksiksiz ve doğru biçimde işleme.
- Denetim ajanı sorumluluğu: İşlenmiş veriyi politikaya göre kontrolü.
- Depo ajanı sorumluluğu: Kontrol edilmiş veriyi depoda tutmak.
Ama bu sorumluluğun en tepesinde kim varsa — örneğin operasyon müdürü — o, tüm akışın sağlığından sorumludur. Bir ajanın hata yapması durumunda, o ajanın sorumlusu olan müdür adım atmalıdır. Ajan kendi başına çalışan bir araç değildir; sorumluluk altında bir varlıktır.
Yaşanan Hata Senaryoları
Pratikte neler ters gider?
Senaryo 1: Bir ajan görevini tamamladığını bildirdi, ama aslında kısmen başarısız oldu. Devredilen ajan bunu farketmedi, devam etti, sonra geri dönülemez hale geldi.
Çözüm: Devredilen tarafın “ben tamamladım” dediğini yeterli sayma. Devralan ajan, alınan görevin sonucunu independen olarak doğrulama; şüphede kalmışsa geri sorma veya durma.
Senaryo 2: İki ajan arasında asıl sorumluluk hangi ajan üzerinde kalacak hiç tanımlanmadı. Her biri “ben yerine getirdim” dedi, ama kurumsal seviyede görev hiç tamamlanmadı.
Çözüm: Görev devretmeden önce sorumluluk hattını açıkça tanımlama. “Sen bu kısmı yap, ben o kısmı takip edeceğim; eğer sorun çıkarsa ben sorumlu” gibi net bir kurallı anlaşma.
Senaryo 3: Ajan A ajan B’ye görev verdi, ajan B başka ajan C’ye devretmek istedi. Ama kimin izni var, hangi seviyeye kadar devredme izinleri var, hiç tanımlanmadı. Sorumluluk zinciri koptu.
Çözüm: Delegasyon hiyerarşisi önceden tanımlı olmalıdır. Hangi ajanlar hangi seviyelerde görev devredebilir, o açıkça politika dosyasında yazılı olmalı.
Izleme ve Geri İzdüşüm
Ajanlar arasında görev devri tanımlı olduğunda, her devir kaydedilmelidir:
- Hangi ajan hangi ajana ne görev devretmiş?
- Ne zaman devretmiş?
- Devralan ajan bunu ne zaman tamamlamış?
- Hata varsa, hatanın türü nedir?
Bu kayıtlardan çıkan bulgular:
- Hangi ajan sık sık başarısız görev devretiyorsa, o ajanın tekniğinde sorun var.
- Hangi ajan devredilen görevleri sık sık reddediyorsa, o ajanın yetkinliği dış veya politika tanımında sorun var.
- Hangi ajandan hangi ajana devren akışı en verimli, hangi yol hiç işe yaramıyor?
Bu veriler, ajan organizasyonunun yapısının optimalleştirilmesine yol açar. İnsan organizasyonunda yönetimsel kararları veri tabanlı hale getirmek gibi, ajan organizasyonunda da kayıtlı delegasyonlar yönetsel veri üretir.
Kontrol ve Geri Alma
Tanımlı delegasyonun bir diğer avantajı: Bir görev yanlış gittiğinde geri alma mekanizması vardır.
Örneğin, depo ajanı yanlış veri yayınladıysa, denetim ajanı bunu görebilir, durdurabılır, eski halini geri yükleyebilir ve yazılan ajanı uyarabilir. Ancak bu bütün akış tanımlı olduktan sonra mümkündür. Tanımlı olmayan “birbirinden iş alan ajanlar” sisteminde bu tür traksiyon hiç var olmaz.
Ilk dört gün ajanların tanımını, organizasyona yerleştirilmesini, politika çerçevesini ve durumlarını ele aldık. Beşinci gün ise bu bütün yapının operasyonel halidir: ajanlar, tanımlı kurallar altında, takip edilerek, hesap vererek görevleri birbiri ardına devrederler. Bunu yapabilecek kurumlar, ajanları üretime aldıklarında kontrol ve denetim mekanizmalarını bir arada kurarlar.