Skip to main content

Subagents

Subagents são assistentes especializados que rodam em uma janela de contexto separada, com prompt de sistema próprio, ferramentas restritas e permissões independentes. Quando o Claude principal delega uma tarefa, o subagente trabalha em isolamento e devolve só o resumo.

A motivação é simples: contexto é finito. Se você manda o Claude principal explorar um diretório com 200 arquivos, todo esse conteúdo entra na sua conversa e fica lá pra sempre. Se você delega pra um subagente, ele faz a mesma exploração no contexto dele e te devolve um sumário de 500 tokens.

Para que servem​

  • Preservar contexto: pesquisa, leitura de logs, exploração de codebase ficam fora da conversa principal
  • Forçar restrições: subagente só usa as tools que você permitiu
  • Reusar configurações: subagentes user-level funcionam em todos os projetos
  • Especializar comportamento: prompt de sistema focado em um domínio
  • Controlar custo: rotas para modelos mais baratos como Haiku para tarefas simples

Built-in Agents​

O Claude Code já vem com alguns subagentes prontos:

AgentePara que serve
general-purposePesquisa complexa, busca de código, tarefas multi-step
ExploreExploração rápida de codebase (busca por padrão, keyword, perguntas)
PlanArquiteto de software, desenha planos de implementação
statusline-setupConfigura a statusline

Você invoca via Task tool, geralmente assim:

Use um subagente Explore pra investigar como o sistema de auth lida com refresh de token.

Custom Subagents​

Defina os seus em .claude/agents/<nome>.md:

---
name: security-reviewer
description: Revisa código por vulnerabilidades de segurança
tools: Read, Grep, Glob, Bash
model: opus
---

Você é um engenheiro sênior de segurança. Revise código por:
- Vulnerabilidades de injeção (SQL, XSS, command injection)
- Falhas de autenticação e autorização
- Secrets ou credenciais no código
- Manipulação insegura de dados

Forneça referências específicas de linha e fixes sugeridos.

Pra invocar: "Use o subagente security-reviewer pra revisar essa branch."

Frontmatter Reference​

CampoO que faz
nameIdentificador do subagente
descriptionQuando o Claude deve delegar (importante pra invocação automática)
toolsLista de ferramentas que o subagente pode usar
modelModelo específico (opus, sonnet, haiku, inherit)
prompt ou corpoSystem prompt do subagente

Padrões de Uso​

Investigação​

Sua tarefa: implementar OAuth. Antes, você precisa entender o que já existe:

Use subagentes pra investigar como nosso sistema de autenticação lida com
refresh de token e se temos algum utilitário OAuth pré-existente que eu
deveria reutilizar.

O subagente lê 30 arquivos. Você recebe um relatório de 5 parágrafos. Sua janela permanece limpa pra implementação.

Verificação​

Depois do Claude implementar:

Use um subagente pra revisar esse código por edge cases e race conditions.

Contexto fresco do reviewer pega coisas que o autor não pegaria.

Padrão Writer/Reviewer​

Numa sessão, você faz o Claude escrever. Em outra (paralela), o reviewer revisa. O reviewer não está enviesado pelo código que acabou de escrever, então pega problemas que passariam batido.

Tarefas em paralelo​

Se você precisa rodar várias tarefas independentes ao mesmo tempo, dispare múltiplos subagentes na mesma mensagem. O Claude principal coordena, eles trabalham em paralelo, retornam, e você consolida.

Skills + Subagents​

Os dois mecanismos se combinam de duas formas:

Skill com context: fork​

A skill define a tarefa, o subagente executa em isolamento:

---
name: deep-research
description: Pesquisa um tópico a fundo
context: fork
agent: Explore
---

Pesquise $ARGUMENTS:
1. Encontre arquivos relevantes via Glob/Grep
2. Leia e analise
3. Resume com referências específicas

Subagent com skills field​

Um subagente customizado que pré-carrega skills como material de referência. Útil pra subagentes especializados que sempre precisam de certo contexto.

Custo de Subagentes​

Cada subagente roda como uma instância separada do Claude com sua própria janela de contexto. Isso significa:

  • Tokens de cada subagente contam separadamente
  • O system prompt e contexto inicial são duplicados
  • Subagentes que rodam em plan mode usam mais tokens (planejam antes de agir)

Para controlar custo:

  • Use Sonnet ou Haiku pra subagentes de coordenação ou tarefas simples
  • Reserve Opus para subagentes que precisam de raciocínio profundo
  • Mantenha o spawn prompt focado: tudo que você passa entra no contexto inicial deles

Quando NÃO usar Subagentes​

  • Tarefa pequena que cabe na conversa principal sem poluir
  • Você precisa do output verboso completo (não só do resumo)
  • A tarefa depende fortemente de mensagens anteriores da conversa principal
  • Edição que vai pingar muito de volta pro contexto principal mesmo

Best Practices​

Description detalhada​

A description é o que o Claude usa pra decidir delegar. Escreva como se fosse onboarding pra um colega: o que esse subagente faz, em que situações usar, e o que ele devolve.

Restrinja as tools​

Se o subagente é pra revisão, não dê Bash ou Edit. Read, Grep, Glob resolvem. Restrição de tools = menos chance do subagente fazer algo inesperado.

Modelo certo pra tarefa​

TarefaModelo recomendado
Exploração de codebaseHaiku ou Sonnet
Revisão de códigoSonnet ou Opus
Arquitetura, planejamentoOpus
Sumarização de logsHaiku

Prompt de sistema curto​

Subagente com prompt de 50 linhas funciona melhor que com 500. Menos é mais.

Delegue cedo​

Se você sente que vai precisar ler muitos arquivos pra responder uma pergunta, delegue antes de começar. Mais barato do que inflar a janela e ter que /clear depois.

Agent Teams​

Existe uma feature mais avançada chamada Agent Teams que coordena múltiplas sessões em paralelo, com mensagens entre elas e um agente líder. É experimental (CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1) e usa significativamente mais tokens. Para a maioria dos casos, subagentes simples no Task tool resolvem.

Conclusão​

Subagentes são uma das ferramentas mais poderosas pra controlar contexto. Internalize: investigar = subagente, revisar = subagente, processar log verboso = subagente. Sua conversa principal fica curta e focada na implementação. Você gasta menos token e o Claude trabalha melhor.


Próximo: Hooks

Referências: