Subagentes
Subagentes são assistentes de IA especializados aos quais o agente do Cherri Code pode delegar tarefas. Cada subagente opera em sua própria janela de contexto, realiza tipos específicos de trabalho e retorna o resultado ao agente pai. Use subagentes para dividir tarefas complexas, trabalhar em paralelo e preservar o contexto na conversa principal.
Você pode usar subagentes no Editor, na CLI e em Cloud Agents.
Isolamento de contexto
Cada subagente tem sua própria janela de contexto. Tarefas longas de pesquisa ou exploração não ocupam espaço na sua conversa principal.
Execução paralela
Inicie vários subagentes simultaneamente. Trabalhe em diferentes partes da sua base de código sem esperar a conclusão de uma etapa para iniciar outra.
Especialização técnica
Configure subagentes com prompts personalizados, acesso a ferramentas e modelos para tarefas específicas de domínio.
Reutilização
Defina subagentes personalizados e use-os em diferentes projetos.
Como os subagentes funcionam
Quando o agente encontra uma tarefa complexa, ele pode iniciar um subagente automaticamente. O subagente recebe um prompt com todo o contexto necessário, trabalha de forma autônoma e retorna uma mensagem final com os resultados.
Os subagentes começam com um contexto limpo. O agente pai inclui informações relevantes no prompt, pois os subagentes não têm acesso ao histórico da conversa anterior.
Primeiro plano vs. segundo plano
Os subagentes são executados em um destes dois modos:
| Modo | Comportamento | Ideal para |
|---|---|---|
| Primeiro plano | Bloqueia até o subagente concluir. Retorna o resultado imediatamente. | Tarefas sequenciais que exigem a saída. |
| Segundo plano | Retorna imediatamente. O subagente trabalha de forma independente. | Tarefas de longa duração ou fluxos de trabalho paralelos. |
Subagentes integrados
O Cherri Code inclui três subagentes integrados que lidam automaticamente com operações que exigem muito contexto. Esses subagentes foram projetados com base na análise de conversas com agentes que atingiram os limites da janela de contexto.
| Subagente | Finalidade | Por que é um subagente |
|---|---|---|
| Explore | Pesquisa e analisa bases de código | A exploração da base de código gera muita saída intermediária, o que sobrecarregaria o contexto principal. Usa um modelo mais rápido para realizar muitas pesquisas em paralelo. |
| Bash | Executa séries de comandos de shell | A saída dos comandos costuma ser extensa. Isolá-la mantém o agente principal focado nas decisões, não nos logs. |
| Browser | Controla o navegador por meio de ferramentas MCP | As interações com o navegador produzem snapshots do DOM e capturas de tela com muito ruído. O subagente filtra esse conteúdo para obter resultados relevantes. |
Por que esses subagentes existem
Essas três operações têm características em comum: geram saídas intermediárias com muito ruído, se beneficiam de prompts e ferramentas especializados e podem consumir bastante contexto. Executá-las como subagentes resolve vários problemas:
- Isolamento de contexto — A saída intermediária fica no subagente. O agente principal vê apenas o resumo final.
- Flexibilidade de modelo — O subagente de exploração usa um modelo mais rápido por padrão. Isso permite executar 10 buscas paralelas no tempo que uma única busca do agente principal levaria.
- Configuração especializada — Cada subagente tem prompts e acesso a ferramentas ajustados para sua tarefa específica.
- Eficiência de custo — Modelos mais rápidos custam menos. Isolar trabalhos que consomem muitos tokens em subagentes com escolhas de modelo adequadas reduz o custo geral.
Você não precisa configurar esses subagentes. O agente os usa automaticamente quando apropriado.
Quando usar subagentes
| Use subagentes quando... | Use habilidades quando... |
|---|---|
| Você precisa de isolamento de contexto para tarefas de pesquisa extensas | A tarefa tem um único objetivo (gerar changelog, formatar) |
| Precisa executar vários fluxos de trabalho em paralelo | Você quer uma ação rápida e repetível |
| A tarefa exige especialização técnica em várias etapas | A tarefa é concluída de uma só vez |
| Você quer uma verificação independente do trabalho | Você não precisa de uma janela de contexto separada |
Se você estiver criando um subagente para uma tarefa simples e com um único objetivo, como "gerar um changelog" ou "formatar imports", considere usar uma habilidade.
Início rápido
O agente usa subagentes automaticamente quando necessário. Você também pode criar um subagente personalizado pedindo ao agente:
Crie um arquivo de subagente em .cursor/agents/verifier.md com frontmatter YAML (nome, descrição), seguido do prompt. O subagente verificador deve validar o trabalho concluído, verificar se as implementações funcionam, executar testes e relatar o que foi aprovado e o que está incompleto.
Try in Cherri CodePara ter mais controle, crie subagentes personalizados manualmente no diretório do projeto ou do usuário.
Subagentes personalizados
Defina subagentes personalizados para incorporar conhecimento especializado, aplicar padrões da equipe ou automatizar fluxos de trabalho repetitivos.
Localizações de arquivos
| Tipo | Localização | Escopo |
|---|---|---|
| Subagentes do projeto | .cursor/agents/ | Somente o projeto atual |
.claude/agents/ | Somente o projeto atual (compatibilidade com Claude) | |
.codex/agents/ | Somente o projeto atual (compatibilidade com Codex) | |
| Subagentes do usuário | ~/.cursor/agents/ | Todos os projetos do usuário atual |
~/.claude/agents/ | Todos os projetos do usuário atual (compatibilidade com Claude) | |
~/.codex/agents/ | Todos os projetos do usuário atual (compatibilidade com Codex) |
Os subagentes do projeto têm precedência em caso de conflito de nomes. Quando várias localizações contêm subagentes com o mesmo nome, .cursor/ tem precedência sobre .claude/ e .codex/.
Formato do arquivo
Cada subagente é um arquivo markdown com frontmatter YAML:
---name: security-auditordescription: Security specialist. Use when implementing auth, payments, or handling sensitive data.model: inheritreadonly: true---You are a security expert auditing code for vulnerabilities.When invoked:1. Identify security-sensitive code paths2. Check for common vulnerabilities (injection, XSS, auth bypass)3. Verify secrets are not hardcoded4. Review input validation and sanitizationReport findings by severity:- Critical (must fix before deploy)- High (fix soon)- Medium (address when possible)Campos de configuração
| Campo | Tipo | Obrigatório | Padrão | Descrição |
|---|---|---|---|---|
name | string | Não | Derivado do nome do arquivo | Nome de exibição e identificador. Use letras minúsculas e hífens. |
description | string | Não | — | Breve descrição exibida nas dicas da ferramenta Task. O agente a lê para decidir se delega a tarefa. |
model | string | Não | inherit | Modelo a ser usado: inherit ou um ID de modelo específico. Consulte a configuração do modelo. |
readonly | boolean | Não | false | Se true, o subagente é executado com permissões de gravação restritas (sem edições de arquivos nem comandos de shell que alterem o estado). |
is_background | boolean | Não | false | Se true, o subagente é executado em segundo plano sem bloquear o agente pai. |
Configuração de modelo
O campo model determina qual modelo um subagente usa. Há duas opções:
| Valor | Comportamento |
|---|---|
inherit | Usa o mesmo modelo do agente pai. Esta é a opção padrão. |
| Um ID de modelo específico | Usa exatamente o modelo especificado, como composer-2 ou gpt-5.6-sol. Consulte a referência de modelos para conhecer os IDs disponíveis. |
Escolha inherit quando o subagente precisar da mesma capacidade de raciocínio do agente pai. Use um ID de modelo específico quando precisar dos recursos de um modelo específico, independentemente do modelo usado pelo agente pai.
Parâmetros do modelo
Adicione colchetes a um ID de modelo para definir opções específicas, como velocidade, esforço de raciocínio e janela de contexto. Especifique as opções como pares id=value e separe várias opções por vírgulas.
| Exemplo | Comportamento |
|---|---|
composer-2.5[] | Fixa o modelo base. Colchetes vazios selecionam a variante padrão em vez da rápida. |
composer-2.5[fast=false] | Seleciona explicitamente a variante padrão (não rápida). |
claude-opus-5[effort=high] | Define o esforço de raciocínio como high. |
claude-opus-5[context=300k] | Define a janela de contexto como 300 mil tokens. |
claude-opus-5[effort=high,context=300k] | Combina opções. |
As opções disponíveis dependem do modelo e usam os mesmos pares id=value dos parâmetros do modelo do SDK.
---name: plannerdescription: Plans complex changes before implementation.model: claude-opus-5[effort=high]---Break the task into a clear, ordered implementation plan.Quando o modelo configurado não é usado
O Cherri Code respeita o campo model no frontmatter do seu subagente, exceto quando uma destas condições se aplica:
- Restrições do administrador da equipe — O administrador da sua organização bloqueou o modelo especificado.
- Configuração legada do Max Mode — Em um plano legado de precificação por solicitação, o modelo exige o Max Mode e ele não está habilitado.
- Limitações do plano — O modelo não está disponível no seu plano atual.
Nesses casos, o Cherri Code usa um modelo compatível como alternativa. Se o comportamento do modelo não for o esperado, verifique seu plano e as configurações do modelo.
---name: code-reviewerdescription: Reviews code for correctness and style.model: inherit---Review the code changes for bugs, style issues, and edge cases.---name: search-agentdescription: Searches the codebase for relevant files and symbols.model: inherit---Search the codebase and return relevant file paths and code snippets.---name: reasoning-agentdescription: Handles complex architectural decisions.model: gpt-5.6-sol---Analyze the architecture and recommend changes with detailed reasoning.Como usar subagentes
Delegação automática
O agente delega tarefas proativamente com base em:
- A complexidade e o escopo da tarefa
- Descrições personalizadas de subagentes no seu projeto
- O contexto atual e as ferramentas disponíveis
Inclua frases como "usar proativamente" ou "sempre usar para" no campo de descrição para incentivar a delegação automática.
Invocação explícita
Solicite um subagente específico usando a sintaxe /name no prompt:
> /verifier confirm the auth flow is complete> /debugger investigate this error> /security-auditor review the payment moduleTambém é possível invocar subagentes mencionando-os naturalmente:
> Use o subagente verifier para confirmar que o fluxo de autenticação está completo> Peça ao subagente debugger para investigar este erro> Execute o subagente security-auditor no módulo de pagamentoExecução paralela
Inicie vários subagentes simultaneamente para maximizar a produtividade:
> Revise as alterações na API e atualize a documentação em paraleloO agente envia várias chamadas à ferramenta Task em uma única mensagem, fazendo com que os subagentes sejam executados simultaneamente.
Cópias isoladas do projeto
Por padrão, os subagentes compartilham o checkout do agente pai. Quando vários subagentes editam arquivos ao mesmo tempo, podem sobrescrever as alterações uns dos outros. Solicite isolamento para que cada subagente seja executado em sua própria cópia do projeto:
> Execute um enxame de subagentes para corrigir esses cinco testes instáveis, cada um em seu próprio ambienteCada subagente recebe seu próprio ambiente e sua própria branch: uma worktree isolada do Git com um diretório de trabalho separado na mesma máquina ou um ambiente na nuvem próprio, com uma VM dedicada e um clone do repositório. As alterações de cada subagente permanecem em sua própria branch até que o agente pai faça mergear dos resultados.
Esse é o isolamento no nível de subagente dentro de uma única sessão. Para isolar um agente inteiro, execute-o em um worktree ou atribua a tarefa a um subagente na nuvem.
Subagentes na nuvem
Em uma sessão de agente local, você pode delegar trabalho a um subagente na nuvem, executado em sua própria VM e branch. Seu espaço de trabalho local permanece limpo e responsivo enquanto tarefas de longa duração ou paralelas são executadas na nuvem. O agente pai continua em execução localmente ou na nuvem, sem interrupções. Os subagentes na nuvem são executados pela Janela de Agentes no Cherri Code desktop.
Inicie um subagente na nuvem com /in-cloud
Digite /in-cloud e a próxima tarefa enviada será executada como um subagente na nuvem. Ele cria sua própria VM e branch para trabalhar na tarefa.
Isso é útil para isolar trabalhos de longa duração ou em paralelo, como corrigir a CI, investigar uma issue ou explorar uma base de código enquanto você continua trabalhando localmente.
Coloque uma PR no piloto automático com /autopilot
Peça a um subagente na nuvem para assumir uma pull request com /autopilot ou clicando no botão de ação rápida. O agente na nuvem trabalha remotamente para preparar a PR para merge sem ocupar sua sessão local.
Os subagentes na nuvem usam o ambiente configurado para seu repositório e seguem as mesmas regras de modelo e recursos que outros Cloud Agents. Como são executados em uma VM na nuvem, seus servidores MCP vêm da configuração da sua equipe em cursor.com/agents, e não da sua sessão local.
Retomando subagentes
É possível retomar subagentes para dar continuidade a conversas anteriores. Isso é útil para tarefas de longa duração que se estendem por várias invocações.
Cada execução de subagente retorna um ID de agente. Passe esse ID para retomar o subagente com todo o contexto preservado:
> Retome o agente abc123 e analise as falhas de teste restantesSubagentes em segundo plano registram seu estado durante a execução. Você pode retomar um subagente após a conclusão para continuar a conversa com o contexto preservado.
Padrões comuns
Agente de verificação
Um agente de verificação valida de forma independente se o trabalho declarado foi realmente concluído. Isso aborda um problema comum em que a IA marca tarefas como concluídas, mas as implementações estão incompletas ou com falhas.
---name: verifierdescription: Valida trabalhos concluídos. Use depois que as tarefas forem marcadas como concluídas para confirmar que as implementações estão funcionais.---Você é um validador cético. Seu trabalho é verificar se aquilo que foi dado como concluído realmente funciona.Quando acionado:1. Identifique o que foi dado como concluído2. Verifique se a implementação existe e está funcional3. Execute os testes ou as etapas de verificação relevantes4. Procure casos de borda que possam ter passado despercebidosSeja minucioso e cético. Relate:- O que foi verificado e aprovado- O que foi dado como pronto, mas está incompleto ou quebrado- Problemas específicos que precisam ser resolvidosNão aceite as afirmações como verdade absoluta. Teste tudo.Crie um arquivo de subagente em .cursor/agents/verifier.md com frontmatter YAML contendo nome e descrição. A descrição deve ser 'Valida o trabalho concluído. Use após as tarefas serem marcadas como concluídas para confirmar que as implementações funcionam.' O corpo do prompt deve instruí-lo a ser cético, verificar se as implementações realmente funcionam executando testes e procurar casos de borda.
Try in Cherri CodeEsse padrão é útil para:
- Validar se as funcionalidades funcionam de ponta a ponta antes de marcar os Tickets como concluídos
- Detectar funcionalidades parcialmente implementadas
- Garantir que os testes realmente passam (não apenas que os arquivos de teste existem)
Padrão de orquestração
Para fluxos de trabalho complexos, um agente principal pode coordenar vários subagentes especializados em sequência:
- Planejador analisa os requisitos e cria um plano técnico
- Implementador desenvolve a funcionalidade com base no plano
- Verificador confirma que a implementação atende aos requisitos
Cada etapa de transferência inclui uma saída estruturada para que o próximo agente tenha um contexto claro.
Exemplos de subagentes
Depurador
---name: debuggerdescription: Especialista em depuração de erros e falhas de teste. Use ao encontrar problemas.---You are an expert debugger specializing in root cause analysis.When invoked:1. Capture error message and stack trace2. Identify reproduction steps3. Isolate the failure location4. Implement minimal fix5. Verify solution worksFor each issue, provide:- Root cause explanation- Evidence supporting the diagnosis- Specific code fix- Testing approachFocus on fixing the underlying issue, not symptoms.Crie um arquivo de subagente em .cursor/agents/debugger.md com frontmatter YAML contendo nome e descrição. O subagente de depuração deve ser especializado em análise de causa raiz: capturar stack traces, identificar etapas de reprodução, isolar falhas, implementar correções mínimas e verificar as soluções.
Try in Cherri CodeExecutor de testes
---name: test-runnerdescription: Test automation expert. Use proactively to run tests and fix failures.---You are a test automation expert.When you see code changes, proactively run appropriate tests.If tests fail:1. Analyze the failure output2. Identify the root cause3. Fix the issue while preserving test intent4. Re-run to verifyReport test results with:- Number of tests passed/failed- Summary of any failures- Changes made to fix issuesCrie um arquivo de subagente em .cursor/agents/test-runner.md com frontmatter YAML contendo nome e descrição (mencionando 'Usar proativamente'). O subagente test-runner deve executar testes proativamente ao identificar alterações no código, analisar falhas, corrigir issues sem comprometer a intenção dos testes e relatar os resultados.
Try in Cherri CodeMelhores práticas
- Crie subagentes específicos — Cada subagente deve ter uma única responsabilidade clara. Evite agentes "auxiliares" genéricos.
- Invista nas descrições — O campo
descriptiondetermina quando o agente delega tarefas ao seu subagente. Dedique tempo para refiná-lo. Teste criando prompts e verificando se o subagente correto é acionado. - Mantenha os prompts concisos — Prompts longos e prolixos dispersam o foco. Seja específico e direto.
- Adicione subagentes ao controle de versão — Inclua
.cursor/agents/no seu repositório para que toda a equipe se beneficie. - Comece com agentes gerados pelo agente — Deixe o agente ajudar você a criar a configuração inicial e depois personalize-a.
- Use hooks para gerar arquivos de saída — Se precisar que os subagentes produzam arquivos de saída estruturados, considere usar hooks para processar e salvar os resultados de maneira consistente.
Antipadrões a evitar
Não crie dezenas de subagentes genéricos. Ter mais de 50 subagentes com instruções vagas, como "ajuda com programação", não é eficaz. O agente não saberá quando usá-los, e você perderá tempo mantendo-os.
- Descrições vagas — "Usar para tarefas gerais" não informa ao agente quando delegar. Seja específico: "Usar ao implementar fluxos de autenticação com provedores OAuth."
- Prompts longos demais — Um prompt de 2.000 palavras não torna um subagente mais inteligente. Apenas o torna mais lento e difícil de manter.
- Duplicar comandos slash — Se uma tarefa tem uma única finalidade e não precisa de isolamento de contexto, use uma skill ou um comando.
- Subagentes demais — Comece com 2 a 3 subagentes focados. Adicione mais apenas quando tiver casos de uso claros e distintos.
Gerenciar subagentes
Criar subagentes
A maneira mais fácil de criar um subagente é pedir ao agente para criar um para você:
Crie um arquivo de subagente em .cursor/agents/security-reviewer.md com frontmatter YAML contendo nome e descrição. O subagente security-reviewer deve verificar o código em busca de vulnerabilidades comuns, como injeção, XSS e segredos codificados diretamente.
Try in Cherri CodeVocê também pode criar subagentes manualmente adicionando arquivos Markdown a .cursor/agents/ (projeto) ou ~/.cursor/agents/ (usuário).
Como visualizar subagentes
O agente inclui todos os subagentes personalizados entre as ferramentas disponíveis. Para ver quais subagentes estão configurados, verifique o diretório .cursor/agents/ no seu projeto.
Desempenho e custo
Os subagentes envolvem algumas concessões. Entendê-las ajuda você a decidir quando usá-los.
| Benefício | Desvantagem |
|---|---|
| Isolamento de contexto | Sobrecarga de inicialização (cada subagente reúne seu próprio contexto) |
| Execução paralela | Maior uso de tokens (vários contextos em execução simultaneamente) |
| Foco especializado | Latência (pode ser mais lento que o agente principal em tarefas simples) |
Considerações sobre tokens e custos
- Os subagentes consomem tokens de forma independente — Cada subagente tem sua própria janela de contexto e seu próprio uso de tokens. Executar cinco subagentes em paralelo consome cerca de cinco vezes mais tokens que um único agente.
- Avalie a sobrecarga — Para tarefas rápidas e simples, o agente principal costuma ser mais rápido. Os subagentes se destacam em tarefas complexas, de longa duração ou paralelas.
- Os subagentes podem ser mais lentos — O benefício é o isolamento de contexto, não a velocidade. Um subagente que executa uma tarefa simples pode ser mais lento que o agente principal porque começa sem contexto.
Perguntas frequentes
O Cherri Code inclui três subagentes integrados: explore para busca na base de código, bash para executar comandos de shell e browser para automação do navegador via MCP. Eles realizam automaticamente operações que exigem muito contexto. Não é necessário configurá-los.
Sim, respeitando um limite de aninhamento. Desde o Cherri Code 2.5, os subagentes podem iniciar subagentes filhos para criar uma árvore de trabalho coordenado. O agente principal e seus subagentes diretos podem iniciar subagentes, mas um subagente iniciado por outro subagente não pode iniciar outros. Inícios aninhados também exigem acesso à ferramenta Task no modo atual, e hooks ou políticas de ferramentas podem bloquear a criação de subagentes.
Os subagentes em segundo plano gravam a saída em ~/.cursor/subagents/. O agente pai pode ler esses arquivos para verificar o progresso.
O subagente retorna um status de erro ao agente pai. O agente pai pode tentar novamente, retomar com contexto adicional ou lidar com a falha de outra forma.
Sim. Os subagentes herdam todas as ferramentas do agente pai, incluindo ferramentas MCP de servidores configurados. Subagentes na nuvem são a exceção: eles são executados em uma VM na nuvem e usam os servidores MCP configurados para sua equipe em cursor.com/agents, não os servidores da sua sessão local.
Verifique a descrição e o prompt do subagente. Garanta que as instruções sejam específicas e inequívocas. Você também pode testar o subagente invocando-o explicitamente com uma tarefa simples.
O Cherri Code substitui o modelo configurado quando o administrador da sua equipe o bloqueia, seu plano não o inclui ou um plano legado de precificação por solicitação exige o Modo Max e ele não está habilitado. Em planos legados de precificação por solicitação sem o Modo Max, os subagentes usam o Composer, independentemente de qualquer configuração de model. Se o administrador da sua equipe bloqueou o Composer, os subagentes só podem ser executados quando o Modo Max está habilitado. Em planos com precificação baseada em uso e planos legados de precificação por solicitação com o Modo Max, os subagentes usam, por padrão, o modelo do agente pai. Consulte a configuração do modelo para mais detalhes.