Ana içeriğe geç

Agent Orkestrasyonu Bir Süpervizör Değil, Bir Zamanlayıcı Gerektirir

Tek bir süpervizör sürüyü serileştirir ve gerçek darboğazı gizler: kabul kontrolü, kuyruklama ve önceliklendirme. Agent'lara süreçler gibi davranın, hata modları görünür hale gelir.

Durum LED'leri ve düzenli yönlendirilmiş kablolarla bir sunucu rafının yakın çekimi, yük altındaki bir kontrol düzlemini çağrıştırıyor

Süpervizör deseni bir tavana çarpar

Bir süpervizör agent'ı diyagramda zarif görünür. Bir planlayıcı bir hedef alır, onu alt görevlere böler ve her alt görevi bir worker'a yönlendirir. Worker'lar sonuçları döndürür, süpervizör bunları birleştirir ve sistem bir yanıt üretir. Üç veya dört worker için bu desen sorunsuzdur. Otuz eşzamanlı çalıştırma için ise, dağıtık bir kostüm giymiş tek iş parçacıklı bir yönlendiricidir.

Aynı anda iki şey bozulur. Birincisi serileştirme: her alt görev bir worker'a ulaşmadan önce tek bir akıl yürütme adımından geçer, bu yüzden süpervizörün gecikmesi bağımlılık grafiğindeki her atlamaya eklenir. İkincisi prompt büyümesi. N worker rolünü ayırt etmesi gereken bir süpervizör, bağlamında N açıklama, N araç şeması ve N yönlendirme örneği taşır. Yönlendirme doğruluğu bir dikkat problemidir ve aday kümesi büyüdükçe dikkat bozulur. Süpervizör yüksek sesle başarısız olmaz; önce marjinal durumları yanlış yönlendirmeye başlar, sonra yaygın olanları.

OS analojisinin gerçekte ne kazandırdığı

Analoji süsleme değildir. Bir süpervizör prompt'unun ifade edemeyeceği üç mekanizmayı adlandırır.

Kabul kontrolü. Bir çalıştırma başlamadan önce, dispatcher bütçenin, araç kotasının ve bağımlılık grafiğinin buna izin verip vermediğini kontrol eder. Ebeveyni tamamlanmamış bir çalıştırma kabul edilmez. Kiracısı için kalan token bütçesini aşacak bir çalıştırma kabul edilmez. Diğer çalıştırmalar tarafından zaten doyurulmuş bir araca ihtiyaç duyan bir çalıştırma kabul edilmez. Kabul kontrolü, aşırı yüklenmiş bir sistemi öngörülemez şekilde bozulan bir sistemden, tanımlı bir sınırda işi reddeden bir sisteme dönüştürür.

Önceliklendirme. Uzun ufuklu bir çalıştırma, çalışma durumunu kaybetmeden askıya alınabilir ve devam ettirilebilir olmalıdır. Bu, çalıştırmanın durumunun yalnızca bir süreç canlıyken var olan bir konuşma tamponunda yaşayamayacağı anlamına gelir. Somutlaştırılmalıdır: kısmi plan, tamamlanan adımlar, üretilen artefaktlar, halihazırda ödenmiş araç sonuçları. Önceliklendirme, kısa bir etkileşimli isteğin bir toplu analizin önüne geçmesini, toplu analizi çöpe atmadan sağlayan şeydir.

Close-up of a modern building facade with red steel beams in geometric patterns against a blue sky

Kiracılar arası adalet. Bir ekibin toplu işi başka bir ekibin etkileşimli agent'ını açlığa sürükleyebildiğinde, sorun artık akıl yürütme kalitesi değildir. Tahsistir. Kiracı başına kuyrukları ve tanımlı bir paylaşım politikası olan bir zamanlayıcı, açlığı ortaya çıkan bir kaza yerine bir politika kararı haline getirir.

Dürüst bir ödünleşim: bir zamanlayıcı, kendisi de işletilmesi gereken bir kontrol düzlemi ekler. Kuyruk durumu, kira süresi dolması ve önceliklendirme mantığı yeni hata modları getirir ve kötü ayarlanmış bir dispatcher, naif bir süpervizör altında sorunsuz tamamlanacak çalıştırmalara gecikme ekleyebilir. Zamanlayıcı, maliyetini yalnızca eşzamanlılık çekişmenin gerçek olduğu kadar yüksek olduğunda hak eder. Bu eşiğin altında, süpervizör daha basit ve daha ucuzdur.

Tasarım kuralları

Planlayıcıyı dispatcher'dan ayırın. Planlayıcı bir DAG yayar: düğümler agent adımlarıdır, kenarlar veri bağımlılıklarıdır ve her düğüm kaynak gereksinimlerini bildirir. Planlayıcı kaç worker olduğunu bilmez. Dispatcher kapasiteye, sıralamaya ve kabule sahiptir. Bu ayrım, yönlendirme kalitesi ile zamanlama kalitesinin tek bir prompt içinde birbirine karşı takas edilmek yerine bağımsız olarak iyileştirilmesini sağlayan şeydir.

plan -> DAG { node: { role, inputs, tools, budget } }
            |
            v
dispatcher: admit(node) if deps_done && budget_ok && quota_ok
            enqueue(node) by priority and tenant share
            lease(node) -> worker
            on timeout or preempt: release lease, persist state

Her agent adımını idempotent yapın. Önceliklendirilebilen ve yeniden denenebilen bir adım, aynı girdilerle yeniden yürütüldüğünde aynı sonucu üretmeli ya da etkisinin zaten gerçekleştiğini tespit edebilmelidir. İdempotency, önceliklendirmeyi dikkatli işleme yoluyla güvenli olmaktan çıkarıp inşa yoluyla güvenli kılan şeydir. Yan etkisi olan araç çağrıları, duvar Power lines and electrical insulators against a vivid blue sky, stock photoahtarına ihtiyaç duyar.

Circuit board macro

Kuyruk derinliğini ve bekleme süresini birinci sınıf telemetri olarak açığa çıkarın. Kuyruk durumunun göründüğü tek yer bir log satırıysa, operatörler yavaş bir modeli doygun bir dispatcher'dan ayırt edemez. Kuyruk derinliği, bekleme süresi, kabul redleri ve önceliklendirme sayıları, token kullanımı ve hata oranlarıyla aynı panoya aittir.

Çalışma durumunu adım sınırlarında kalıcı hale getirin. Askıya alma birimi çalıştırma değil, adımdır. Yedi adımdan dördünü tamamlamış bir çalıştırma, bir ile dördüncü adımlar için yeniden ödeme yapmadan beşinci adımdan devam ettirilebilmelidir.

Ne ölçülmeli

Kuyrukta geçen süre ile akıl yürütmede geçen süre, ayrı ayrı izlenmeli. Bunlar farklı düzeltmeleri olan farklı problemlerdir. Artan akıl yürütme süresi model veya prompt değişikliklerine işaret eder; artan kuyruk süresi kapasite veya kabul politikasına işaret eder. Bunları tek bir uçtan uca gecikme sayısında toplamak, hangisinin hareket ettiğini gizler.

Sabit bir iş yükü altında önceliklendirme oranı ve devam ettirme sadakati. Sabit bir çalıştırma kümesini yeniden oynatın, adım sınırlarında önceliklendirmeleri zorlayın ve devam ettirilen çalıştırmaların kesintisiz olanlarla aynı nihai artefaktları ürettiğini kontrol edin. Devam ettirme sadakati, zamanlayıcı için doğruluk testidir.

Çerçevelemedeki kayma

Süpervizör merkezli orkestrasyon, sürüyü bir akıl yürütme problemi olarak ele alır ve akıl yürütmenin ölçekleneceğini umar. Zamanlayıcı merkezli orkestrasyon ise onu bir kaynak problemi olarak ele alır ve akıl yürütme birimlerini bağımsız, devam ettirilebilir ve hesap verebilir kılar. İlk çerçeveleme, demolar'da çalışan ve üretimde tıkanan sistemler üretir. İkincisi, hata modları okunabilir olan sistemler üretir: bir çalıştırma bekliyor ve nedeni kuyruk durumunda.

İş ortadan kaybolmaz. Prompt mühendisliğinden kontrol düzlemi mühendisliğine taşınır; eşzamanlılık kısıt olduğunda ait olduğu yer de burasıdır.

İlgili okumalar

Bunun yanıtladığı sorular

When does a supervisor pattern stop being sufficient?

When concurrency is high enough that contention is real: many concurrent runs, shared tool quotas, or multiple tenants competing for the same capacity. Below that threshold a supervisor is simpler and adds less operational overhead.

What does preemption require from an agent step?

Idempotency and persisted state at step boundaries. A step must be safe to re-execute with the same inputs, and a partially completed run must be resumable from the last completed step without re-paying for earlier work.

Why separate time-in-queue from time-in-reasoning?

They have different causes and different fixes. Reasoning time responds to model and prompt changes; queue time responds to capacity and admission policy. A single end-to-end latency number hides which one changed.

Is a scheduler always worth the added control plane?

No. A dispatcher introduces lease expiry, queue state and preemption logic that must be operated. It pays off when contention is the dominant failure mode, not before.