- Preservar contexto mantendo exploração e implementação fora de sua conversa principal
- Aplicar restrições limitando quais ferramentas um suagente pode usar
- Reutilizar configurações em projetos com suagentes de nível de usuário
- Especializar comportamento com prompts de sistema focados para domínios específicos
- Controlar custos roteando tarefas para modelos mais rápidos e baratos como Haiku
Suagentes integrados
Claude Code inclui suagentes integrados que Claude usa automaticamente quando apropriado. Cada um herda as permissões da conversa pai com restrições de ferramentas adicionais.- Explore
- Plan
- General-purpose
- Other
Um agente rápido e somente leitura otimizado para pesquisar e analisar bases de código.
- Modelo: Haiku (rápido, baixa latência)
- Ferramentas: Ferramentas somente leitura (acesso negado a ferramentas Write e Edit)
- Propósito: Descoberta de arquivos, pesquisa de código, exploração de base de código
Início rápido: crie seu primeiro suagente
Suagentes são definidos em arquivos Markdown com frontmatter YAML. Você pode criá-los manualmente ou usar o comando/agents.
Este passo a passo o guia através da criação de um suagente de nível de usuário com o comando /agent. O suagente revisa código e sugere melhorias para a base de código.
1
Abra a interface de suagentes
No Claude Code, execute:
2
Crie um novo agente de nível de usuário
Selecione Create new agent, depois escolha User-level. Isso salva o suagente em
~/.claude/agents/ para que esteja disponível em todos os seus projetos.3
Gere com Claude
Selecione Generate with Claude. Quando solicitado, descreva o suagente:Claude gera o prompt de sistema e a configuração. Pressione
e para abri-lo no seu editor se quiser personalizá-lo.4
Selecione ferramentas
Para um revisor somente leitura, desselecione tudo exceto Read-only tools. Se você manter todas as ferramentas selecionadas, o suagente herda todas as ferramentas disponíveis para a conversa principal.
5
Selecione modelo
Escolha qual modelo o suagente usa. Para este agente de exemplo, selecione Sonnet, que equilibra capacidade e velocidade para analisar padrões de código.
6
Escolha uma cor
Escolha uma cor de fundo para o suagente. Isso ajuda você a identificar qual suagente está em execução na interface.
7
Salve e teste
Salve o suagente. Está disponível imediatamente (sem necessidade de reiniciar). Teste:Claude delega para seu novo suagente, que verifica a base de código e retorna sugestões de melhoria.
Configurar suagentes
Use o comando /agents
O comando/agents fornece uma interface interativa para gerenciar suagentes. Execute /agents para:
- Visualizar todos os suagentes disponíveis (integrados, usuário, projeto e plugin)
- Criar novos suagentes com configuração guiada ou geração Claude
- Editar configuração de suagente existente e acesso a ferramentas
- Excluir suagentes personalizados
- Ver quais suagentes estão ativos quando duplicatas existem
Escolha o escopo do suagente
Suagentes são arquivos Markdown com frontmatter YAML. Armazene-os em locais diferentes dependendo do escopo. Quando múltiplos suagentes compartilham o mesmo nome, o local de prioridade mais alta vence.| Localização | Escopo | Prioridade | Como criar |
|---|---|---|---|
Flag CLI --agents | Sessão atual | 1 (mais alta) | Passar JSON ao iniciar Claude Code |
.claude/agents/ | Projeto atual | 2 | Interativo ou manual |
~/.claude/agents/ | Todos os seus projetos | 3 | Interativo ou manual |
Diretório agents/ do Plugin | Onde o plugin está ativado | 4 (mais baixa) | Instalado com plugins |
.claude/agents/) são ideais para suagentes específicos de uma base de código. Verifique-os no controle de versão para que sua equipe possa usá-los e melhorá-los colaborativamente.
Suagentes de usuário (~/.claude/agents/) são suagentes pessoais disponíveis em todos os seus projetos.
Suagentes definidos por CLI são passados como JSON ao iniciar Claude Code. Existem apenas para essa sessão e não são salvos em disco, tornando-os úteis para testes rápidos ou scripts de automação:
--agents aceita JSON com os mesmos campos que frontmatter. Use prompt para o prompt de sistema (equivalente ao corpo markdown em suagentes baseados em arquivo). Veja a referência CLI para o formato JSON completo.
Suagentes de plugin vêm de plugins que você instalou. Eles aparecem em /agents junto com seus suagentes personalizados. Veja a referência de componentes de plugin para detalhes sobre como criar suagentes de plugin.
Escreva arquivos de suagente
Arquivos de suagente usam frontmatter YAML para configuração, seguido pelo prompt de sistema em Markdown:Suagentes são carregados no início da sessão. Se você criar um suagente adicionando manualmente um arquivo, reinicie sua sessão ou use
/agents para carregá-lo imediatamente.Campos de frontmatter suportados
Os seguintes campos podem ser usados no frontmatter YAML. Apenasname e description são obrigatórios.
| Campo | Obrigatório | Descrição |
|---|---|---|
name | Sim | Identificador único usando letras minúsculas e hífens |
description | Sim | Quando Claude deve delegar para este suagente |
tools | Não | Ferramentas que o suagente pode usar. Herda todas as ferramentas se omitido |
disallowedTools | Não | Ferramentas a negar, removidas da lista herdada ou especificada |
model | Não | Modelo a usar: sonnet, opus, haiku, ou inherit. Padrão é sonnet |
permissionMode | Não | Modo de permissão: default, acceptEdits, dontAsk, bypassPermissions, ou plan |
skills | Não | Skills a carregar no contexto do suagente na inicialização. O conteúdo completo da skill é injetado, não apenas disponibilizado para invocação. Suagentes não herdam skills da conversa pai |
hooks | Não | Hooks de ciclo de vida escopo para este suagente |
Escolha um modelo
O campomodel controla qual modelo de IA o suagente usa:
- Alias de modelo: Use um dos aliases disponíveis:
sonnet,opus, ouhaiku - inherit: Use o mesmo modelo que a conversa principal (útil para consistência)
- Omitido: Se não especificado, usa o modelo padrão configurado para suagentes (
sonnet)
Controle as capacidades do suagente
Você pode controlar o que os suagentes podem fazer através de acesso a ferramentas, modos de permissão e regras condicionais.Ferramentas disponíveis
Suagentes podem usar qualquer uma das ferramentas internas do Claude Code. Por padrão, suagentes herdam todas as ferramentas da conversa principal, incluindo ferramentas MCP. Para restringir ferramentas, use o campotools (lista de permissões) ou o campo disallowedTools (lista de negação):
Modos de permissão
O campopermissionMode controla como o suagente lida com prompts de permissão. Suagentes herdam o contexto de permissão da conversa principal, mas podem sobrescrever o modo.
| Modo | Comportamento |
|---|---|
default | Verificação de permissão padrão com prompts |
acceptEdits | Auto-aceitar edições de arquivo |
dontAsk | Auto-negar prompts de permissão (ferramentas explicitamente permitidas ainda funcionam) |
bypassPermissions | Pular todas as verificações de permissão |
plan | Modo de plano (exploração somente leitura) |
bypassPermissions, isso tem precedência e não pode ser sobrescrito.
Pré-carregue skills em suagentes
Use o camposkills para injetar conteúdo de skill no contexto de um suagente na inicialização. Isso dá ao suagente conhecimento de domínio sem exigir que ele descubra e carregue skills durante a execução.
Isto é o inverso de executar uma skill em um suagente. Com
skills em um suagente, o suagente controla o prompt de sistema e carrega conteúdo de skill. Com context: fork em uma skill, o conteúdo de skill é injetado no agente que você especificar. Ambos usam o mesmo sistema subjacente.Regras condicionais com hooks
Para controle mais dinâmico sobre o uso de ferramentas, use hooksPreToolUse para validar operações antes de serem executadas. Isso é útil quando você precisa permitir algumas operações de uma ferramenta enquanto bloqueia outras.
Este exemplo cria um suagente que apenas permite consultas de banco de dados somente leitura. O hook PreToolUse executa o script especificado em command antes de cada comando Bash ser executado:
Desabilite suagentes específicos
Você pode impedir que Claude use suagentes específicos adicionando-os ao arraydeny em suas configurações. Use o formato Task(subagent-name) onde subagent-name corresponde ao campo name do suagente.
--disallowedTools:
Defina hooks para suagentes
Suagentes podem definir hooks que são executados durante o ciclo de vida do suagente. Existem duas formas de configurar hooks:- No frontmatter do suagente: Defina hooks que são executados apenas enquanto esse suagente está ativo
- Em
settings.json: Defina hooks que são executados na sessão principal quando suagentes iniciam ou param
Hooks no frontmatter do suagente
Defina hooks diretamente no arquivo markdown do suagente. Estes hooks são executados apenas enquanto esse suagente específico está ativo e são limpos quando ele termina.| Evento | Entrada do Matcher | Quando é acionado |
|---|---|---|
PreToolUse | Nome da ferramenta | Antes do suagente usar uma ferramenta |
PostToolUse | Nome da ferramenta | Depois do suagente usar uma ferramenta |
Stop | (nenhum) | Quando o suagente termina |
PreToolUse e executa um linter após edições de arquivo com PostToolUse:
Stop no frontmatter são automaticamente convertidos para eventos SubagentStop.
Hooks de nível de projeto para eventos de suagente
Configure hooks emsettings.json que respondem a eventos de ciclo de vida de suagente na sessão principal. Use o campo matcher para direcionar tipos de agente específicos por nome.
| Evento | Entrada do Matcher | Quando é acionado |
|---|---|---|
SubagentStart | Nome do tipo de agente | Quando um suagente começa a execução |
SubagentStop | Nome do tipo de agente | Quando um suagente completa |
db-agent inicia e para:
Trabalhe com suagentes
Entenda a delegação automática
Claude delega tarefas automaticamente com base na descrição da tarefa em sua solicitação, no campodescription nas configurações de suagente, e no contexto atual. Para encorajar delegação proativa, inclua frases como “use proactively” no campo description do seu suagente.
Você também pode solicitar um suagente específico explicitamente:
Execute suagentes em primeiro plano ou segundo plano
Suagentes podem ser executados em primeiro plano (bloqueante) ou segundo plano (concorrente):- Suagentes em primeiro plano bloqueiam a conversa principal até completar. Prompts de permissão e perguntas de esclarecimento (como
AskUserQuestion) são passados para você. - Suagentes em segundo plano são executados concorrentemente enquanto você continua trabalhando. Eles herdam as permissões do pai e auto-negam qualquer coisa não pré-aprovada. Se um suagente em segundo plano precisar de uma permissão que não tem ou precisar fazer perguntas de esclarecimento, essa chamada de ferramenta falha, mas o suagente continua. Ferramentas MCP não estão disponíveis em suagentes em segundo plano.
- Pedir a Claude para “run this in the background”
- Pressionar Ctrl+B para colocar uma tarefa em execução em segundo plano
CLAUDE_CODE_DISABLE_BACKGROUND_TASKS para 1. Veja Variáveis de ambiente.
Padrões comuns
Isole operações de alto volume
Um dos usos mais eficazes para suagentes é isolar operações que produzem grandes quantidades de saída. Executar testes, buscar documentação ou processar arquivos de log pode consumir contexto significativo. Ao delegar esses para um suagente, a saída detalhada fica no contexto do suagente enquanto apenas o resumo relevante retorna para sua conversa principal.Execute pesquisa paralela
Para investigações independentes, gere múltiplos suagentes para trabalhar simultaneamente:Encadeie suagentes
Para fluxos de trabalho multi-etapas, peça a Claude para usar suagentes em sequência. Cada suagente completa sua tarefa e retorna resultados para Claude, que então passa contexto relevante para o próximo suagente.Escolha entre suagentes e conversa principal
Use a conversa principal quando:- A tarefa precisa de frequente ida e volta ou refinamento iterativo
- Múltiplas fases compartilham contexto significativo (planejamento → implementação → teste)
- Você está fazendo uma mudança rápida e direcionada
- Latência importa. Suagentes começam do zero e podem precisar de tempo para reunir contexto
- A tarefa produz saída detalhada que você não precisa em seu contexto principal
- Você quer aplicar restrições de ferramentas específicas ou permissões
- O trabalho é auto-contido e pode retornar um resumo
Suagentes não podem gerar outros suagentes. Se seu fluxo de trabalho requer delegação aninhada, use Skills ou encadeie suagentes da conversa principal.
Gerencie o contexto do suagente
Retome suagentes
Cada invocação de suagente cria uma nova instância com contexto fresco. Para continuar o trabalho de um suagente existente em vez de começar do zero, peça a Claude para retomá-lo. Suagentes retomados retêm seu histórico de conversa completo, incluindo todas as chamadas de ferramenta anteriores, resultados e raciocínio. O suagente continua exatamente de onde parou em vez de começar do zero. Quando um suagente completa, Claude recebe seu ID de agente. Para retomar um suagente, peça a Claude para continuar o trabalho anterior:~/.claude/projects/{project}/{sessionId}/subagents/. Cada transcrição é armazenada como agent-{agentId}.jsonl.
Transcrições de suagente persistem independentemente da conversa principal:
- Compactação da conversa principal: Quando a conversa principal se compacta, transcrições de suagente não são afetadas. Elas são armazenadas em arquivos separados.
- Persistência de sessão: Transcrições de suagente persistem dentro de sua sessão. Você pode retomar um suagente após reiniciar Claude Code retomando a mesma sessão.
- Limpeza automática: Transcrições são limpas com base na configuração
cleanupPeriodDays(padrão: 30 dias).
Auto-compactação
Suagentes suportam compactação automática usando a mesma lógica que a conversa principal. Por padrão, auto-compactação é acionada em aproximadamente 95% de capacidade. Para acionar compactação mais cedo, definaCLAUDE_AUTOCOMPACT_PCT_OVERRIDE para uma porcentagem mais baixa (por exemplo, 50). Veja variáveis de ambiente para detalhes.
Eventos de compactação são registrados em arquivos de transcrição de suagente:
preTokens mostra quantos tokens foram usados antes da compactação ocorrer.
Suagentes de exemplo
Estes exemplos demonstram padrões eficazes para construir suagentes. Use-os como pontos de partida, ou gere uma versão personalizada com Claude.Revisor de código
Um suagente somente leitura que revisa código sem modificá-lo. Este exemplo mostra como projetar um suagente focado com acesso limitado a ferramentas (sem Edit ou Write) e um prompt detalhado que especifica exatamente o que procurar e como formatar a saída.Debugger
Um suagente que pode analisar e corrigir problemas. Diferentemente do revisor de código, este inclui Edit porque corrigir bugs requer modificar código. O prompt fornece um fluxo de trabalho claro de diagnóstico para verificação.Cientista de dados
Um suagente específico de domínio para trabalho de análise de dados. Este exemplo mostra como criar suagentes para fluxos de trabalho especializados fora de tarefas típicas de codificação. Ele explicitamente definemodel: sonnet para análise mais capaz.
Validador de consulta de banco de dados
Um suagente que permite acesso Bash, mas valida comandos para permitir apenas consultas SQL somente leitura. Este exemplo mostra como usar hooksPreToolUse para validação condicional quando você precisa de controle mais fino do que o campo tools fornece.
command em sua configuração de hook:
tool_input.command. Código de saída 2 bloqueia a operação e alimenta a mensagem de erro de volta para Claude. Veja Hooks para detalhes sobre códigos de saída e Entrada de Hook para o esquema de entrada completo.
Próximos passos
Agora que você entende suagentes, explore esses recursos relacionados:- Distribua suagentes com plugins para compartilhar suagentes entre equipes ou projetos
- Execute Claude Code programaticamente com o Agent SDK para CI/CD e automação
- Use servidores MCP para dar aos suagentes acesso a ferramentas externas e dados