---
title: Tipos de Agent e sub-agents
description: Como funcionam os tipos LLM, Sequencial, Paralelo e Loop, como configurar sub-agents campo a campo, e as formas de rotear a conversa entre eles.
---

# Tipos de Agent e sub-agents

Um Agent pode trabalhar sozinho ou como chefe de uma pequena equipe. Na equipe, cada membro é um **sub-agent**: um Agent especialista que só existe dentro do Agent principal (o **orquestrador**). O **tipo** do Agent, escolhido no passo **Identidade**, define como essa equipe trabalha.

## Os quatro tipos

| Tipo | Quem conversa | Como os sub-agents são usados | Exige |
|---|---|---|---|
| **LLM** | O próprio Agent, com modelo, instrução e ferramentas | Opcional. O Agent decide, a cada mensagem, se responde ou se **transfere** para um sub-agent. | Modelo |
| **Sequencial** | Os sub-agents, um depois do outro | Todos rodam, **sempre na mesma ordem**. | Pelo menos 1 sub-agent |
| **Paralelo** | Os sub-agents, ao mesmo tempo | Todos rodam **simultaneamente**, cada um no seu ramo. | Pelo menos 2 sub-agents |
| **Loop** | Um sub-agent, repetidas vezes | O mesmo sub-agent roda de novo até o limite de voltas. | **Exatamente 1** sub-agent e **Máximo de Iterações** |

<Dica>

Para atendimento no WhatsApp, quase sempre o tipo certo é **LLM**: sozinho, ou como orquestrador que transfere para especialistas. Os tipos Sequencial, Paralelo e Loop são para tarefas de processamento (analisar um documento em etapas, consultar várias fontes, revisar um texto até ficar bom), não para conversa livre.

</Dica>

### LLM

É o Agent "clássico". Tem modelo, **Instrução (System Prompt)**, **User Message Template** e ferramentas. Se você adicionar sub-agents a um Agent LLM, ele vira orquestrador: a plataforma dá a ele uma ferramenta interna de transferência e, a cada mensagem, ele escolhe entre responder ou passar a conversa para o sub-agent mais adequado. A escolha é feita com base no **nome** e na **descrição de atuação** de cada sub-agent, por isso esses campos precisam ser claros.

### Sequencial

Os sub-agents rodam em fila, na ordem em que aparecem no passo **Sub-agentes**. Na Revisão, o resumo diz *"Passa o atendimento por N colega(s), sempre nesta ordem."*

O Agent sequencial não tem modelo nem instrução próprios: quem pensa são os sub-agents. Para um sub-agent usar o resultado do anterior, use a **Chave de saída (output_key)**: o resultado de cada um fica guardado com esse nome e o próximo pode referenciá-lo com <code v-pre>{{nome_da_chave}}</code> na instrução.

**Exemplo:** análise de contrato em três etapas.

| Ordem | Sub-agent | Chave de saída | Instrução (resumo) |
|---|---|---|---|
| 1 | Extrator | `clausulas` | Liste as cláusulas do contrato. |
| 2 | Analista | `riscos` | Para cada item de <code v-pre>{{clausulas}}</code>, aponte o risco. |
| 3 | Redator | — | Com base em <code v-pre>{{riscos}}</code>, escreva um parecer de um parágrafo. |

### Paralelo

Todos os sub-agents rodam ao mesmo tempo, cada um sem ver o que os outros estão fazendo. Na Revisão: *"Aciona N colegas ao mesmo tempo e junta o que eles trouxerem."* Use a **Chave de saída** em cada um para que os resultados fiquem separados e possam ser usados depois.

Se um dos sub-agents falhar, a execução inteira é interrompida.

### Loop

Um único sub-agent roda várias vezes seguidas, até atingir o **Máximo de Iterações** (de 1 a 50, obrigatório). Na Revisão: *"Repete o próprio trabalho até resolver, no limite de N voltas."*

<Cuidado>

Hoje o loop sempre roda até o **Máximo de Iterações**: o assistente não oferece uma forma de o sub-agent "avisar que terminou" e encerrar antes. Comece com um número baixo (2 ou 3) e aumente só se o resultado pedir, porque cada volta é uma chamada inteira ao modelo.

</Cuidado>

<Cuidado>

O Loop exige **exatamente um** sub-agent. O assistente não bloqueia a publicação com dois ou mais, mas a publicação falha. Se aparecer erro ao publicar um Agent Loop, confira o número de sub-agents.

</Cuidado>

## Configurar um sub-agent

No passo **Sub-agentes**, clique em **Adicionar sub-agente**. Abre a janela **Configurar sub-agente**, com seis abas. Ao final, clique em **Salvar sub-agente**.

<Captura legenda="Passo Sub-agentes do assistente, com o botão 'Adicionar sub-agente'." src="/img/agents-wizard-sub-agentes.png" />

### Aba Identidade

<Captura legenda="Aba Identidade do sub-agent, com ícone, nome, especialidade e descrição." src="/img/subagente-identidade.png" />

| Campo | O que colocar |
|---|---|
| Ícone e cor | O badge do sub-agent. |
| **Nome do sub-agente** (obrigatório) | Ex.: "Agente de Triagem Processual". É com esse nome que o orquestrador o chama. |
| **Especialidade / Role** | Em uma linha, o que ele faz. |
| **Descrição** | Detalhe da especialidade. |

### Aba Comportamento

<Captura legenda="Aba Comportamento do sub-agent, com modelo herdado, System Prompt, Temperatura, Top-P e modo de colaboração." src="/img/subagente-comportamento.png" />

| Campo | Padrão | O que faz |
|---|---|---|
| **Modelo** / **Herdar do orquestrador** | Herdar | Com "Herdar" ligado, usa o mesmo modelo do Agent principal. Desligue para usar outro (ex.: um modelo mais barato para uma tarefa simples). |
| **System Prompt** | vazio | A instrução própria do sub-agent. Escreva como se fosse um Agent independente. |
| **Temperatura** | 0,7 | De 0 a 2. Mais baixo = respostas mais previsíveis. Não é enviada para modelos Claude. |
| **Top-P** | 0,95 | De 0 a 1. Outro controle de variação. Não é enviado para modelos Claude. |
| **Modo de colaboração** | Chat | Como o sub-agent se relaciona com o orquestrador (tabela abaixo). |

| Modo | Comportamento |
|---|---|
| **Chat** | Conversa contínua. Assume a conversa e segue falando com o contato. |
| **Task** | Executa a tarefa e **devolve** ao orquestrador automaticamente. |
| **Single-turn** | Responde uma vez, de forma autônoma, sem ver o histórico. Não devolve nem transfere. |

### Aba Ferramentas

<Captura legenda="Aba Ferramentas do sub-agent, com as ferramentas próprias e a seção Tools liberadas." src="/img/subagente-ferramentas.png" />

As ferramentas, Skills e MCP Servers **deste** sub-agent. Nada é herdado do orquestrador, a não ser o CRM nativo, que vai para todos. Aqui também fica a seção **Tools liberadas**, para escolher quais ferramentas de cada servidor o sub-agent pode usar. Veja [MCP Servers no Agent](/guia/agents/mcp-servers#escolher-quais-ferramentas-o-agent-pode-usar).

### Aba Conhecimento

Bases de conhecimento deste sub-agent, com os mesmos controles do Agent principal. Veja [Conhecimento](/guia/agents/conhecimento).

### Aba Roteamento

<Captura legenda="Aba Roteamento do sub-agent, com as regras de quando atuar, a descrição de atuação e os interruptores de devolução." src="/img/subagente-roteamento.png" />

É aqui que você diz ao orquestrador **quando** chamar este sub-agent.

| Campo | O que faz |
|---|---|
| **Quando este agente deve atuar** | Regras com gatilho (sempre, por intenção ou por palavra-chave). Elas viram texto na descrição que o orquestrador lê. |
| **Descrição de atuação** | Texto livre sobre quando acionar este sub-agent. É o campo que mais influencia a escolha do orquestrador. |
| **Pode devolver** (ligado) | Devolve o atendimento ao agente principal ao concluir. |
| **Pode acionar outros agentes** (desligado) | Pode passar o atendimento para outros agentes. |

Esses dois interruptores definem o **Modo de colaboração**: "Pode acionar outros agentes" ligado = Chat; só "Pode devolver" = Task; nenhum dos dois = Single-turn.

### Aba Avançado

<Captura legenda="Aba Avançado do sub-agent. Hoje só o Timeout é aplicado." src="/img/subagente-avancado.png" />

**Timeout (segundos)**, padrão 30: tempo máximo de uma execução deste sub-agent.

<Cuidado>

A aba Avançado também mostra **Tentativas (retry)**, **Delay inicial**, **Em caso de erro**, **Sub-agente de fallback** e **Contrato de entrada/saída**, e a aba Comportamento mostra **Max Tokens**. Hoje esses campos **não são aplicados**: só o Timeout é salvo. O botão **Gerar com IA** do System Prompt ainda não funciona.

</Cuidado>

## Regras de transferência

- **Um sub-agent que não tem sub-agents próprios não transfere para outro sub-agent.** Só o orquestrador re-roteia, sempre na próxima mensagem do contato. Isso evita que dois especialistas fiquem se passando a conversa em loop.
- O orquestrador não transfere para ele mesmo.
- A hierarquia pode ter até **8 níveis** de profundidade.
- Cada sub-agent existe só dentro do seu orquestrador. Para usar o mesmo especialista em dois orquestradores, configure-o nos dois.

## Formas de rotear a conversa

### Somente roteamento (o orquestrador nunca responde)

Por padrão, o Agent orquestrador decide a cada mensagem entre transferir para um sub-agent **ou responder ele mesmo** — e, na prática, ele oscila: às vezes transfere, às vezes assume a conversa e faz perguntas que eram território de uma persona específica. Escrever "sempre transfira, nunca responda" na instrução não resolve, porque instrução é sugestão para o modelo, não regra.

O switch **Somente roteamento**, na aba **Sub-agentes**, tira essa escolha do modelo. Com ele ligado, o orquestrador só decide e transfere: se ainda assim ele tentar responder o contato, a plataforma descarta a resposta e exige a transferência. O contato nunca fica sem resposta — quem responde é sempre um sub-agent.

<Captura legenda="Somente roteamento ligado na aba Sub-agentes, com o sub-agente de fallback escolhido." src="/img/agents-somente-roteamento.png" />

Dois campos acompanham o switch:

- **Sub-agente de fallback** — quem recebe a conversa quando o orquestrador insiste em responder. A lista vem dos sub-agents que você já adicionou.
- **Tentativas de correção antes de forçar** — quantas chances o orquestrador tem de se corrigir sozinho antes de a transferência ser imposta. Vazio equivale a 1. Com `0`, a primeira tentativa de responder já força a transferência para o fallback.

<Dica>

Deixe o padrão (1 tentativa). Ela costuma bastar para o orquestrador escolher **a persona certa**, em vez de cair sempre no fallback — e custa, no pior caso, uma chamada extra ao modelo.

</Dica>

<Cuidado>

O switch fica desabilitado enquanto não houver **pelo menos um sub-agent** e um modelo selecionado — sem destino, não há para onde rotear. Se você renomear ou remover o sub-agent escolhido como fallback, a tela acusa o erro e a publicação fica bloqueada até você escolher outro.

</Cuidado>

### Roteamento por etapa do CRM (além da transferência direta)

Existe uma segunda forma de trocar "quem responde", diferente da delegação direta entre agents: o orquestrador consulta a **etapa atual do negócio no funil do CRM** e decide, a cada nova mensagem, qual sub-agent deve atender. É um **re-roteamento por estado** — a decisão é simples e reavaliada do zero a cada mensagem, com base na etapa do negócio associado ao contato, não uma passagem de bastão explícita entre duas partes.

Exemplo do workspace de demonstração **Advocacia Serafim**, com o funil `Comercial`:

| # | Etapa | Tipo |
|---|-------|------|
| 1 | Triagem | aberta |
| 2 | SDR | aberta |
| 3 | SDR - 1º Follow Up | aberta |
| 4 | SDR - 2º Follow Up | aberta |
| 5 | SDR - 3º Follow Up | aberta |
| 6 | Closer | aberta |
| 7 | Closer - 1º Follow Up | aberta |
| 8 | Closer - 2º Follow Up | aberta |
| 9 | Closer - 3º Follow Up | aberta |
| 10 | Contrato Gerado | aberta |
| 11 | Aguardando Assinatura | aberta |
| 12 | Gerar Financeiro | ganho |
| 13 | Desqualificado | perdido |

**Regra de roteamento:** o orquestrador só direciona a conversa para a closer **Aurora** quando o negócio está numa etapa cujo nome começa com `Closer` (`Closer`, `Closer - 1º/2º/3º Follow Up`, `Contrato Gerado`, `Aguardando Assinatura`, `Gerar Financeiro`). Enquanto o negócio está em `Triagem` ou `SDR*`, quem atende é a SDR **Sofia**.

Na prática, é a própria Sofia quem dispara a troca: ao qualificar o lead, ela move o negócio para a etapa `Closer`. Isso não aciona a Aurora na hora — o repasse acontece na **próxima mensagem** do contato, quando o orquestrador reavalia a etapa do CRM e roteia para quem é dono daquela etapa.

<Cuidado>

O handoff Sofia → Aurora é **imediato e contínuo, no mesmo WhatsApp** — não é uma ligação telefônica nem um "alguém vai te contatar em breve". Se você está escrevendo instruções para uma SDR que qualifica e passa o bastão para uma closer, deixe isso explícito na instrução: ela deve indicar que a conversa continua ali mesmo, sem prometer contato humano ou por telefone.

</Cuidado>

Os agents também têm autonomia para criar, via suas ferramentas de CRM, a estrutura que estiver faltando, em vez de depender de tudo pré-cadastrado. Antes de mover um negócio, o agent confere a lista de etapas do funil; se a etapa canônica necessária não existir, ele a cria usando o nome canônico exato e só então move o negócio. O mesmo vale para tags: o agent confere se a tag já existe antes de aplicar e, se faltar, cria a tag antes de aplicá-la ao contato.

<Cuidado>

Os nomes de etapa são um **vocabulário canônico compartilhado** entre os agents — o roteamento por etapa (regra `Closer*` → Aurora, acima) depende do nome exato. O agent **não pode inventar variações** (ex.: "Fechamento" no lugar de "Closer"); só cria a etapa se ela realmente não existir, sempre com o nome canônico, evitando duplicar etapas já existentes.

</Cuidado>

### Roteamento por classificação de assunto (sem etapa do funil)

O roteamento por etapa do CRM (acima) pressupõe uma negociação com várias etapas visíveis no Kanban. Nem todo orquestrador se encaixa nisso: às vezes a negociação inteira cabe numa etapa só (triagem), mas o domínio do atendimento tem várias especialidades — e é o **assunto da conversa**, não o estado do negócio, que decide qual sub-agent deve responder.

Exemplo do workspace de demonstração **Advocacia Pacheco** (atuação previdenciária). O orquestrador só classifica e transfere — nunca responde ao contato — entre seis sub-agents, todos com a mesma persona **Ana**:

| Sub-agent | Assunto |
|---|---|
| Incapacidade | Auxílio-doença, invalidez, auxílio-acidente, majoração de 25% |
| Aposentadoria Contributiva | Idade, tempo de contribuição, aposentadoria especial, PCD, rural |
| Assistencial | BPC/LOAS idoso e BPC/LOAS deficiente |
| Família | Pensão por morte, licença-maternidade |
| Revisão | Revisão de aposentadoria já concedida |
| Acolhimento | Rota padrão quando o assunto não se identifica com nenhuma das cinco especialidades acima |

**Regra de roteamento:** a cada mensagem do lead, o orquestrador classifica de novo o assunto e transfere para o sub-agent correspondente — não existe estado persistido de "para qual especialista este lead já foi". Se o lead muda de assunto no meio da conversa, o próximo roteamento já reflete isso.

<Cuidado>

**Sub-agent nunca transfere direto para outro sub-agent.** Só o orquestrador re-roteia, e sempre na mensagem seguinte do lead. Se um sub-agent pudesse transferir para outro diretamente, um par de especialistas mal configurados correria o risco de ficar se repassando a conversa em loop (A transfere para B, que devolve para A, e assim por diante). Ao desenhar um orquestrador com várias especialidades, mantenha essa regra: toda transferência passa pelo orquestrador, nunca de folha para folha.

</Cuidado>

<Dica>

Como as seis especialidades da Pacheco respondem sob a mesma persona (Ana), o contato nunca percebe a troca de atendente — não existe mensagem de transição do tipo "vou te passar para outra pessoa". Isso só funciona porque o orquestrador **não fala com o contato**: ele apenas classifica e transfere (mesmo princípio de [Somente roteamento](#somente-roteamento-o-orquestrador-nunca-responde), acima). Se as várias especialidades do seu orquestrador tiverem personas diferentes entre si, avalie se faz sentido anunciar a troca — o silêncio só é natural quando a persona é única.

</Dica>

## Custo e desempenho

Cada sub-agent acionado é mais uma chamada ao modelo, com seus próprios tokens. Num orquestrador LLM, toda mensagem passa primeiro pelo orquestrador (que decide) e depois pelo sub-agent (que responde): são pelo menos duas chamadas. Em Sequencial e Paralelo, todos os sub-agents rodam sempre. Use modelos menores nos sub-agents de tarefa simples e mantenha a cadeia curta.

## Saiba mais

- [Jornada do Lead](/guia/agents/jornada-do-lead) — roteamento por etapa do funil
- [Ferramentas do Agent](/guia/agents/ferramentas) — o que cada sub-agent pode usar
- [Controle da IA no chat](/guia/atendimento/controle-da-ia-no-chat#quem-respondeu-cada-mensagem) — como o badge mostra qual sub-agent respondeu
- [Playground ao vivo](/guia/agents/playground) — veja na trilha para quem o orquestrador transferiu
