20EkipZamanla
Ajanın başka ajana verdiği işi izlenebilir kıl
Ana ajan işi alt ajanlara böldüğünde kime ne verildiği ve ne döndüğü kaydedilmiyor, yanlış bir sonucun hangi halkada doğduğu bulunamıyor. Her devri görev metni, sonucu ve ortak bir iz kimliğiyle kaydetmek hatayı tek halkaya indirir.
- Kimlik
- TD-110
- Seviye
- Ajan AI kullanıcı adına iş yapıyorsa gerekli.
- Yüzey
- Arka plan ajanı, Yan panel
- Dayanak
- Araştırma ölçümü
- Son inceleme
- 28 Ekim 2026
Ajanına ver
Claude Code, Cursor ya da Codex'e yapıştır. Metinlerin tamamı aşağıda, Ajanına ver bölümünde.

30 saniyede dene
Bu anı kendi ürününde yarat ve ne olduğuna bak.
- Ajanına parçalara bölünecek bir iş ver, birkaç rakibin fiyatlarını bulup karşılaştırmak gibi.
- İş bitince rapordan bir rakam seç. Onu hangi alt ajanın, hangi görevle, hangi kaynaktan getirdiğini bulmaya çalış.
- Alt ajana giden görevin tam metnini ara. Bulamıyorsan alt ajanın ne döndürdüğünü görüyorsun ama ona ne istendiğini görmüyorsun.
- Aynı işi bir kez daha çalıştır. Sonuç değişiyorsa ve ilk çalıştırmanın izi yoksa, hatayı yeniden üretmenin de bir yolu yok.
Sorun
Kullanıcı ajandan rakip firmaların fiyatlarını karşılaştıran bir rapor istiyor. Ana ajan işi bölüyor: bir alt ajan fiyat sayfalarını arıyor, öteki hesaplıyor, sonucu ana ajan yazıyor. Raporda bir rakip beklenmedik kadar ucuz çıkıyor. Kullanıcı bu rakamın nereden geldiğini soruyor. Ana ajan bilmiyor. Alt ajanlara ne verdiği, onların ne döndürdüğü kaydedilmemiş, elinde yalnız kendi yazdığı özet var. Hatanın arayan ajanda mı, hesaplayan ajanda mı, yoksa ana ajanın verdiği görevde mi doğduğu bulunamıyor.
Her devirde bilgi kayboluyor. Ana ajan görevi birkaç cümleye sığdırıyor, alt ajan o cümleleri kendi anladığı gibi yorumluyor, ana ajan dönen sonucu yeniden özetliyor. Anthropic çok ajanlı araştırma sistemini anlatırken kısa ve belirsiz görev tariflerinin alt ajanların görevi yanlış yorumlamasına ya da öteki ajanların aramalarını tekrar etmesine1 yol açtığını yazıyor. Kayıt yoksa yanlış yorum iz bırakmıyor.
Hatayı yeniden üretmek de kolay değil. Anthropic'e göre ajanlar aynı promptla bile her çalıştırmada farklı kararlar veriyor1. İşi baştan çalıştıran ekip hatayı bir daha görmeyebilir ve sorunu çözdüğünü sanabilir. Ya da zincirin en sonundaki ajanın promptunu değiştirir, oysa bozuk halka iki adım geride.
Çok ajanlı bir işte her devir kendi kaydını bırakmalı: kim, kime, hangi görevle, ne döndü.
Neden atlanıyor
Çok ajanlı sistemler genellikle tek ajandan büyüyerek kurulur. Ekip önce tek ajanın araç çağrılarını izlemeye başlar, sonra bir alt ajan ekler, sonra bir tane daha. Alt ajan çağrısı izde sıradan bir araç çağrısı gibi tek satır kalır. Ona giden görevin tam metni, verilen bağlam ve alt ajanın kendi içinde yaptığı adımlar ana ajanın izine girmez.
İkinci neden sınırlar. Alt ajan başka bir serviste, başka bir çerçevede ya da başka bir şirketin sisteminde çalışabilir. Ajanlar arası iletişim protokolü A2A kendini birbirinin içini görmeyen, kapalı olabilen ajan sistemleri2 arasında çalışacak biçimde tanımlıyor. İz bağlamı bu sınırı ancak iki taraf da taşırsa geçer. Biri taşımazsa iz o noktada kopar, karşı taraftan geriye bir sonuç ve belki bir görev kimliği kalır.
Üçüncü neden dökümlerin boyu. Cemri ve arkadaşlarının incelediği çok ajanlı çalıştırma dökümlerinin her biri ortalama 15.000 satırı aşıyordu3. Ekip izi tutsa bile bu boyda bir dökümü okumaz, yalnız son çıktıyı değerlendirir. İz ancak bir hata bildirildiğinde aranır. O zaman da devirlerin kaydı ya hiç tutulmamış ya da tek satıra inmiş olur.
Desen
Her devir izde ayrı bir düğüm: hangi ajan hangisine, hangi görev metniyle, hangi bağlamla iş verdi, ne döndü, ne kadar sürdü. Bütün düğümler tek bir iz kimliğine bağlı ve iz servis sınırını geçiyor.
- Tek iz kimliği taşı. Kullanıcının isteği bir iz kimliği alır. Her alt ajan çağrısı bu kimliği ve üst çağrısının kimliğini taşır.
- Görevin metnini kaydet. Alt ajana giden talimat, dönen sonuç kadar önemli. Ana ajanın yazdığı görev, verdiği bağlam ve araç listesi devir kaydına girer. Hata alt ajanın işinde de doğabilir, ona verilen görevde de. Görev kayıtta yoksa ikisi ayırt edilemez.
- Devri devir olarak işaretle. İzde devirler sıradan araç çağrılarından ayrı görünür. OpenTelemetry'nin üretken AI kuralları bunun için ayrı aralıklar tanımlıyor: ajan çağrısı
invoke_agentadıyla, araç çağrısı üzerinden yapılan devir ise işi ya da denetimi başka bir ajana aktaran bir çağrı4 olarak, hedef ajanın adıyla ve devir başarısız olsa bile kaydediliyor. Kurallar henüz geliştirme aşamasında. - İzi sınırın öbür yanına taşı. Uzak bir ajana giden istek iz bağlamını standart başlıklarla taşır. A2A'nın kurumsal kullanım rehberi istemcinin ve sunucunun iz bağlamını W3C Trace Context başlıklarıyla taşımasını5 ve her iki tarafta görev kimliğini kaydetmesini öneriyor.
- Ham çıktıyı sakla, özeti ona bağla. Alt ajanın döndürdüğü ham sonuç devir kaydında durur. Ana ajanın rapora yazdığı her rakam ve iddia, onu üreten devire bağlanır. Kullanıcı bir cümleden onu getiren göreve tek tıkla iner.
- Bozuk halkayı tek başına çalıştır. İz devirleri ayırdığında hatalı görev düzeltilir ve yalnız o halka ile sonrası, önceki devirlerin kayıtlı çıktılarıyla yeniden çalışır.
Rapordaki şüpheli rakam böylece birkaç tıkta tek bir göreve ve o görevin eksik cümlesine iner.
Önce ve sonra
Aynı fiyat raporu, aynı soru. Soldaki izde yalnız ana ajanın sonucu ve toplam sayılar var, ajan işi baştan çalıştırmayı öneriyor. Sağdaki iz her devri görev metni ve sonucuyla gösteriyor. Hata arama ajanına verilen eksik görevde bulunuyor ve yalnız o halka yeniden çalıştırılıyor.
Kullanıcı bir ajandan rakip fiyat raporu istedi. Ana ajan işi arama ve fiyat ajanlarına böldü, raporda şüpheli bir karşılaştırma çıktı.
Ajan · rakip fiyat raporu
- Kullanıcı: Rapordaki “B firması bizden %40 ucuz” cümlesi nereden geliyor?
- Rapor tamamlandı (tamamlandı)3 alt ajan · 41 araç çağrısı · 6 dk
- AI: Fiyatları alt ajanlardan aldım. Bu rakamı hangi alt ajanın hangi kaynaktan getirdiğini şu an göremiyorum. İstersen raporu baştan hazırlayayım.
- Baştan çalıştır
- İzde yalnız ana ajanın raporu ve toplam sayılar var. Hangi alt ajana hangi görevin verildiği ve ne döndüğü kaydedilmemiş.
- Tek yol işi baştan çalıştırmak. Ajanlar aynı girdiyle her seferinde aynı yolu izlemediği için hata ikinci çalıştırmada görünmeyebilir de.
Ajan · rakip fiyat raporu
- Kullanıcı: Rapordaki “B firması bizden %40 ucuz” cümlesi nereden geliyor?
- Rapor ajanı → Arama ajanı · görev a-17 (tamamlandı)istenen: 3 rakibin kurumsal paket fiyat sayfası · tarih belirtilmedi
- Arama ajanı · B için eski fiyat sayfası döndü (başarısız)kaynak: b-firma.ornek/fiyat-2024 · sayfa tarihi Mart 2024
- Rapor ajanı → Fiyat ajanı · görev a-18 (tamamlandı)girdi: a-17'nin çıktısı · hesap doğru, veri eski
- AI: Hata Arama ajanına verdiğim görevde. Tarih belirtmediğim için B'nin 2024 fiyat sayfası geldi, Fiyat ajanı hesabı o sayfayla yaptı. Güncel sayfayla yalnız a-17 ve a-18'i yeniden çalıştırayım mı?
- Yalnız bu halkayı çalıştırTam izi aç
- Her devir ayrı bir satır. Hangi ajanın kime hangi görevi verdiği, görevin metni ve dönen sonuç görünüyor, satırlar aynı iz kimliğine bağlı.
- Hata alt ajanda görünse de kaynağı devirdeki eksik talimat. İz bunu gösterdiği için yalnız bozuk halka ve ondan sonrası yeniden çalışıyor.
Örnek ekran. Ürün, ad ve sayılar kurgusal.
Piyasada
OpenAI'ın Agents SDK'sında izleme varsayılan olarak açık ve bir çalıştırmadaki model üretimlerini, araç çağrılarını ve devirleri6 kaydediyor. Devirler ayrı bir aralık türüyle tutuluyor, her izin kimliği, her aralığın da bağlı olduğu iz ve üst aralık kimliği var. Aynı konuşmadan doğan birden çok iz isteğe bağlı bir grup kimliğiyle birbirine bağlanabiliyor. Belge bir sınırı da yazıyor: OpenAI'ın sıfır veri saklama politikasıyla çalışan kuruluşlar bu izlemeyi kullanamıyor.
A2A protokolünde her görev, sunucunun ürettiği ve başka hiçbir görevle çakışmayan bir görev kimliği2 alıyor. İlgili görevler bir bağlam kimliği altında toplanıyor, yeni bir mesaj önceki görevlere açıkça başvurabiliyor.
Anthropic çok ajanlı araştırma özelliğinde üretimdeki her çalıştırmayı uçtan uca izlemeye başladıktan sonra1 ajanların neden başarısız olduğunu bulup sorunları sistemli biçimde düzeltebildiğini yazıyor. Şirket ajanların karar örüntülerini ve etkileşim yapılarını izliyor, tek tek konuşmaların içeriğini izlemeden.
Kanıt
Zhang ve arkadaşları 2025'te bu sorunu doğrudan ölçtü. Hatanın hangi ajandan ve hangi adımdan çıktığını bulmayı “hata atfı” diye adlandırdılar ve 127 çok ajanlı sistemin hata kayıtlarını7 hatanın kaynağı olan ajan ve adımla tek tek işaretlediler. Bu kayıtlar üstünde denenen otomatik yöntemlerin en iyisi, hatadan sorumlu ajanı vakaların %53,5'inde7 buldu, hatanın doğduğu adımı ise yalnız %14,2'sinde7. Bazı yöntemler rastgele tahminin altında kaldı. Yazarlar elle yapılan atfın emek yoğun olduğunu da yazıyor.
Cemri ve arkadaşları aynı yıl çok ajanlı sistemlerin neden başarısız olduğunu sınıflandırdı. Taksonomiyi her biri ortalama 15.000 satırı aşan 150'den fazla çalıştırma dökümünü3 okuyarak kurdular ve 14 hata biçimini 3 kategoride3 topladılar. Kategorilerden biri ajanlar arasındaki uyumsuzluk: bilginin bir ajandan ötekine geçerken kopması. Yazarlara göre bu hataların tanısı zor, çünkü eksik bilgi gibi aynı görünen bir belirti farklı kök nedenlerden doğabiliyor. Tam çalıştırma dökümü vermeyen kapalı platformları ise ayrıntılı incelemeye hiç alamadılar.
Bu ölçümler araştırma ortamlarında ve test görevlerinde yapıldı, senin ürünündeki oranı söylemez. Gösterdikleri yön açık: kayıt elde olsa bile hatanın yerini bulmak zor, kayıt yoksa ayrıntılı inceleme hiç yapılamıyor.
Ölçüm
- Kök nedeni bulunan hata. Çok ajanlı işlerde bildirilen hataların kaçında sorumlu devir izden bulundu? Desen yerindeyse bildirilen hataların çoğu tek bir devire bağlanır.
- Yetim kayıt. Üst çağrısı ya da iz kimliği olmayan alt ajan kaydı sayısı. Hedef sıfır.
- Görev metni boş devir. Kaydında alt ajana giden görevin tam metni bulunmayan devirler. Hedef sıfır.
- Sınırda kopan iz. Uzak ajanlara giden çağrıların kaçında iz bağlamı taşındı ve karşı taraftan bir görev kimliği döndü.
- Yeniden çalıştırma kapsamı. Bir hata düzeltilirken bütün zincirin mi, yalnız bozuk halkanın mı yeniden çalıştırıldığı. Bütün zincir sık çalışıyorsa iz devirleri ayırmıyor.
Ajanına ver
Üç metin var. Denetim promptu sistemindeki her devri bulur, ne kaydedildiğini, iz kimliğinin taşınıp taşınmadığını ve rapordaki iddialardan devirlere bir bağ olup olmadığını raporlar, hiçbir dosyayı değiştirmez. Uygulama promptu deseni koda geçirir. Önce planı gösterir, onayınla devir kaydını tek bir şemada toplar, iz kimliğini sınırların öbür yanına taşır ve bir alt ajana bilerek eksik görev veren bir test ekler. Kural kodlama ajanının kendisi için: senin için alt ajan kullanan bir sistem yazarken her devri kaydetmeyi unutmasın.
Bu depoda bir AI ajanının işi başka ajanlara devrettiği bir sistem var: alt ajan çağıran bir ana ajan, ajanların birbirine iş verdiği bir akış ya da başka bir servisteki ajana A2A, MCP ya da HTTP ile giden çağrılar. Görevin, bir ajanın başka ajana verdiği işin sonradan izlenip izlenemediğini denetlemek. Hiçbir dosyayı değiştirme, yalnız rapor yaz.
1. Bir ajanın başka bir ajanı çağırdığı ya da işi ona devrettiği her yeri bul: alt ajan oluşturma, handoff, başka bir ajanı araç olarak çağırma, kuyruğa iş bırakma, uzak ajan çağrıları.
2. Her devir için ne kaydediliyor: çağıran ve çağrılan ajanın adı ve kimliği, alt ajana giden görevin tam metni, verilen bağlam ve araç listesi, dönen ham sonuç, süre, hata? Eksik alanları yaz.
3. Bütün devirler tek bir iz kimliğine bağlanıyor mu? Her kayıt üst çağrısının kimliğini taşıyor mu? Üst çağrısı olmayan yetim kayıtlar oluşabiliyor mu?
4. İz servis ve süreç sınırını geçiyor mu? Uzak ajana giden isteklerde iz bağlamı (örnek: W3C traceparent başlığı) taşınıyor mu, karşı taraftan dönen görev kimliği kaydediliyor mu?
5. Ana ajan alt ajanın sonucunu kullanıcıya giden rapora koyarken kaynağı koruyor mu? Rapordaki bir iddiadan onu üreten devire ve ham çıktıya giden bir bağ var mı?
6. Hatalı bir devirden sonra yalnız o halkayı ve sonrasını yeniden çalıştırmak mümkün mü, yoksa her şey baştan mı çalışıyor?
7. İzler nerede, ne kadar süre saklanıyor ve kimler okuyabiliyor? Görev metinlerinde ve çıktılarda kişisel veri ya da gizli değer maskeleniyor mu?
Rapor biçimi: önce bugünkü devirlerin kısa bir haritası (hangi ajan hangisini çağırıyor). Sonra her devir için bir satır: dosya ve satır, kaydedilen ve eksik alanlar, iz kimliğinin taşınıp taşınmadığı, rapordan bu devire bir bağ olup olmadığı. Kaydı hiç olmayan devirlerden ve servis sınırında kopan izlerden başla.
Bu depodaki çok ajanlı sisteme "ajanın başka ajana verdiği işi izlenebilir kıl" desenini uygula. Önce planı göster, onayımı aldıktan sonra kodu değiştir.
Hedef davranış:
1. Kullanıcının her isteği bir iz kimliği alır. Her alt ajan çağrısı bu kimliği ve kendi üst çağrısının kimliğini taşır.
2. Her devir ayrı bir kayıt üretir: çağıran ajan, çağrılan ajan, görevin tam metni, verilen bağlam ve araçlar, dönen ham sonuç, süre, durum ve hata. Kaydı model değil, devri yapan kod yazar.
3. Devirler izde sıradan araç çağrılarından ayrı işaretlenir. OpenTelemetry kullanılıyorsa üretken AI kurallarındaki invoke_agent aralıklarını ve devir alanlarını kullan.
4. Uzak bir ajana giden istekler iz bağlamını standart başlıklarla taşır, karşı taraftan dönen görev kimliği kayda yazılır.
5. Ana ajanın kullanıcıya verdiği rapordaki her iddia, onu üreten devire ve ham çıktıya bağlanır. Arayüzde iddiadan devire tek tıkla inilir.
6. Bir devirden sonraki adımlar, önceki devirlerin kayıtlı çıktılarıyla yeniden çalıştırılabilir.
7. Görev metinlerinde ve çıktılarda kişisel veri ve gizli değerler maskelenir, izlerin saklama süresi tanımlıdır.
Uygularken:
- Çerçeve izleme sunuyorsa (ör. OpenAI Agents SDK, OpenTelemetry) aynı izi kullan, ikinci bir kayıt sistemi kurma.
- Devir kaydının şemasını tek yerde tanımla, her devir noktası onu kullansın.
- Testler ekle: (a) üç alt ajanlı sahte bir iş çalıştır, her devrin görev metni, sonucu ve üst kimliğiyle kaydedildiğini doğrula. (b) bir alt ajana bilerek eksik bir görev ver ve rapordaki hatalı iddiadan o devire inilebildiğini doğrula. (c) uzak ajana giden isteğin iz bağlamını taşıdığını doğrula.
## Ajanın başka ajana verdiği işi izlenebilir kıl
- Bir ajanın başka bir ajana iş verdiği her yerde devri kaydet: kim, kime, hangi görev metniyle, ne döndü.
- Bütün devirleri tek bir iz kimliğine ve üst çağrının kimliğine bağla.
- Alt ajanın ham çıktısını sakla, ana ajanın özetini ona bağla.
- Uzak ajana giden istekte iz bağlamını taşı, dönen görev kimliğini kaydet.
- Görev metnini ve çıktıyı kaydederken kişisel veriyi ve gizli değerleri maskele.
Sınır
İşi başka ajana devretmeyen tek bir ajan için bu desen gerekmez. Orada her eylemi nedeni ve sonucuyla kaydeden eylem izi yeter.
İz hassas veri taşır. Görev metinleri ve alt ajan çıktıları kişisel veri ve gizli değer içerebilir. OpenAI'ın Agents SDK'sı model ve araç girdilerini ve çıktılarını izde varsayılan olarak tutuyor ve bunun kapatılabileceğini yazıyor. Neyi tutacağına, ne kadar saklayacağına ve kimin okuyacağına baştan karar ver.
Karşı tarafın içini göremeyebilirsin. Başka bir şirketin ajanına iş veriyorsan ondan yalnız bir görev kimliği ve sonuç alırsın. O zaman kendi tarafında gönderdiğin görevi ve gelen cevabı eksiksiz tut. Hata o halkadaysa en azından halkayı bulursun.
İz hatayı kendiliğinden bulmaz. Hata atfı çalışmasında yöntemlerin elinde ayrıntılı hata kayıtları vardı, en iyisi yine de hatanın doğduğu adımı çoğu zaman bulamadı. İz, aramayı bütün zincirden tek bir halkaya indirir. O halkada ne olduğuna bir insan bakar.