Verificando acesso...

MÓDULO 5.2

💎 Gemini CLI Subagents

Markdown + YAML, @subagent, paralelismo e built-ins.

6
Tópicos
45
Minutos
Avançado
Nível
Mão na massa
Tipo
1

📝 Formato Markdown + YAML

Cada subagent = arquivo .md com frontmatter YAML; corpo do markdown é o system prompt. Familiar para quem usa Claude Code.

📊 Frontmatter

  • name (lowercase, hyphens, underscores)
  • description (curto)
  • kind: local (default) ou remote
  • tools: array com wildcards
  • model: override
  • temperature: 0.0-2.0
  • max_turns (default 30)
  • timeout_mins (default 10)
2

@ @nome para forçar uso

Prefixar com @subagent_name força uso explícito sem deixar o main agent escolher. Bom para debug.

✓ Auto-delegation

  • Main agent escolhe
  • Mais rápido em fluxo normal
  • Bom para uso geral
  • Reduz fricção

✗ Auto-delegation

  • Pode atrapalhar reproduzir bug
  • Não-determinístico
  • Difícil de testar
3

⚡ Paralelismo em Gemini

Gemini suporta vários subagents (ou várias instâncias) em paralelo. Padrão 'tool exposto ao agente principal' + paralelismo.

📌 Vantagens

Reduz wall-clock real.

  • Pesquisas paralelas
  • Mesmo subagent N vezes
  • Cada um com prompt diferente
  • Main agent coleta resultados

⚠️ Sem nesting

Subagent não pode invocar outro subagent (recursion protection).

4

🛠️ Built-ins prontos

Antes de criar subagent novo, veja se um built-in já resolve. Reduz manutenção.

📊 Built-ins disponíveis

  • codebase_investigator — exploração de código
  • cli_help — doc de CLIs
  • generalist — task pesada genérica
  • browser_agent (experimental) — interação web
5

🌎 Remote subagents

Subagents podem rodar remotamente (kind: remote). Útil para isolamento ou recursos diferentes.

📌 Casos para remote

Quando vale a pena.

  • Work pesado em CI
  • Privacidade local
  • Recursos especiais (GPU)
  • Compliance

💡 Observabilidade

Remote merece observabilidade extra — você não vê tudo no terminal.

6

🚧 Limitações principais

Subagent não pode invocar outro subagent (recursion protection). Tools restritos por allowlist. Modelagem hierárquica não funciona.

📌 Pense flat

Main agent como orquestrador.

  • Flat > nested
  • Tools whitelisted no frontmatter
  • Isolamento total de contexto
  • Main agent coordena

📌 Resumo do Módulo

Formato Markdown + YAML — .gemini/agents/*.md
@nome para forçar uso — Determinismo
Paralelismo em Gemini — Múltiplas instâncias
Built-ins prontos — codebase, cli_help, generalist, browser
Remote subagents — kind: remote
Limitações principais — Sem subagent → subagent

Próximo módulo:

5.3 — Padrão portátil