Çok ajanlı iş bölümü kurmak
Çok ajanlı yapıya, tek ajan üç sınırdan birine çarptığında geçilir: araç listesi seçim hatası üretecek kadar kabarıksa, iş kolları farklı yetki sınırları gerektiriyorsa ya da alt görevler birbirini beklemeden yürüyebiliyorsa. Bölmeye karar verdiğinizde her devir için yazılı bir sözleşme tanımlayın — girdi şeması, çıktı şeması, bitiş koşulu ve azami tur sayısı; sözleşmesiz devir, döngünün ve öngörülemeyen maliyetin bilinen kaynağıdır. Üç koşuldan hiçbiri yoksa tek ajanı derinleştirmek hem ucuz hem ölçülebilir kalır.
ÖNKOŞULLAR
- Tek ajanla çalışan ve izleri kaydedilen bir akış
- Araç şemalarının ve her aracın yetki kapsamının yazılı olduğu bir liste
- Beklenen son durumu makine tarafından kontrol edilebilen 20 gerçek görev
- Yan etkileri geri alınabilen, üretimden yalıtılmış bir test ortamı
GEREKEN ARAÇLAR
- Devir, tur sayacı ve bütçe sınırı uygulayabilen bir ajan çalıştırıcı
- İz kaydı altyapısı (araç çağrıları ve devir kenarları dâhil)
- Kimlik ve kapsam yönetimi; ajan başına ayrı servis hesabı
- Şemalı görev kaydını tutacak bir durum deposu
- Değerlendirme koşusu için sahte araçlar ve test ortamı
- 01
Bölme gerekçesini yaz
Tek ajanın hangi sınıra çarptığını tek cümleyle yazın: araç kalabalığı, ayrı yetki sınırı veya gerçek paralellik. Üçü de yoksa bölmeyin.
Çok ajanlı mimariye geçiş bir tasarım tercihi değil, bir sınır aşımının sonucudur. Önce tek ajanın nerede tıkandığını yazın: hangi görevde, hangi adımda, hangi belirtiyle. Gerekçesi yazılamayan bölme, sistemi yalnızca daha pahalı ve hata ayıklaması daha zor hâle getiriyor.
Belirti Bölmek çözer mi? Önce denenecek Araç listesi uzadıkça yanlış araç seçiliyor Evet — araçları ajanlara dağıtın Araç açıklamalarına seçim ölçütü yazmak Tek görevde farklı yetki sınırları gerekiyor Evet — yetki sınırı ajan sınırı olur Görev bazında yetki anahtarlama Alt görevler birbirinin çıktısını beklemiyor Evet — paralel yürütme kazanç sağlar Tek ajanda toplu araç çağrısı Cevap kalitesi düşük Hayır Geri getirmeyi ve istemi ayrı ölçmek Uzun oturumda kurallar unutuluyor Genellikle hayır Kısıtı araç katmanında zorlamak İlk üç satır bölmeyi gerekçelendirir; son ikisi bölündüğünde çoğu kez daha da kötüleşir. - 02
Topolojiyi seç
Sıralı boru hattı, yönetici-işçi ve eşler arası desenlerden birini seçin; kararı görevlerin bağımlılık grafiğine bakarak verin, alışkanlığa göre değil.
Topoloji kararı görevlerin bağımlılık grafiğinden çıkar. Adımlar birbirini sırayla besliyorsa boru hattı; merkezî bir karar verici alt görevleri dağıtıp sonucu birleştiriyorsa yönetici-işçi; ajanlar birbirini serbestçe çağırıyorsa eşler arası desen. Üçüncüsü en esnek olanıdır; davranışını önceden kestirmek de en zor onda.
Desen Uygun olduğu durum Ana risk Sıralı boru hattı Adımlar sabit ve sırası belli Erken adımın hatası sona kadar taşınır Yönetici-işçi Alt görevler bağımsız, sonuç birleştirilecek Yönetici hem darboğaz hem tek hata noktası Eşler arası Görev akışı önceden bilinmiyor Döngü ve öngörülemeyen maliyet Tek ajan, çok araç Araç sayısı hâlâ yönetilebilir Araç seçim hatası Üretimde en sık işe yarayan iki desen boru hattı ve yönetici-işçi; eşler arası deseni ancak ölçüm ve bütçe koruması hazırken açın. Doğrulama adımı: seçtiğiniz deseni kutu-ok çizimiyle tek sayfaya sığdırın. Sığmıyorsa sorun desende değil, henüz netleşmemiş bir görev tanımındadır.
- 03
Devir sözleşmesini şemalaştır
Her devir için girdi şeması, çıktı şeması, hata biçimi ve bitiş koşulunu yazın; serbest metinle devir yapan bir sistem hata ayıklanamaz.
Ajanlar arasındaki devir, iki servis arasındaki çağrı gibi ele alınmalı. Serbest metinle devir yapan sistemlerde hata ayıklama, iki modelin birbirini nasıl anladığını tahmin etmeye dönüşüyor; şema ise anlaşmazlığı çağrı anında görünür kılıyor.
yaml devir: arastirmaci -> yazar girdi: gorev_kimligi: string soru: string kapsam: { kaynak_turu: [belge, kayit], azami_kaynak: 8 } cikti: bulgular: [{ iddia: string, kaynak_kimligi: string }] eksik_kalan: [string] guven: [yuksek, orta, dusuk] bitis_kosulu: "bulgular >= 3 veya eksik_kalan yazildi" azami_tur: 2 hata_bicimi: { kod: string, aciklama: string, devam_edilebilir: bool }- Çıktı şemasında "eksik kalan" alanı bulunsun: ajanın bilmediğini söyleyebileceği bir yer yoksa uydurmaya yöneliyor.
- Bitiş koşulu ölçülebilir olsun; "yeterince araştırınca" bir koşul değildir.
- Hata biçiminde "devam edilebilir mi" alanı olsun; çağıran ajan yeniden deneme kararını buna baksın.
- Kaynak kimliğini devirde taşıyın; sonraki ajan iddiayı kaynağa bağlayamazsa kaynak zinciri kopar.
- 04
Her ajanın yetkisini kendi işine daralt
Araçları ajan başına dağıtın ve servis hesaplarını ayırın; her ajan yalnızca kendi adımının gerektirdiği araca erişsin.
Çok ajanlı yapının en somut güvenlik kazancı, yetkinin doğal biçimde bölünebilmesidir: araştırmacı ajanın yazma yetkisi, yazar ajanın dış ağ erişimi olmak zorunda değil. Bu kazancı elde etmek için yetkiler ajan başına ayrı verilmeli; ortak bir servis hesabı kazancın tamamını geri alıyor.
- 01Her ajanın araç listesini yalnızca kendi adımından türetin.
- 02Servis hesaplarını ajan başına ayırın; iz kayıtlarında kimin ne yaptığı ancak böyle ayrışır.
- 03Yetki denetimini araç fonksiyonunun içinde, sunucu tarafında uygulayın.
- 04Dış içerik okuyan ajana yıkıcı araç vermeyin; okuma ve yazma farklı ajanlara düşsün.
- 05
Paylaşılan durumu tek kayıtta topla
Ajanlar birbirine tam konuşma geçmişini değil şemalı bir görev kaydının alanlarını devretsin; bağlam şişmesi çok ajanlı sistemlerin ilk maliyet kalemidir.
Ajanlar birbirine tam konuşma geçmişini devrettiğinde her devrin bağlamı bir öncekinin üstüne biner: devir başına taşınan bağlam devir sayısıyla doğrusal, görev başına toplam maliyet ise devir sayısının karesine yakın büyür — görev karmaşıklığı hiç değişmese bile. Bunun yerine ortak bir görev kaydı tutun: ajanlar bu kaydın belirli alanlarını okur ve yazar, geçmişin tamamını taşımaz.
Devredilen Sonucu Tercih Tam konuşma geçmişi Devir başına bağlam doğrusal, toplam maliyet karesine yakın büyür Kaçının Yalnızca son mesaj Kısıt ve gerekçe kaybolur Yetersiz Şemalı görev kaydı Bağlam kaydın boyutuyla sınırlı kalır, alanlar denetlenebilir Önerilen Görev kaydı + gerekli alıntılar Kaynak zinciri korunur Uzun akışlarda önerilen Görev kaydı aynı zamanda hata ayıklama yüzeyidir: hangi alanın hangi devirde bozulduğu görülür. Doğrulama adımı: bir görevi koşturup her devirde taşınan bağlamın token sayısını ayrı ayrı yazın. Doğru kurulumda bu sayı devir sırasından bağımsızdır; kaydın boyutunun belirlediği bir tavanda kalır. Sayı devirden devire büyüyor ve tavana oturmuyorsa alan değil geçmiş devrediyorsunuz demektir.
- 06
Döngü ve bütçe korumasını kur
Azami devir, azami araç çağrısı, süre ve maliyet üst sınırı koyun; aynı devir imzası ikinci kez görülürse akışı durdurup insana devredin.
Çok ajanlı sistemlerin karakteristik arızası karşılıklı devir döngüsüdür: iki ajan görevi birbirine geri verir, her turda bir şey yapılmış gibi görünür ve akış kendiliğinden durmaz. Koruma modelden değil çalıştırıcı katmandan gelmeli.
- Azami devir sayısı: akış başına sabit bir üst sınır koyun.
- Tekrar algısı: aynı ajan çiftinde aynı girdinin ikinci kez görülmesi akışı durdursun.
- Bütçe: görev başına azami araç çağrısı, azami token ve azami süre tanımlayın.
- Durdurma davranışı: sınır aşıldığında sessizce kesmeyin; kısmi sonucu ve nedenini insana devredin.
python def devret(kayit, hedef_ajan, sinirlar): imza = (kayit.kimlik, hedef_ajan, kayit.ozet_saglama) if imza in kayit.gorulen_devirler: return durdur(kayit, neden="tekrar_eden_devir") if kayit.devir_sayisi >= sinirlar.azami_devir: return durdur(kayit, neden="devir_siniri") if kayit.harcanan_token >= sinirlar.azami_token: return durdur(kayit, neden="butce") kayit.gorulen_devirler.add(imza) kayit.devir_sayisi += 1 return calistir(hedef_ajan, kayit) - 07
İzleri tek korelasyon kimliğiyle bağla
Tüm ajan adımlarını, araç çağrılarını ve devir kenarlarını tek bir görev kimliğiyle kaydedin; sapmanın hangi devirde başladığı ancak böyle görülür.
Tek ajanlı bir akışta izler zaten sıralıdır. Çok ajanlı akışta ise aynı görev birkaç süreç, birkaç servis hesabı ve birkaç model çağrısına yayılır; görev kimliği tüm bu adımlara taşınmazsa bir başarısızlığın nerede başladığı yalnızca tahmin edilebilir.
- Görev kimliği: tüm adımlarda değişmeden taşınır.
- Devir kenarı: kaynak ajan, hedef ajan, tur numarası.
- Araç çağrısı: ad, parametre özeti, sonuç durumu, süre.
- Karar noktası: hangi ajan neden devretti, bitiş koşulu sağlandı mı.
- Sonlanma: başarı, sınır aşımı veya hata; nedeniyle birlikte.
Doğrulama adımı: rastgele bir başarısız görevi seçin ve yalnızca izlere bakarak neyin yanlış gittiğini anlatmayı deneyin. Anlatamıyorsanız eksik olan alan izlerdedir, modelde değil.
- 08
Tek ajan taban çizgisiyle karşılaştır
Aynı görev setini tek ajanla ve çok ajanlı kurulumla koşturun; kalite, adım verimliliği, gecikme, maliyet ve kararlılığı ayrı ayrı raporlayın.
Çok ajanlı kurulum, tek ajanlı taban çizgisini geçtiğini gösteremiyorsa taşıdığı karmaşıklığı hak etmiyor demektir. Karşılaştırma aynı görev setinde, aynı modelle ve yeterli tekrarla yapılmalı; tek koşuya bakmak kararsız akışlarda hiçbir bilgi vermiyor.
Eksen Nasıl okunur Görev tamamlama Beklenen son duruma ulaşma oranı Adım verimliliği Görev başına araç çağrısı ve devir sayısı Gecikme Uçtan uca süre; paralellik gerçekten kazandırdı mı Maliyet Tamamlanmış görev başına maliyet, denenen görev başına değil Kararlılık Aynı görevin tekrarları arasındaki sonuç değişkenliği Beş eksen ayrı raporlanır; tek bir skora indirmek kararı gizliyor.
SIK DÜŞÜLEN TUZAKLAR
Rol dağıtmayı mimari sanmak
Ajanlara "araştırmacı", "eleştirmen", "yazar" gibi roller vermek tek başına iş bölümü değildir. Yetki, girdi-çıktı şeması ve bitiş koşulu ayrılmadıkça aynı modeli üç kez çağırmış olursunuz: maliyet katlanır, kalite yerinde kalır.
Devri serbest metne bırakmak
Şemasız devirde bir ajanın "tamamlandı" dediği iş, diğerinin beklediği iş olmayabilir. Hata ancak sonuç yanlış çıktığında fark edilir ve izden geriye doğru okunamaz.
Bütçe korumasını modele yazmak
İsteme "en fazla üç kez dene" yazmak bir sınır değil bir ricadır. Sayaç çalıştırıcı katmanda tutulmuyorsa döngü durmaz.
Paralelliği bağımlı adımlara uygulamak
Birbirinin çıktısını bekleyen adımları eşzamanlı başlatmak gecikmeyi düşürmez; yarım veriyle çalışan bir ajan ve tekrarlanması gereken bir tur üretir.
Ortak servis hesabı kullanmak
Tüm ajanlar aynı kimlikle çalışırsa hem yetki bölünmesi kazancı kaybolur hem de iz kayıtlarında hangi ajanın hangi değişikliği yaptığı ayrıştırılamaz.
KONTROL LİSTESİ
- Bölme gerekçesi tek cümleyle yazıldı ve üç sınırdan birine dayanıyor
- Seçilen topoloji tek sayfalık bir şemaya sığıyor
- Her devir için girdi, çıktı, hata biçimi ve bitiş koşulu şemalı
- Her ajanın araç listesi ve servis hesabı ayrı
- Ajanlar tam geçmişi değil şemalı görev kaydını devrediyor
- Azami devir, bütçe ve tekrar algısı çalıştırıcı katmanda uygulanıyor
- Tüm adımlar tek bir görev kimliğiyle izlenebiliyor
- Tek ajan taban çizgisiyle karşılaştırma yapıldı ve beş eksen raporlandı
Maddelerin tamamı işaretlenmeden kurulum üretime alınmamalı.
Sık sorulan sorular
Kaç ajan kullanmalıyım?
Sayı bir hedef değil sonuçtur: her ajan yazılı bir gerekçeyle doğmalı. Pratikte iki veya üç ajanla başlayıp ölçmek, baştan beş ajanlı bir şema kurmaktan daha hızlı sonuç veriyor. Gerekçesiz eklenen her ajan devir yüzeyini ve hata olasılığını birlikte büyütüyor.
Çok ajanlı sistem tek ajandan daha mı pahalı?
Genellikle evet, çünkü her devir yeni bir bağlam ve yeni bir model çağrısı demek. Ama maliyeti belirleyen ajan sayısı değil devredilen bağlamın büyüklüğü; tam geçmiş yerine şemalı görev kaydı devreden kurulumlar farkı belirgin biçimde kapatıyor. Kararı tamamlanmış görev başına maliyetle verin.
Ajanlar birbirine ne göndermeli?
Konuşma geçmişini değil, sözleşmede tanımlı alanları: görev kimliği, bulgular, kaynak kimlikleri, eksik kalanlar ve güven seviyesi. Alıcı ajanın kendi işini yapmak için ihtiyaç duymadığı hiçbir alan devre girmemeli.
Ajanlar sonsuz döngüye girerse ne yapmalı?
Döngüyü istemle değil çalıştırıcıyla durdurun: azami devir sayısı, bütçe sınırı ve aynı devir imzasının tekrarını yakalayan bir kontrol. Akış durduğunda kısmi sonucu ve durma nedenini insana devredin; sessiz kesme, teşhis edilemeyen bir arızaya dönüşüyor.
Kaynaklar
- 01Sağlayıcı ajan çatısı ve araç çağrısı dokümantasyonları — Model ve altyapı sağlayıcıları · Dokümantasyon
- 02Sinaptik Research — çok ajanlı akış uygulama notları — Sinaptik Lab · Teknik rapor
BUILD
Bu rehberi kurumunuzda uygulayalım mı?
Aynı mimariyi kendi verinizle kurmak için discovery oturumundan üretime kadar birlikte ilerliyoruz.
