Ana içeriğe geç

Genelkurmay Başkanı Deseni: Ajanları Ne Zaman Orkestre Etmeli, Ne Zaman Sadece Betik Yazmalı

Çok ajanlı orkestrasyon yalnızca alt görevler farklı bağlam, farklı araçlar veya bağımsız doğrulama gerektirdiğinde karşılığını verir. Aksi halde daha yavaş bir fonksiyon çağrısıdır.

Beyaz arka plan üzerinde uzanan robotik bir elin minimalist görüntüsü.

Varsayılan olarak sürülere yönelmenin sakıncaları

Ajan mühendisliğinde yaygın bir başarısızlık modu, bir fonksiyona uzanmadan önce bir sürüye uzanmaktır. Bir görev rollere ayrılır, bir süpervizör eklenir ve sistem "ajanik" ilan edilir. Aslında inşa edilen şey, döngüde bir dil modeli bulunan dağıtık bir sistemdir ve maliyetler, dağıtımın bilinen maliyetleri artı deterministik olmamanın bilinmeyen maliyetleridir.

Her ek ajan bir devir teslim getirir. Her devir teslimde, üreten ajan durumunu metne serileştirir ve tüketen ajan bunu tekrar bağlama geri çözer. Bu gidiş-dönüş kayıplıdır. Güven skoru, kaynak referansı ve kısmi başarısızlık bayrağı içeren yapılandırılmış bir sonuç, düzyazıda bu üçünü de atlayan bir cümleye dönüşür. Kayıp rastgele değildir; tam olarak aşağı akış ajanının devam etme, yeniden deneme veya yükseltme kararını vermek için ihtiyaç duyduğu bilgiyle ilişkilidir.

Koordinasyon yükü de ayrıştırmanın sağladığı tasarruftan daha hızlı büyür. Bir görev T birim iş alıyorsa ve n alt göreve ayrılıyorsa, ideal tasarruf kabaca T/n'dir. Koordinasyon maliyeti T/n değildir; her biri bir prompt, bir model çağrısı, bir ayrıştırma ve bir doğrulama gerektiren devir teslimlerin toplamıdır. Pratikte, alt görevlerin gerçekten bağımsız olduğu noktadan sonra ajan eklemek, yerini aldığı tek çağrıdan daha yavaş, daha pahalı ve hata ayıklaması daha zor bir sistem üretir.

En derin sorun test edilebilirliktir. Deterministik kod birim testine tabi tutulabilir. Tipli bir girdi alıp tipli bir çıktı döndüren bir fonksiyonun, üzerine iddia yazabileceğiniz bir sözleşmesi vardır. Bir orkestratör prompt'unun yoktur. Çıktılarını bir veri kümesi üzerinde değerlendirebilirsiniz ve değerlendirmelisiniz, ancak orkestratör model sürümleri arasında yönlendirme politikasını sessizce değiştirdiğinde başarısız olan bir test yazamazsınız. Prompt, derleyicisi olmayan bir dilde ifade edilmiş bir spesifikasyondur.

Bu, çok ajanlı sistemlere karşı bir argüman değildir. Onları varsayılan olarak ele almaya karşı bir argümandır. Claude Code oturumlarını orkestre etme üzerine bu yazıda tanımlandığı şekliyle genelkurmay başkanı deseni, tam da bir koordinasyon katmanının varlığını haklı çıkardığı koşulları adlandırdığı için faydalıdır.

Orkestrasyonu haklı çıkaran sinyaller

Pratikte üç sinyal, bir orkestratöre ihtiyaç duyan görevi bir betiğe ihtiyaç duyandan ayırır.

Ayrık araç kümeleri veya ayrık bağlamlar

Alt görev A bir kod tabanına okuma erişimi gerektiriyorsa ve alt görev B bir dağıtım hedefine yazma erişimi gerektiriyorsa, farklı araç kümelerine ihtiyaçları vardır. Her iki aracı da elinde tutan tek bir ajana her ikisi için de güvenilmesi gerekir ve bağlamı her ikisinin şemalarını, kimlik bilgilerini ve başarısızlık modlarını taşımalıdır. Bunları ayırmak, her ajanın bağlamının daha küçük ve yetkisinin daha dar olması anlamına gelir. Aynı argüman bağlam pencereleri için de geçerlidir: bir alt görevin ham maddesi pencerenin çoğunu tüketecekse ve bir diğerininki geri kalanını tüketecekse, tek bir ajan kısaltacak veya özetleyecektir ve bilgi kaybı tam da özetlemede yaşanır.

Detail view of an aircraft's sophisticated control panel with instruments and switches.

Gerçek bağımsızlık

İkinci bir ajan, birincinin yeniden ifadesi değil de gerçekten bağımsız olduğunda maliyetine değer. Bağımsızlık, birinci ajanın bağlamını, varsayımlarını veya başarısızlık modlarını paylaşmaması anlamına gelir. Aynı bağlamı ve aynı akıl yürütmeyi okuyan bir doğrulayıcı, aynı token'lar üzerinde aynı dağılımı çalıştırdığı için üreticiyle aynı fikirde olma eğiliminde olacaktır. Yalnızca eseri okuyan ve onu kontrol etmek için kendi araçlarına sahip olan bir doğrulayıcı ise farklı düşünebilir. Değerli olan bu anlaşmazlıktır.

Uzun ufuklu görevler

Bazı görevler, tek bir bağlamın tutamayacağı kadar uzun ufukludur. Yüzlerce dosyaya dokunan bir geçiş, saatler boyunca kaynak biriktiren bir araştırma görevi, birden fazla sistemi kapsayan bir olay müdahalesi: bunlar bir pencerenin tutabileceğini aşar ve başarısızlık modu yanlış cevap değil, unutulmuş cevaptır. Burada orkestratörün işi görev hakkında akıl yürütmek değil, neyin yapıldığı ve neyin kaldığına dair defteri yönetmektir.

Bu üç sinyalden hiçbiri mevcut değilse, dürüst mühendislik cevabı bir betiktir. Tek bir modeli çağıran, çıktıyı bir şemaya göre doğrulayan ve başarısızlıkta yeniden deneyen bir betik test edilebilir, gözlemlenebilir ve ucuzdur. Ayrıca çoğu durumda daha hızlıdır.

Deseni uygulamak

Orkestrasyon haklı olduğunda, uygulama detayları işe yarayıp yaramayacağını belirler. Çerçeve seçiminden daha önemli üç mekanizma vardır.

Tek bir yetkili görev defteri

Ajanlar birbirlerine düzyazı özetleri geçirmek yerine tek bir paylaşılan defteri okumalı ve yazmalıdır. Defter, neyin denendiği, neyin başarılı olduğu ve neyin engellendiği konusunda tek doğruluk kaynağıdır. Her giriş bir kayıttır: görev tanımlayıcısı, durum, girdiler, çıktılar ve varsa hata. Ajanlar görevleri üstlenir, durumu günceller ve sonuçları ekler. Orkestratör

Bu, olağan deseni tersine çevirir. Orkestratörün durumu kendi bağlamında tutup işçilere özetlemesi yerine, durum her bağlamın dışında yaşar ve talep üzerine okunur. Bir bağımlılığın başarılı olup olmadığını bilmesi gereken bir işçi, bir özete güvenmek yerine defteri okur. Orkestratörün bağlamı küçük kalır, ki amaç da budur.

Close-up of automated canning equipment in a brewery, highlighting the manufacturing process.

Tipli yükler olarak devir teslim sözleşmeleri

Bir devir teslim, düzyazı özeti değil, tipli bir yük olmalıdır. Şemayı bir kez tanımlayın, her iki tarafta doğrulayın ve uyuşmazlıkta yüksek sesle başarısız olun. Bir alt ajan sonucu için minimal bir sözleşme şöyle görünebilir:

{
  "task_id": "string",
  "status": "succeeded | failed | blocked",
  "artefacts": [{"path": "string", "hash": "string"}],
  "claims": [{"text": "string", "evidence": "string"}],
  "open_questions": ["string"]
}

Şema iki şey yapar. Üreten ajanı, yaptığı şey ile inandığı şey arasında ayrım yapmaya zorlar; bunlar farklı şeylerdir. Ve tüketen ajana istikrarlı bir arayüz verir, böylece üreticinin akıl yürütmesindeki bir değişiklik tüketicinin girdisini sessizce değiştirmez. Bir alan doldurulamıyorsa, ajan bunu söylemelidir ve blocked geçerli bir durumdur. Düzyazı özetleri tam da bu durumu gizler.

Devir teslim gecikmesini ve bilgi kaybını ölçümleyin

Devir teslim gecikmesi ölçülebilir: üreticinin tamamlanmasından tüketicinin başlamasına kadar geçen süre ve doğrulama ile yeniden denemelerde harcanan süre. Bilgi kaybını ölçümlemek daha zordur ama imkansız değildir. Üreticinin yaydığı şeyi tüketicinin üzerinde işlem yaptığı şeyle karşılaştırarak ölçümleyin. Üreticinin yükü üç açık soru içeriyorsa ve tüketicinin sonraki eylemi bunların hiçbirini ele almıyorsa, bu bir kayıptır ve günlüğe kaydedilmeye değer. Birçok çalıştırma boyunca bu kayıpların dağılımı, sözleşmelerin nerede çok ince olduğunu size söyler.

Her ikisini de görev başarı oranı ve görev başına maliyetin yanında birinci sınıf metrikler olarak ele alın. Doğru olan ancak devir teslimleri koordine ettikleri işten daha uzun süren bir orkestrasyon sistemi, tekrar bir betiğe indirgenmesi gereken bir sistemdir.

Dürüst ödünleşim

Genelkurmay başkanı deseni bedava değildir ve her zaman doğru değildir. Maliyetleri gerçektir: daha fazla hareketli parça, bakımı yapılacak daha fazla prompt, gözlemlenecek daha fazla başarısızlık modu ve tek bir bağlam yerine birden fazla bağlama yayılan bir hata ayıklama deneyimi. Faydaları da gerçektir, ancak koşulludur. Alt görevler farklı bağlam, farklı araçlar veya bağımsız doğrulama gerektirdiğinde ortaya çıkarlar ve gerektirmediklerinde büyük ölçüde kaybolurlar.

Pratik disiplin, betikle başlamaktır. Tek çağrıyı yazın, çıktısını doğrulayın, nerede başarısız olduğunu ölçün. Bağlam çok büyük olduğu için, araçlar çakıştığı için veya doğrulama bağımsız olmadığı için başarısız olduğunda orkestratörü ekleyin. Ondan önce değil. Desen, belirli bir kısıtlar kümesine bir yanıttır ve bu kısıtlar olmadan uygulamak, şeyin kendisi pahasına sofistikasyon görünümü üretir.

İlgili okumalar

Bunun yanıtladığı sorular

When should a task be handled by a single script instead of multiple agents?

When subtasks share the same context and tool set, when verification is not genuinely independent, and when the task fits in one context window. In those cases a single validated model call is testable, observable, and faster than a coordinated set of agents.

What is a handoff contract in a multi-agent system?

A handoff contract is a typed payload passed between agents, with a defined schema validated on both sides. It replaces prose summaries, which tend to omit confidence, evidence, and partial-failure information that downstream agents need.

How is information loss measured across agent handoffs?

By comparing what a producing agent emitted against what the consuming agent acted on. If open questions or artefacts in the payload are not addressed by the next action, that is a measurable loss, and its distribution over many runs shows where contracts are too thin.

Why can an orchestrator prompt be harder to maintain than code?

Deterministic code can be unit tested against a typed contract. An orchestrator prompt is a specification in a language with no compiler, so its routing policy can change silently between model versions without any test failing.