Každý AI agent je model, který volá nástroje v určitém pořadí. Jediná skutečně podstatná otázka je, kdo toto pořadí určuje. U smyčkového agenta rozhoduje model za běhu. U grafového agenta stanovíte pořadí předem a model doplní jednotlivé kroky. Většina debat o agentních frameworcích se ve skutečnosti točí právě kolem této volby.
Smyčkový agent je nejjednodušší funkční řešení: pošlete modelu úkol a seznam nástrojů, spusťte požadovaný nástroj, připojte výsledek a opakujte, dokud model neodpoví bez volání nástroje. To je vzor ReAct. Přímo jej nabízejí API pro použití nástrojů od OpenAI a Anthropic, Vercel AI SDK i createAgent v LangChain. Je překvapivě schopný — většina programátorských asistentů a výzkumných agentů funguje přesně na této smyčce.
Jeho předností je flexibilita: cestu nemusíte znát dopředu, takže se přirozeně hodí na otevřené úlohy, jako je výzkum, ladění nebo „zjisti, proč tato objednávka selhala“. Stejná věc je i jeho slabinou. Počet kroků není známý, a proto ani náklady a latence; model se může točit v kruhu, vynechat kontrolu nebo zavolat nástroj, který jste chtěli zakázat. Udržíte ho v mezích pojistkami kolem smyčky: limitem kroků (stopWhen ve Vercel AI SDK), rozpočtem tokenů, seznamem povolených nástrojů a validací konečné odpovědi.
Grafový agent vyjádří proces pomocí explicitních uzlů a hran: klasifikovat, načíst, připravit návrh, ověřit, zeptat se člověka, zapsat. Každý uzel může být volání modelu, nástroj nebo běžný kód a hrany se mohou větvit či záměrně vracet zpět: „ověření selhalo, vrať se k návrhu“. Stav je explicitní objekt uložený po každém uzlu. Nejznámějším příkladem je LangGraph: v Pythonu a TypeScriptu přidává kontrolní body, takže se běh může pozastavit kvůli lidskému schválení a po hodinách pokračovat přesně tam, kde skončil.
Jeho předností je kontrola. Víte, které kroky mohou nastat, v jakém pořadí a kde musí člověk schválit výsledek. Každý běh lze trasovat uzel po uzlu, tvar grafu omezuje cenu a chyba v pátém kroku nespouští znovu první čtyři. Cenou je návrh předem a menší volnost: když úloha do grafu nezapadá, agent z ní nedokáže improvizovaně najít cestu ven.
Čas do prvního prototypu
Otevřené úlohy
Předvídatelné náklady a latence
Ladění a trasování
Schválení člověkem
Dlouhé procesy s možností obnovení
Bezpečné zápisy (peníze, osobní údaje)
Zobrazit jako tabulku
| Kritérium | Smyčkový agent | Grafový agent |
|---|---|---|
| Čas do prvního prototypu | 5 / 5 | 2 / 5 |
| Otevřené úlohy | 5 / 5 | 2 / 5 |
| Předvídatelné náklady a latence | 2 / 5 | 4 / 5 |
| Ladění a trasování | 2 / 5 | 5 / 5 |
| Schválení člověkem | 2 / 5 | 5 / 5 |
| Dlouhé procesy s možností obnovení | 1 / 5 | 5 / 5 |
| Bezpečné zápisy (peníze, osobní údaje) | 2 / 5 | 5 / 5 |
Při přímém srovnání nejde tolik o „co je lepší“, ale o „kam patří vaše úloha“: mezi otevřené a opakovatelné, mezi levné a drahé chyby. Zajímavé je, že hranice je neostřejší, než tvrdí marketing. createAgent v LangChain je smyčka, ale od verze 1.0 běží na runtime LangGraph — smyčka je prostě nejmenší možný graf.
Velikost bubliny: obvyklý počet volání modelu na úlohu
Zobrazit jako seznam
- Jedno volání modelu — Jeden prompt, jedna odpověď: nejpředvídatelnější, nejméně autonomní. (1 volání modelu)
- Grafový agent — Navržené kroky a větvení; model pracuje v každém uzlu. (pevný počet volání)
- Graf s vnitřní smyčkou — Pevný proces s jedním otevřeným krokem, třeba výzkumem. (pevné kroky + omezená smyčka)
- Smyčkový agent — Model volí každý další krok, dokud neskončí. (tolik volání, kolik určí)
Moje pravidlo: začít smyčkou pro průzkum a interní nástroje, kde výsledek stejně čte člověk. Ke grafu přejít, když se proces opakuje, dotýká se peněz nebo zákaznických dat, potřebuje schválení nebo trvá déle než jeden požadavek. Nejlepší produkční systémy obvykle kombinují obojí: graf pro obchodní proces a malou smyčku uvnitř jednoho uzlu — třeba rešeršní krok, který může několikrát hledat a teprve potom předá čistý výsledek dalšímu deterministickému uzlu.
Ať zvolíte cokoli, pravidla jsou stejná: typované vstupy nástrojů, pevný rozpočet, záznam každého kroku a žádný zápis do hlavního systému bez validace. V TypeScriptu či Pythonu jde o několik desítek řádků kolem volání modelu — a právě ty odlišují demo od produktu. Chcete-li předat proces agentovi, pošlete mi kroky, jak je váš tým provádí dnes. Řeknu vám, jestli se hodí smyčka, graf, nebo graf se smyčkou uvnitř.
Dejte příštímu produktu někoho, kdo zůstane.
Chcete začít? Napište mi – mohu začít hned a zůstat. Dlouhodobé retainery, ne dvoutýdenní předání. Proberme váš projekt, požadavky a nejlepší cestu vpřed.