Claude Code

Subagents e agentes personalizados comparados: Claude Code vs Codex vs Cursor vs Gemini CLI vs GitHub Copilot (2026)

Como funcionam subagents e agentes personalizados no Claude Code, Codex, Cursor, Gemini CLI e GitHub Copilot?

As cinco ferramentas permitem definir agentes personalizados em arquivos. Claude Code, Cursor, Gemini CLI e Copilot usam Markdown com frontmatter YAML. O Codex usa arquivos TOML independentes. Cada ferramenta traz subagents nativos, como Explore no Claude Code, explorer no Codex, explore no Cursor e no Copilot, e codebase_investigator no Gemini CLI. Claude Code, Cursor, Gemini CLI e Copilot conseguem escolher um agente sozinhos a partir da descrição dele. No Codex você pede subagents diretamente, ou instruções do AGENTS.md ou de skills os solicitam. As ferramentas diferem mais em restrições de ferramentas, escolha de modelo e no funcionamento de execuções em segundo plano ou em paralelo.

Esta página é uma tradução do guia em inglês. Comandos, chaves de configuração e código não foram alterados; em caso de diferença, vale a versão em inglês. Ler em inglês → · Outros idiomas: 简体中文 · 日本語 · 한국어 · Español

Saiba quando a configuração mudar

Quando uma configuração, flag ou regra de permissão dessas ferramentas mudar, você recebe um e-mail semanal (em inglês), conferido na documentação oficial.

Claude Code

Subagents personalizados são arquivos Markdown com frontmatter YAML. O corpo vira o system prompt do subagent. Só name e description são obrigatórios.

  • Locais, por prioridade: managed settings, a flag de CLI --agents (JSON, só na sessão atual), .claude/agents/ (projeto), ~/.claude/agents/ (usuário) e, por fim, o diretório agents/ de um plugin.
  • Campos opcionais incluem tools (allowlist), disallowedTools (denylist, aplicada primeiro), model, permissionMode, maxTurns, skills, mcpServers, hooks, memory, background, effort, isolation (worktree) e color.
  • Subagents nativos: Explore (busca somente leitura), Plan (pesquisa somente leitura no modo plan), general-purpose, claude, statusline-setup e claude-code-guide.
  • Invocação: delegação automática pela descrição, linguagem natural, uma menção com @ como @agent-<name>, ou claude --agent <name> para rodar a sessão inteira como esse agente.
  • Segundo plano: subagents em segundo plano rodam simultaneamente, e Ctrl+B move uma tarefa em execução para o segundo plano. O limite padrão é de 20 subagents simultâneos (CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS).
  • Modelo: sonnet, opus, haiku, fable, um ID de modelo completo ou inherit. CLAUDE_CODE_SUBAGENT_MODEL define um padrão.

.claude/agents/code-reviewer.md

---
name: code-reviewer
description: Reviews code for quality and best practices
tools: Read, Glob, Grep
model: sonnet
---

You are a code reviewer. When invoked, analyze the code and provide
specific, actionable feedback on quality, security, and best practices.

OpenAI Codex

Agentes personalizados do Codex são arquivos TOML independentes, um agente por arquivo. O Codex identifica o agente pelo campo name, não pelo nome do arquivo.

  • Locais: ~/.codex/agents/ (pessoal) e .codex/agents/ (projeto).
  • Campos obrigatórios: name, description, developer_instructions. Opcionais: model, model_reasoning_effort, model_reasoning_summary, model_verbosity, chaves features.* e configurações de skills.
  • Um agente personalizado não pode sobrescrever sandbox_mode, approval_policy, model_provider nem mcp_servers. Ele os herda do pai.
  • Agentes nativos: default, worker e explorer. Um agente personalizado com o mesmo nome de um nativo tem precedência.
  • Invocação: peça diretamente, por exemplo "spawn two agents", ou cite um agente personalizado no seu prompt. Instruções do projeto ou de skills também podem solicitar delegação.
  • Paralelo: o Codex cria agentes, espera todos os resultados e retorna uma resposta consolidada. Você pode abrir a thread de um subagent e pedir ao Codex para orientar, parar ou fechar threads de subagents.
  • As configurações globais [agents] incluem agents.enabled, agents.max_concurrent_threads_per_session, agents.default_subagent_model, agents.default_subagent_reasoning_effort e agents.interrupt_message.
  • Limites de ferramentas: subagents herdam as permissões do pai. Para reduzir capacidades, defina chaves de feature como features.shell_tool como false.

Cursor

Subagents do Cursor são arquivos Markdown com frontmatter YAML seguido do prompt. O Cursor também lê as pastas de agentes do Claude Code e do Codex.

  • Locais de projeto: .cursor/agents/, .claude/agents/, .codex/agents/. Locais de usuário: ~/.cursor/agents/, ~/.claude/agents/, ~/.codex/agents/.
  • Agentes de projeto sobrescrevem agentes de usuário. Quando os nomes coincidem, .cursor/ vence .claude/ ou .codex/.
  • Campos: name (padrão é o nome do arquivo), description, model (padrão inherit), readonly (padrão false), is_background (padrão false).
  • Subagents nativos: explore (usa um modelo mais rápido por padrão) e browser (controla o navegador via ferramentas MCP).
  • Invocação: o agente delega com base na descrição, ou você chama um com /name em um prompt, como /verifier, ou citando o subagent.
  • Paralelo e segundo plano: várias chamadas da ferramenta Task em uma mensagem rodam ao mesmo tempo. is_background: true retorna imediatamente. Subagents podem rodar no próprio Git worktree ou em uma VM na nuvem. /in-cloud roda a próxima tarefa como subagent na nuvem, e /autopilot entrega um pull request a um subagent na nuvem.
  • Modelo: inherit ou um ID de modelo, com opções entre colchetes como claude-opus-5[effort=high].
  • Limites de ferramentas: subagents herdam todas as ferramentas do pai. readonly: true é o único campo de restrição documentado.

Gemini CLI

Agentes do Gemini CLI são arquivos Markdown com frontmatter YAML. O corpo vira o system prompt do agente. Subagents vêm ativados por padrão.

  • Locais: .gemini/agents/*.md (projeto) e ~/.gemini/agents/*.md (usuário).
  • Campos: name e description (obrigatórios), kind (local ou remote, padrão local), tools, mcpServers, model (padrão inherit), temperature (padrão 1), max_turns (padrão 30), timeout_mins (padrão 10).
  • Subagents nativos: codebase_investigator, cli_help e generalist vêm ativados por padrão. browser_agent vem desativado por padrão e precisa do Chrome 144 ou posterior.
  • Invocação: delegação automática, ou comece o prompt com @ e o nome, como @codebase_investigator. Cada subagent é exposto ao agente principal como uma ferramenta com o mesmo nome.
  • Modelo: defina por agente com model, ou sobrescreva em settings.json com agents.overrides.
  • Limites de ferramentas: a lista tools suporta os curingas *, mcp_* e mcp_server_*. Subagents não podem chamar outros subagents. Regras do policy.toml podem mirar um subagent com a propriedade subagent.
  • Desative os subagents com "experimental": { "enableAgents": false } em settings.json. Gerencie-os com /agents.

.gemini/agents/example.md (formato do frontmatter)

---
name: my-agent
description: When the main agent should call this subagent
tools:
  - mcp_*
model: inherit
max_turns: 30
---

System prompt for the subagent goes here.

GitHub Copilot

Agentes personalizados do Copilot são perfis de agente: arquivos Markdown com frontmatter YAML. O corpo contém o prompt, com até 30.000 caracteres. O nome do arquivo, sem .md ou .agent.md, é o identificador do agente.

  • Locais no Copilot CLI: .github/agents/ (projeto) e ~/.copilot/agents/ (usuário), com a extensão .agent.md. A versão do diretório home vence quando os nomes coincidem.
  • Locais do cloud agent: .github/agents/ em um repositório, ou /agents/ no repositório .github ou .github-private de uma organização. Agentes enterprise ficam em um repositório .github-private. Um agente de repositório sobrescreve um agente de organização, que sobrescreve um agente enterprise.
  • Campos: description (obrigatório), name (nome de exibição opcional), target (vscode ou github-copilot), tools, model, disable-model-invocation, user-invocable, mcp-servers, metadata. infer foi descontinuado.
  • Agentes nativos da CLI: explore, task, general-purpose, code-review, research (só via /research) e rubber-duck (roda em outro modelo).
  • Invocação na CLI: /agent no modo interativo, citar o agente em um prompt, inferência pela descrição, ou copilot --agent <name> --prompt "...".
  • Paralelo: os agentes rodam como subagents com janelas de contexto separadas, em paralelo quando apropriado.
  • Limites de ferramentas: omita tools ou use ["*"] para todas as ferramentas, liste aliases como read, edit, search, execute, agent, web e todo, ou use [] para desativar todas. Ferramentas MCP usam server/tool ou server/*.

.github/agents/reviewer.agent.md

---
name: reviewer
description: Reviews pull requests for security issues
tools: ["read", "search"]
---

Review the changes and report security problems.

Qual usar

  • Precisa do controle mais fino de ferramentas: o Claude Code tem allowlist e denylist, além de modo de permissão, hooks e isolamento por worktree para cada agente. O Copilot também tem uma lista tools com aliases e namespaces MCP.
  • Quer uma pasta de agentes que funcione em mais de uma ferramenta: o Cursor lê .claude/agents/ e .codex/agents/, além de .cursor/agents/.
  • Quer workers em paralelo com uma resposta mesclada: o Codex documenta a criação de vários agentes e o retorno de uma resposta consolidada.
  • Quer execuções em segundo plano ou na nuvem: o Claude Code (subagents em segundo plano, Ctrl+B) e o Cursor (is_background, subagents na nuvem) documentam isso. A página do Gemini CLI não.
  • Precisa de agentes compartilhados em toda a organização no GitHub: o Copilot suporta perfis de agente de organização e enterprise em um repositório .github ou .github-private.
  • Quer ajustar a amostragem por agente: o Gemini CLI documenta os campos temperature, max_turns e timeout_mins.

Fontes

Documentação oficial (em inglês) usada para conferir este guia. Versão em inglês revisada em: 2026-10-18

Mais guias em português