DX Heroes logo
#ai
#agentic-ai
#llm

Co jsou subagenti?

Délka: 

6 min

Publikováno: 

21. října 2026

Co jsou subagenti?

Co jsou subagenti?

Subagent je druhá instance AI agenta, kterou hlavní agent zavolá na jeden ohraničený kus práce. Běží ve vlastním kontextovém okně a vrací výsledek, ne přepis celého postupu. Dokumentace Anthropicu je popisuje jako "specializované AI asistenty, kteří zvládají konkrétní typy úkolů". Každý z nich „běží ve vlastním kontextovém okně s vlastním systémovým promptem, vymezeným přístupem k nástrojům a nezávislými oprávněními“.

Celý mechanismus stojí na izolaci. Subagent „začíná s čerstvým, izolovaným kontextovým oknem“ a „nevidí vaši historii konverzace, skilly, které jste už vyvolali, ani soubory, které už Claude přečetl“. Hlavní agent mu úkol popíše v krátkém zadání. Subagent vychází jen z něj a zpátky přijde pouze jeho finální odpověď. Čtyřicet přečtených souborů, tři vyhledávání, dvě slepé uličky. Nic z toho se do hlavního kontextového okna nedostane.

Stejný vzorec najdete pod stejným jménem i v dalších nástrojích, které ho převzaly:

  • Claude Code definuje subagenta jako Markdown soubor s YAML frontmatterem. Povinné jsou jen name a description. Volitelná pole jako tools, model, permissionMode a maxTurns nastavují, jak poběží. Definice na úrovni projektu leží v .claude/agents/, osobní v ~/.claude/agents/.
  • VS Code to shrnuje do jedné věty: subagent "pracuje ve vlastním kontextu a vrací hlavnímu agentovi cílený výsledek". Lokální subagent „nedědí historii hlavní konverzace“. Každé zavolání je bezstavové.
  • LangChain z toho dělá vzor se supervizorem. Jeho slovy "centrální hlavní agent (často označovaný jako supervizor) koordinuje subagenty tím, že je volá jako nástroje", a subagenti „vracejí výsledky hlavnímu agentovi, ne uživateli“.

Claude Code a LangChain nabízejí i opak izolace, takzvaný fork. Ten místo čistého startu zdědí konverzaci rodiče. Je to stejný mechanismus delegování, jen s opačně nastaveným kontextem. Soustředění vyměníte za návaznost.

Lidsky řečeno

Představte si rozdíl mezi prací, při které vám kolega stojí za zády, a prací, kterou mu popíšete v jediném zadání. V druhém případě zmizí, přečte čtyřicet dokumentů, narazí na dvě slepé uličky a vrátí se s jedním odstavcem. Dostanete ten odstavec. Těch čtyřicet dokumentů nikdy neuvidíte, a přesně o to jde. Je to zároveň riziko, protože neuvidíte ani ty slepé uličky.

Kdy na tom záleží

  • Vedlejší práce, jejíž výstup si už nikdy nepřečtete. Prohledání rozsáhlé kódové báze, procházení logů, srovnání tří knihoven. Důležité jsou nálezy, ne těch pět set řádků, ze kterých vznikly. Držet je mimo hlavní okno je přesně to, co u dlouhého úkolu oddaluje context rot.
  • Omezení, která chcete vynutit, ne o ně žádat. Subagentovi můžete dát seznam nástrojů jen pro čtení, levnější model nebo limit kol. To je strukturální záruka, ne instrukce, od které se model může odchýlit.
  • Práce, která se opravdu dá rozdělit. Několik nezávislých zkoumání může běžet naráz. Dva recenzenti hlídají každý něco jiného, správnost a výkon, a jejich nálezy se na konci spojí.
  • Hodnocení, které musí vzniknout bez znalosti pozadí. To je méně zřejmé a zároveň je to důvod, proč po subagentech saháme nejčastěji. Když chcete vědět, jestli text obstojí sám o sobě, jeho čtenář nesmí znát zadání, ze kterého text vznikl. Izolace tu není vedlejší efekt, ale přesně to, o co jde.

Jak to vypadá v praxi

Dva vzorce z naší vlastní inženýrské práce, oba změřené na nás, ne u klienta.

Rozdělení práce podle rolí porazilo jednoho agenta, který dělal všechno. Jednoagentní krok českého překladu jsme nahradili dvoustupňovým řetězcem subagentů. První subagent překládá anglický zdroj a smí nechat anglickou terminologii stát. Druhý na něj navazuje samostatným stylistickým průchodem: kalky, délka vět, mezery u uvozovek. S prvním nesdílí žádný kontext. Odpovídá to dělbě práce v redakci mezi autorem, editorem a korektorem. Ruční testovací běh na už publikovaném článku přinesl 11 nálezů, z toho 5 výskytů téhož kalku. Deset paralelních subagentů bez kontextu pak opravený článek vyhodnotilo jako lepší než původní jednoagentní výstup. Zbyla jedna až dvě drobnosti, jaké by zachytil i lidský editor.

Rozdělení práce podle rozsahu udrželo velkou změnu v použitelném okně. Upgrade MCP na 30 000 řádcích se povedlo dokončit s kontextem kolem 150 000 tokenů. Práci si rozdělilo zhruba pět paralelních subagentů místo jednoho dlouho běžícího agenta. Nejvíc pomohly dvě věci. Orchestrátor sepíše plán v Markdownu a prochází ho v několika kolech předtím, než spustí první dev nebo review subagenty. Brání to tomu, aby dev agent na připomínky z review reagoval rovnou kódováním. Nejdřív si je má roztřídit na důležité a nedůležité. Agenti navíc zapisují specifikaci, plán a postup do oddělených souborů, které git nesleduje, takže přerušený běh pokračuje ze souborů, ne z konverzace.

Ukázal se přitom i jeden strop. Někde kolem 500 000 tokenů kontextu začne výstup sklouzávat k halucinacím. Odnesli jsme si z toho pravidlo držet se pod zhruba polovinou dostupného okna.

Časté chyby

  • Brát delegování jako levné volání. Vlastní měření Anthropicu uvádí u agentů „asi 4× víc tokenů než u interakcí v chatu“ a u multiagentních systémů "asi 15× víc tokenů než u chatů". Požadavky subagenta se počítají do stejných limitů spotřeby jako hlavní konverzace. Vzorec se vyplatí tehdy, když má úkol hodnotu, která ten násobek unese. Jindy ne.
  • Dělit práci, která se dělit nedá. Tentýž text od Anthropicu ten limit pojmenovává natvrdo. „Většina programátorských úkolů obsahuje méně skutečně paralelizovatelných úloh než výzkum“ a „LLM agenti zatím nejsou dobří v koordinaci a delegování na jiné agenty v reálném čase“. Práce se silnými vzájemnými vazbami, nebo taková, kde každá část potřebuje stejný kontext, je po rozdělení pomalejší a horší.
  • Čekat od subagenta dialog. Ve VS Code je lokální subagent bezstavový. Nepošlete mu doplňující dotaz a další otázka spustí nového subagenta od nuly. Claude Code umí subagenta na vyžádání obnovit a obnovený si drží „celou historii konverzace včetně všech předchozích volání nástrojů, výsledků a uvažování“. Je to ale krok navíc, který musíte vyvolat sami. Pište proto delegující zprávu tak, jako by to bylo jediné, co subagent kdy uvidí: všechno, co potřebuje, musí stát v zadání.
  • Číst oddělené kontexty jako nezávislé ověření. Když tutéž otázku pošlete dvěma izolovaným subagentům, vypadá to jako druhý názor. Dokumentace VS Code říká bez obalu, co doopravdy dostanete: „Oddělené kontexty mohou odhalit jiné problémy, ale nezaručují nezaujaté ani správné závěry.“ Izolace odstraní sdílený kontext. Neodstraní sdílené předsudky téhož modelu.
  • Zapomínat, že přežije jen finální zpráva. LangChain tento způsob selhání dokumentuje. Subagent může „provést volání nástrojů nebo uvažování, ale nezahrnout výsledky do své finální zprávy“, a „supervizor vidí jen finální výstup“. Práce, která se udělala, ale nedostala se do hlášení, je z pohledu hlavního agenta práce, která se nestala.
  • Přehlížet stropy. Jsou skutečné a jsou nízko. Ve výchozím nastavení dovolí Claude Code zanoření nejvýš tři úrovně pod hlavní konverzaci a při 20 souběžně běžících subagentech selže s hláškou Concurrent subagent limit reached. VS Code omezuje zanoření na pět a subagenty spouštěné subagenty má ve výchozím stavu vypnuté.

Související články:

Chcete být o krok napřed?

Nenechte si utéct naše nejlepší postřehy. Žádný spam, jen praktické analýzy, pozvánky na exkluzivní eventy a shrnutí podcastů přímo do vaší schránky.