Ajanlar Birbirine İş Nasıl Devreder? A2A Delegasyon
Ajanlar Birbirine İş Nasıl Devreder? A2A Delegasyon
Şimdiye kadar öğrendik: ajan ne, organizasyon şemasında neresi, policy.md ile sınırları neler. Ama gerçek dünyada ajanlar iş yapıyor ve bazen o işi başka bir ajana vermesi gerekiyor.
Bir insan müdür senin altında iki pazarlama danışmanı varsa, direkt olarak birinin işini başka birine devredebilir. Aynısı ajanlar için de geçerli mi? Evet. Ama kuralları farklı.
İnsan Yöneticiden Ajan Koordinatörüne
Bir insan yönetici direktif verir: “Ali, şu raporu hazırla.” Ali’nin sınırı varsa (örneğin 10 saatlik iş yetkisi yok ise) yöneticiye sorar. Yönetici “Evet, ekstra saat harcama” derse, Ali gitmiş de raporu yapar.
Ajan A’nın işi var. Ajan B’ye devrediyor. Ama kim onaylıyor? B’nin policy.md’sine bakılıyor. “Ajan B sadece veritabanı sorgulama yapabilir” diyor politikası ise, A bu işi B’ye veremez. Vermek isterse kime soracak? Ortak yöneticilerine (her ikisinin de responsible_id sahibine). Onlar “Evet, bu kez B’nin yetkisini genişletiyoruz” diyebilir veya “Hayır, başka C ajanda yap” diyebilir.
İşin temelinde şu var: A2A delegasyon daima sorumluluğun takibi ile gelir. A işi B’ye verdi diye A’nın sorumluluğu bitmez. Sonuç A’nın adına gelir, A rapor eder.
Onay Akışı (Approval Chain)
Peki işi devredecek zaman ne kontrol edilir?
- B’nin yetkisi: B’nin policy.md’sini oku. Yapabilir mi?
- B’nin kapasitesi: B şu an ne yapıyor, ne kadar iş alabilir?
- Sonuç kontrolü: Kim B’nin işini denetleyecek? B’nin policy.md’sinde belirtiliyor. Örneğin “Ajan B’nin tüm çıktıları veri kontrolörü İnsan C tarafından onaylanmalı.”
- Risk seviyesi: Eğer işin riski yüksekse (para transferi, müşteri sözleşmesi değişikliği) kim ek onay verecek? Bunun da config’de yazılı olması gerekir.
Gerçek örnekle: Ajan Alım Takvimi (recruitment_scheduler) yeni pozisyon açmak için İnsan Kaynakları Ajan (HR_assistant) ile konuşuyor.
recruitment_scheduler: "HR_assistant, bize 3 mühendis pozisyonu açmanız lazım."
HR_assistant policy.md'ye bakıyor: "İş ilanı açabilir, ama 5+ pozisyon açmak için insan HR Müdürü'nün onayı gerekli."
HR_assistant: "3 pozisyon okay, açıyorum. Ama process bitti mi? recruitment_scheduler'ı bilgilendir."
recruitment_scheduler: "Teşekkür ederim. Sonuçu logguyorum, insanlara rapor ediyorum ki 3 pozisyon açılmış."
Burada onay akışı şöyle oldu:
- recruitment_scheduler → HR_assistant: Devir talep
- HR_assistant policy kontrol: Evet, 3 pozisyon açabilir
- HR_assistant HR Müdürü’nü kontrol: İlanları sistemde açıyor (insan müdürün manual onayı yok, policy önceden verilmiş)
- HR_assistant → recruitment_scheduler: Sonuç bildirimi
Sonuç Kontrolü ve Denetim Izi
Ajan A, işi B’ye verdi. B işi yaptı. Sonuç nerede kaydediliyor?
Burada önemli kurul: Her ajana ait bir log/audit trail gereklidir. Kimin ne zaman neyi yapıp ne sonuç çıktığı kaydedilmeliydi. Örneğin:
- Tarih: 2026-09-02 10:00
- Talep eden: recruitment_scheduler
- Talep edilen: HR_assistant
- İşin türü: Pozisyon ilanı açma (3 adet)
- Policy kontrol: Onaylandı (5+ pozisyon tarafındaki sınır geçilmedi)
- Sonuç: İlan açıldı, ID: JOB-001, JOB-002, JOB-003
- Kaydeden: HR_assistant
- İnsan gözlemcisi: [HR Müdürü başka bir araç ile periyodik olarak logu kontrol eder]
Bu denetim izi olmadığında ne olur?
- Gölge AI sorunu geri dönüyor: Hangi ajan neyi yaptı, niçin hiç kimse bilmiyor.
- Hata bulunamamaz: B yanlış sonuç verdi, ama kimin hatası olduğu belli değil.
- Yetki sınırları aşılır: Bir ajan gizli bir başka ajana işi verip kontrol dışında sonuç almaya başlayabilir.
Delegasyon Kütüphanesi (Delegation Library)
İyi bir sistem şu araçlara sahiptir:
- Delegasyon config: Her ajan kimlere iş devredebileceğini tanımlayan liste
- Policy çeşit bilgisi: Her beceride hangi sınırlar geçerli (örn. HR_assistant “Maaş sorgusu yapabilir ama maaş değiştirme yapamaz”)
- İstek şablonu: A’nın B’ye talep attığında hangi bilgiler gerekli (örn. “İşin aciliği, tahmini zaman, gerekli kaynaklar”)
- Onay mekanizması: Eğer B talebi kabul edemezse (kapasite, yetki), sistemi kime yönlendirecek? (İnsan müdür, başka C ajan, veya direkt reddet)
- Sonuç bildirimi: B işi bitirip sonuç attığında, A onu alıyor, günlüğe yazıyor, insan müdüre rapor ediyor
İnsan yönetim dünyasında bu zaten yapılıyor. “Ali, bu işi Zeynep’e ver ama önce şunu kontrol et.” Aynısı ajanlar için de olmalı. Ama yazılı, otomatikleştirilmiş ve denetlenebilir olmalı.
Özet
Ajan A’nın B’ye iş vermesi şu adımları içerir:
- B’nin policy.md’sini kontrol et (yetki var mı?)
- B’nin kapasitesini kontrol et (şu an ne yapıyor?)
- Delegasyon config’ine bak (A gerçekten B’ye talep gönderebilir mi?)
- Talebi şablona göre oluştur (hangi bilgiler gerekli?)
- B’den cevap bekle (kabul mi, ret mi, onay istemiş mi?)
- Sonuç gel, A günlüğe yazıyor, insan gözlemci rapora bakıyor
Bütün bunlar yazılı olmalı. Config, policy ve denetim izi.
Yarın son adım: Hepsi birleştiğinde ne olur? İnsan ve ajan ekiplerinin bir arada çalışması.