Promise.all, while ve if gibi normal JavaScript veya TypeScript kontrol akışlarını kullanın.
Graf DSL’si veya ayrı bir iş akışı biçimi yoktur. Düzenleme programın kendisidir. Swarm bu programa beklenebilir toplayıcı alt öğeler, yapılandırılmış sonuçlar, sınırlı eşzamanlılık ve ilerleme raporlaması ekler.
Swarm’ı etkinleştirme
Önerilen yol, Control UI içindeki Ayarlar → Laboratuvarlar → Swarm seçeneğidir. Anahtar hemen etkinleşir ve yapılandırmanızatools.swarm.enabled yazar.
Swarm’ı doğrudan openclaw.json içinde de etkinleştirebilirsiniz:
Sayısal değerler pozitif tam sayılar olmalıdır. OpenClaw,
maxConcurrent değerini 1–1000, maxChildrenPerGroup değerini 1–10000, maxTotalPerGroup değerini 1–100000 ve waitTimeoutSecondsMax değerini 1–86400 aralıklarıyla sınırlar.
Yapılandırılmış tek bir aracı için Swarm’ı agents.entries.*.tools.swarm ile geçersiz kılabilirsiniz. Aracıya özgü nesne, üst düzey tools.swarm nesnesinin üzerine birleştirilir.
Gereksinimler
agents.run, phase ve log konuk global değişkenleri hem Swarm’ı hem de OpenClaw Code Mode’u gerektirir:
sessions_spawn için etkin erişimi olmalıdır. Araç profilleri, izin verme/reddetme politikası, sağlayıcı kuralları ve korumalı alan politikası bu aracı kaldırabilir. Bir betik sessions_spawn kullanılamıyor şeklinde bildirimde bulunursa Code Mode etkinleştirmesi ve Alt aracılar bölümlerine bakın.
defaultAgentId ve çalıştırma başına agentId değerleri, istekte bulunanın subagents.allowAgents politikasının izin verdiği yapılandırılmış bir hedefi adlandırmalıdır. OpenClaw, başka bir aracıya geri dönmek yerine bilinmeyen veya izin verilmeyen bir hedefi reddeder.
Swarm betiği yazma
Swarm etkinleştirildiğinde Code Mode şu konuk API’sini kullanıma sunar:schema olmadan agents.run(), alt öğenin nihai metnine çözümlenir. JSON Schema ile alt öğenin structured_output aracı üzerinden gönderdiği değere çözümlenir. Başarısız olan, sonlandırılan, zaman aşımına uğrayan veya şemaya uymayan bir alt öğe, promise’i bir SwarmAgentError ile reddeder. Tam olarak oluşturulan bildirimleri ve kısa düzenleme kalıplarını Code Mode içindeki API.read("agents.d.ts") kaynağından okuyun.
Kontrol panelinde ve kenar çubuğunda tanınabilir bir alt öğe adı için label kullanın. Alt öğe başlamadan hemen önce bir aşama yayımlamak için seçeneklerde phase kullanın veya birkaç alt öğe aynı aşamaya aitse phase() çağrısını yapın. log() kısa bir ilerleme notu yayımlar. İlerleme çağrıları başlatılıp unutulur; kullanıcı arayüzü kullanılamıyorsa betiği geciktirmezler.
Yapılandırılmış sonuçlarla paralel dağıtma
Bu örnek, her konu için bir araştırmacı başlatır, hepsini bekler ve ardından son bir alt öğeden yapılandırılmış raporlarını sentezlemesini ister:Promise.all, dağıtma ve birleştirme sınırıdır. OpenClaw grup için en fazla maxConcurrent alt öğe başlatır ve kalanları gönderim sırasıyla kuyruğa alır.
Code Mode, eşzamanlı konuk köprüsü çağrılarını ayrıca tools.codeMode.maxPendingToolCalls ile sınırlar (varsayılan 16, azami 128). Çok büyük gruplarda, bu sınırın altında kalan sınırlı toplu işlemler başlatın ve phase(), log() ve alt öğe bekleme geçişleri için boşluk bırakın. maxConcurrent çalışan alt öğeleri sınırlar; konuk köprüsü çağrı sınırını yükseltmez.
Karar kapısında döngü oluşturma
Her geçişin başka bir geçiş gerekip gerekmediğine karar verdiği durumlarda sınırlı birwhile döngüsü kullanın:
maxTotalPerGroup nihai güvenlik önlemidir; açık bir durma koşulunun yerine geçmez.
İlk tamamlanan alt öğeyi işleme
agents.run() sıradan bir promise döndürdüğü için Promise.race ilk Code Mode alt öğesine tepki verebilir. Daha düşük düzeyli araçları çağıran test düzeneklerinde agents_wait aynı ilk tamamlanma sınırını sağlar: istenen çalıştırmalardan en az biri tamamlanır tamamlanmaz veya sınırlı zaman aşımı sona erdiğinde döner. Tam boşaltma döngüsü için Swarm’ı diğer test düzeneklerinden kullanma bölümüne bakın.
Toplayıcı alt öğelerin davranışı
Toplayıcı alt öğeler, farklı bir tamamlanma yoluna sahip sıradan ve yalıtılmış alt aracı oturumlarıdır. Ana oturuma yanıt duyurmak veya yönlendirmek yerine, üst öğenin beklemesi için kalıcı bir toplayıcı sonucu yazarlar. Hedef aracı şu sırayla çözümlenir:- Başlatma veya
agents.run()çağrısındakiagentId. tools.swarm.defaultAgentId.- İstekte bulunan aracı.
worker aracı kimliğiyle gelmez; bunu varsayılan olarak adlandırmadan önce yapılandırın. Bu çalışanı, başlatılabilmesi ancak kendi üst düzey oturumlarından swarm başlatamaması için aracıya özgü yapılandırmasında tools.swarm: false ile sıkılaştırın:
structured_output aracı ekler ve yükünü sağlanan JSON Schema’ya göre doğrular. Geçersiz veya eksik bir yük için bir düzeltme uyarısı verilir. Yeniden deneme de doğrulanmazsa toplayıcı tamamlanması alt öğenin ham metnini korur, structured değerini ayarlamadan bırakır ve schemaError içerir. Düşük düzeyli agents_wait sonucu, açık kurtarma mantığı için bu alanları kullanıma sunar.
Alt öğeler yapraktır
Swarm alt öğeleri varsayılan olarak yapraktır. Evrenselagents.defaults.subagents.maxSpawnDepth koruması, bir alt öğenin varsayılan 1 derinliğinde kendi alt öğelerini başlatmasını önler. Olağan düzenleme kalıbı, bir alt öğeden daha fazla çalışma başlatmak değil, çalışmayı üst öğeye döndürmektir:
agents.defaults.subagents.maxSpawnDepth üzerinden operatörün isteğe bağlı olarak etkinleştirdiği bir özelliktir ve Swarm için önerilmez. Grup sınırları, bütçeler ve gözlemlenebilirlik düz toplayıcı grupları varsayar.
Her alt öğenin bir kabul sahibi vardır. Duyuru ve etkileşimli alt öğeler agents.defaults.subagents.maxChildrenPerAgent (varsayılan 5) kullanır ve toplayıcı alt öğeleri saymaz. Toplayıcı alt öğeler yalnızca maxChildrenPerGroup ve maxTotalPerGroup kullanır; oturum başına alt öğe bütçesini tüketmezler. Başlatma derinliği koruması her iki mod için de geçerlidir.
Kabulden sonra maxConcurrent üzerindeki alt öğeler, global alt aracı şeridinin içinde kendi swarm grupları dâhilinde FIFO sırasıyla kuyruğa girer. Bu eşzamanlılık katmanları çalışmayı reddetmek yerine kuyruğa alır. Grup sınırlarından herhangi birini aşan bir toplayıcı başlatma işlemi, hatadaki ilgili yapılandırma anahtarıyla reddedilir.
Swarm’ı gözlemleme
Bir swarm etkinken üst oturumun kontrol panelini Control UI içinde açın. Swarm pencere öğesi, her etkin toplayıcı grubunu alt öğe başına bir nokta olarak; kuyrukta, çalışıyor, tamamlandı veya başarısız durumuyla görüntüler. Etiketler nokta araç ipuçlarında görünür; bu nedenle kısa ve kararlı etiketler daha büyük swarm’ların okunmasını kolaylaştırır. Oturum kenar çubuğu normal üst/alt öğe ağacını korur. Swarm hiyerarşisini kaybetmeden bir toplayıcı alt öğeyi incelemek veya dökümünü açmak için üst öğe satırını genişletin. Toplayıcı sonuçları, grupları arşivlenene kadar beklenebilir durumda kalır. Her üye saklama süresinin sonuna ulaştıktan sonra OpenClaw, tamamlanmış sürülerin canlı oturum ağacında kalmaması için grubun alt öğelerini toplu olarak arşivler.Swarm’ı diğer yürütme ortamlarından kullanma
Swarm’ı OpenClaw Code Mode olmadan kullanabilirsiniz. Temel araçları yürütme ortamından bağımsızdır: toplayıcı alt öğelerinisessions_spawn({ collect: true }) ile başlatın
ve sınırlı agents_wait çağrılarıyla sonuçlarını alın.
Codex Code Mode, uygun dinamik OpenClaw araçlarını otomatik olarak
tools.* altında kullanıma sunar. OpenClaw’ın QuickJS konuk API’sini
kullanmaz veya tools.codeMode gerektirmez; ancak tools.swarm yine de
etkinleştirilmiş olmalıdır. Codex yürütme ortamının agents_wait çağrıları
600 saniyelik zaman aşımının tamamını destekler.
Şu anda desteklenen Codex çalışma zamanında, dinamik OpenClaw araç sonuçları
Code Mode’a JSON metni olarak ulaşır. Alanları okumadan önce her sonucu ayrıştırın.
Codex ayrıca dinamik araç çağrılarını seri hâle getirir; bu nedenle
Promise.all, birden fazla sessions_spawn çağrısını eşzamanlı olarak
göndermez. Toplayıcıları sınırlı bir döngüde başlatın; daha sonraki başlatmalar
gönderilirken önceden kabul edilmiş alt öğeler çalışmaya devam edebilir.
agents_wait çağrısı 1–1000 çalıştırma kimliği kabul eder. Şunu döndürür:
pending
boşalana kadar yalnızca kalan çalıştırma kimliklerini geçirmeye devam edin.
Toplayıcı modu, yerel OpenClaw alt ajanlarını destekler; ACP çalışma zamanını,
iş parçacığı bağlamayı, görünür oturumları veya kalıcı oturum modunu desteklemez.
Sınırlar ve yol haritası
Swarm v1, tek seferlik toplayıcı alt öğeleri çalıştırır; planlananagents.session() API’si durum bilgisi taşıyan çok turlu çalışanlar ekleyecektir.
Alt öğeler şu anda yerel Gateway’in alt ajan hattında çalışır; bulut yerleşimi,
açık bir başlatma seçeneği olarak planlanmaktadır. Kaydedilmiş iş akışı tanımları
ve bir grafik DSL’si, Swarm’ın mevcut yöneliminin parçası değildir.
İlgili
- Code Mode: QuickJS konuk çalışma zamanı ve etkinleştirme kuralları için
- Alt ajanlar: alt öğe politikası, yalıtım ve oturum davranışı için
- Çok ajanlı korumalı alan araçları: ajan başına kısıtlamalar için
- Araçlara genel bakış: araç profilleri ve politika yönlendirmesi için