~/ondrejnovak ← všechny články

Blog · AI agenti · dynamické workflow

10, 20, nebo neomezeně agentů?

Stejné zadání, různé stropy na počet agentů. Jde o to, jak se tím změní celý návrh workflow. Ukážu to na dvou případech: na aplikaci pro Slack a na infrastrukturním úkolu.

Abstraktní ilustrace: centrální orchestrátor vlevo řídí malou skupinu deseti agentů, vpravo se větví do roje stovek agentů

Ondřej Novák · 17. října 2026 · 10 min čtení

Když dám agentovi velký úkol, nechci, aby ho celý sám odpracoval v jednom dlouhém kontextu. Chci, aby ho rozdělil. K tomu používám dynamické workflow: agent napíše TypeScript skript, který za běhu spouští další agenty, paralelizuje je, řadí do pipeline a ověřuje jejich práci.

Ještě nedávno by to nedávalo smysl. Rozvrh práce musel navrhnout člověk: rozkreslit fáze, určit, co poběží paralelně, a napsat pevnou šablonu, do které se úkol nasype. Dnešní modely tohle zvládají samy a dobře. Umí odhadnout, kde jsou v zadání přirozené švy, rozdělit kód na disjunktní části, aby si agenti nešlapali do souborů, a poznat, které kroky na sobě závisí a které můžou běžet vedle sebe. Umí taky naplánovat kontrolu: kde nasadit nezávislého reviewera, kde stačí měření a kde se vyplatí smyčka oprav.

Proto nedává smysl jim tvar workflow předepisovat. Pevná šablona je kompromis pro průměrný úkol, a ten skoro nikdy nedostanu. Slack aplikace potřebuje jiný rozvrh než změna živého clusteru a malý úkol jiný než velký. Když plánování nechám na modelu, šablonu nahradí rozhodnutí šité na konkrétní zadání. Já určuji jen mantinely: rozpočet, strop na počet agentů a pravidla bezpečnosti.

Otázka, kterou jsem si položil, je jednoduchá: co se stane s tím tvarem, když agentovi dám strop na počet agentů, a co když ne?

Případ 1: Slack aplikace

Zadání

Postav Slack aplikaci na ankety inspirovanou aplikacemi Polly a Simple Poll. Python, SQLite, Dockerfile a Kubernetes manifesty. Zadání je v obou případech totožné, liší se jen tím, co agent smí.

Varianta A: deset agentů

Limit není pouhé doporučení v promptu. Každé spuštění agenta jde přes funkci run(), která počítá spuštěné agenty. Jakmile dojde rozpočet, další krok se přeskočí a zapíše do logu.

const MAX_AGENTS = 10;

async function run(prompt, opts) {
  if (spawned >= MAX_AGENTS) {
    log(`Limit ${MAX_AGENTS} agentů vyčerpán, přeskakuji: ${opts.label}`);
    return null;
  }
  spawned++;
  ...
}

Když agent ví, že má deset slotů, naplánuje je velmi úsporně. Každý slot má jasnou roli a nic se neopakuje:

Diagram workflow slack-polls-10: Research, Design, čtyři paralelní Implement partitiony, Review a Validate
Workflow s limitem 10 agentů. Čárkovaně jsou kroky, které se spustí jen podmíněně.

Poslední tři kroky jsou podmíněné. Pokud je první měření zelené a reviewer nenajde nic blokujícího, oprava i druhé měření se přeskočí.

Varianta B: bez limitu

Bez stropu se změnila otázka. Agent se už neptá, kam se vejde, ptá se, kde se dá chyba chytit dřív a levněji. Výsledkem je mnohem hlubší pipeline:

Diagram workflow slack-polls-max: čtrnáct fází od Research po Report
Workflow bez limitu: 14 fází, typicky 50 až 70 agentů, horní mez návrhu 130.

Hlavní rozdíly oproti desetiagentní verzi:

10 agentů
10
bez limitu
≤130
OpusSonnetHaiku

Poměr modelů zůstává podobný v obou variantách. Opus dělá rozhodnutí s největším dopadem (architektura, syntéza, bezpečnostní audit), Sonnet kód, testy a opravy, Haiku mechanické spouštění a měření. Roste hlavně počet Sonnetů, protože ten se násobí s počtem partitionů a kol.

Srovnání

10 agentůBez limitu
Agentů10typicky 50 až 70, strop návrhu 130
Návrhjeden architekt, jeden názor3 návrhy, 3 porotci, syntéza
Review1 skeptik, 4 optiky3 optiky návrhu, review každého partitionu, audit na konci
Spor o nálezrozhoduje reviewerkvórum 3 hlasů
Opravyjedno koloaž 5 kol, oprava podle vlastníka
Testypíše je jeden agent paralelně s kódemjiný autor než implementace, kontrola oslabení testů
E2Elint, pytest a docker buildkontejner, Slack flow s mock API, volitelně kind
Selháníkrok se přeskočí, běh pokračujesmyčky mají vlastní stop podmínky

Případ 2: infrastruktura

Druhý případ je jiného druhu. Nevzniká nový kód, ale mění se živý systém, a tam se chyba platí jinak. Zadání: postavit Qdrant HA cluster (3 peery, replikace RF3, write consistency 2) v Kubernetes a přidat pravidelné snapshoty do S3 včetně ověření obnovy.

Tady jsem porovnal tři stropy: 10 agentů, 20 agentů a bez pevného limitu. U všech tří platí stejné pravidlo: nasazuje se jen do neprodukčního prostředí.

Varianta A: deset agentů

Diagram workflow qdrant-ha-backup-10: Recon, Design, Review, Implement, Validate, Deploy, Verify
Infrastrukturní workflow s limitem 10 agentů.

Všechno je jednou, nic se nezdvojuje. Tři různé testy dělá jeden agent, takže kdo test napsal, ten ho i vyhodnotí.

Varianta B: dvacet agentů

Diagram workflow qdrant-ha-backup s limitem 20 agentů
Limit 20 agentů, návrh jich využije nejvýše 18.

Rozdíl oproti desítce je poměrně jasný: rozpočet jde do rozdělení rolí, ne do hloubky.

Pořád je to ale lineární průchod. Žádná fáze se neopakuje, žádný nález se nepotvrzuje druhým názorem a výsledky testů už nikdo nepřepočítává.

Varianta C: bez pevného limitu

Diagram workflow qdrant-ha-backup-max: patnáct fází od Recon po Report
Workflow bez limitu: patnáct fází, typicky 40 až 95 agentů za běh, horní mez návrhu 166, pojistka 200.

Bez stropu se přidávají celé vrstvy, které v menších variantách vůbec nejsou:

Úplný rozpis všech agentů je na obrázku níže. Kliknutím se otevře v plné velikosti.

Úplný rozpis všech 166 agentů workflow qdrant-ha-backup-max
Všech 166 agentů horní meze. Čárkované jsou podmíněné kroky.
10 agentů
10
20 agentů
18
bez limitu
≤166
OpusSonnetHaiku

Srovnání tří variant

10 agentů20 agentůBez limitu
Agentů10až 18až 166 (pojistka 200)
Průzkum2 agenti3 agenti7 agentů a kritik úplnosti
Návrh1 architekt1 architekt3 návrhy, 3 porotci, syntéza
Review1 skeptik2 skeptici4 optiky, kvórum nad nálezy
Implementace2 partitiony4 partitiony8 partitionů v pipeline s review
Validace1 oprava2 kolaaž 5 kol, opravy podle vlastníka
Nasazeníjeden krokjeden krok3 kroky s ověřením zpět
Ověření1 agent, 3 testy3 nezávislé testy5 kontrol, 5 chaos testů, crosscheck
Reportskládá kód1 agentsouhrn a kritik reportu

Co se liší oproti aplikaci pro ankety

Závěry

Limit na počet agentů nemění jen rozsah práce. Mění tvar celého workflow.

Kdy kterou

Deset agentů je dobrá volba na prototyp, MVP a vše, co po sobě stejně projdu očima. Je jednoduchá, přehledná a pořád má jednu nezávislou kontrolu.

Dvacet agentů dává smysl, když má práce více oddělených částí a chci, aby je zkoušel někdo jiný než autor, ale pořád stačí jedno kolo úvah.

Variantu bez limitu volím, když nad výsledkem nebudu sedět a potřebuju, aby věc došla do stavu, který ověřilo víc nezávislých pohledů, než ji uvidím.

Do volby navíc vstupuje ještě jedna praktická věc, a to tokeny. Každý agent navíc něco stojí a kola úvah bez limitu umí spotřebu rychle vyhnat nahoru. Kdybych stavěl jadernou elektrárnu, chtěl bych, aby se to udělalo poctivě, a na tokeny nehledím. Když ale mám tokenů omezeně, sáhnu radši po menší variantě a zbytek kontroly udělám sám.