Blog

Gemini CLI 0.36: subagenti, izolace nástrojů a paralelní běh

Google do Gemini CLI přidal subagenty — podřízené agenty s vlastním kontextem, nástroji a sandboxem. Zaujme izolace nástrojů a podpora vzdálených agentů, ale latence zůstává hlavní překážkou.

Úvod

Gemini CLI 0.36 přidává podporu subagentů a já si to musím vypsat — hlavně proto, že jde o funkci, kterou už někteří konkurenti mají, ale Google k ní přistoupil svojejím způsobem.

Co se vlastně stalo

Subagenti jsou v podstatě malé specializované instance agenta: každý má vlastní kontextové okno (tedy vlastní historii a prompt), vlastní instrukce a vlastní sadu nástrojů. To umožňuje delegovat dílčí úkoly — třeba security audit, průzkum codebase nebo interaktivní nápovědu — bez zahlcení hlavní konverzace. Konfigurace je uložena jako Markdown s YAML hlavičkou (.gemini/agents/ pro projektové agenty, ~/.gemini/agents/ pro uživatelské). Výchozí limity jsou explicitní: max_turns 30 a max_minutes 10.

Krátké vysvětlení pojmů: subagent = podřízený agent s vlastním kontextem a nástroji; A2A = agent-to-agent protokol pro komunikaci mezi agenty.

Jak se Gemini CLI liší od Claude Code (a proč na tom záleží)

Google prostě převzal koncept, ale dotáhl ho do jiných důsledků. Tři hlavní rozdíly, které mě zaujaly:

  • Paralelní běh: Gemini dokumentuje a nativně podporuje paralelní spuštění více instancí téhož agenta (např. „run frontend-specialist on each package in parallel"). To je praktické pro škálování úloh, ale vyžaduje opatrnost při editacích — Google sám varuje před konflikty.

  • Izolace nástrojů a OS sandboxing: každý subagent může mít separátní MCP servery (Multi-Connection Proxy) a vlastní whitelist nástrojů, navíc lze zapnout OS sandbox (macOS Seatbelt, Windows native sandbox). To zvyšuje bezpečnost — agent není automaticky oprávněn dělat vše, co hlavní session.

  • Vzdálení agenti přes A2A s OAuth/PKCE: Gemini umožní zaregistrovat externí službu jako subagenta. To otevírá federované scénáře, kdy specialista běží jinde než lokálně, což je v praxi hodně užitečné pro sdílené teamové služby.

Claude Code tohle umí taky, ale většina těchto detailů (OS sandbox, oddělené MCP servery, A2A) tam není natolik zdokumentovaná nebo zabudovaná.

Proč mě to zajímá a kde to může pomoct

Mně osobně přijde nejpřínosnější kombinace izolace a explicitních limitů. V praxi to znamená: necháte subagenty dělat bordel v izolovaném prostoru, hlavní konverzace zůstane čistá a platíte tokeny jen za výsledky. Pro týmy, které chtějí automatizovat audit, testování nebo průzkum codebase, to může být velké zlepšení workflow.

Další zajímavost: tři vrození specialisté (generalist, cli_help, codebase_investigator). Přítomnost dedikovaného průzkumníka kódu je pohodlná — už nepotřebujete vždy psát vlastního agentního YAML.

Co mě na tom zaráží a co pořád chybí

Trochu mě zarazilo upřímné přiznání Googlu: dlouhé prodlevy odpovědi modelu a občasné chyby stále trvají. Subagenti jsou skvělí, ale pokud infrastruktura modelu chvílemi „zamrzá“, paralelní instance spíš zvýrazní čekání než ho zkrátí. Z oznámení neplyne, jak Google tyto latence plánuje řešit a kdy se to projeví v praxi.

Další otevřená věc: chybí bližší informace o bezpečnostních modelech při federaci přes A2A — jak se auditují vzdálení agenti, jaké jsou limity sdílení dat. To jsou pro mě klíčové otázky, než nasadím vzdálené subagenty v produkci.

Co sledovat dál

Monitorování latence a chyb v reálných nasazeních. Jak rychle Google dorazí s opravami odezvy. Jaké best practices vzniknou pro paralelní editace kódu (locking, merge strategie). A jestli další CLI nástroje přejmou Google přístup k izolaci nástrojů a OS sandboxingu.

Závěr

Gemini CLI 0.36 je krok k funkčnějšímu a bezpečnějšímu agentnímu workflow, ale opravdový benefit uvidíte až po vyřešení latencí a doplnění jasných bezpečnostních pravidel pro federované agenty.

Zdroje

Došlo k neočekávané chybě. Obnovit 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.