Voltar para o blogCiência e Tecnologia

Como Funciona a Delegação Automática de Tarefas Entre Agentes no CrewAI

6 min de leitura
Como Funciona a Delegação Automática de Tarefas Entre Agentes no CrewAI
Publicidade

No CrewAI, a delegação automática ocorre quando um agente com allow_delegation=True decide por conta própria transferir uma subtarefa para outro agente mais qualificado — comportamento habilitado por padrão no modo Process.hierarchical com um manager agent configurado.

Publicidade
CrewAI delegação automática de tarefas entre agentes

A delegação é um dos recursos mais poderosos do CrewAI — e também um dos mais frequentemente mal compreendidos. Saber quando e como configurá-la corretamente determina se o crew vai executar de forma eficiente ou travar em loops de comunicação improdutivos.

Sequential vs Hierarchical: A Diferença Fundamental

O CrewAI oferece dois modos principais de execução de tarefas: Process.sequential (padrão) e Process.hierarchical. A escolha entre eles define o modelo de delegação disponível:

CaracterísticaProcess.sequentialProcess.hierarchical
Ordem de execuçãoFixa (tarefa 1 → 2 → 3)Dinâmica (manager decide)
Delegação automáticaNãoSim
Manager agentNãoObrigatório
FlexibilidadeBaixaAlta
Custo de tokensMenorMaior
Casos de usoPipelines simples e linearesWorkflows complexos e dinâmicos

Como Funciona o Manager Agent

No modo hierarchical, o manager agent age como um gerente de projeto — recebe a lista de tarefas e agentes disponíveis, analisa cada tarefa, e delega para o agente mais adequado com base nos papéis (role) e objetivos (goal) definidos. O manager não executa tarefas diretamente — apenas coordena.

O manager agent é automaticamente criado pelo CrewAI quando process=Process.hierarchical é definido, usando o LLM padrão do crew. Para mais controle, é possível definir um manager agent customizado com manager_agent=Agent(...) na instância do Crew.

Exemplo Completo com 3 Agentes e Delegação

O exemplo abaixo demonstra um crew de produção de conteúdo onde o manager delega automaticamente para o agente mais adequado:

from crewai import Agent, Task, Crew, Process

# Definindo agentes especializados
pesquisador = Agent(
    role="Pesquisador de Mercado",
    goal="Coletar e sintetizar dados de mercado",
    backstory="Especialista em pesquisa com acesso a múltiplas fontes",
    allow_delegation=False,  # Agentes folha não delegam
    verbose=True
)

redator = Agent(
    role="Redator Sênior",
    goal="Criar conteúdo de alta qualidade a partir de pesquisas",
    backstory="Jornalista com 8 anos de experiência em conteúdo técnico",
    allow_delegation=False,
    verbose=True
)

revisor = Agent(
    role="Editor e Revisor",
    goal="Revisar e aprimorar o conteúdo produzido",
    backstory="Editor com olho clínico para precisão e clareza",
    allow_delegation=True,  # Pode delegar revisões específicas
    verbose=True
)

# Definindo tarefas
tarefa_pesquisa = Task(
    description="Pesquise as tendências de IA generativa em 2026 para criadores de conteúdo",
    expected_output="Relatório de 500 palavras com dados, tendências e fontes",
    agent=pesquisador
)

tarefa_redacao = Task(
    description="Escreva um artigo de blog de 1500 palavras baseado na pesquisa fornecida",
    expected_output="Artigo completo com introdução, desenvolvimento e conclusão",
    agent=redator,
    context=[tarefa_pesquisa]
)

tarefa_revisao = Task(
    description="Revise o artigo para precisão factual, clareza e SEO",
    expected_output="Artigo revisado com comentários sobre cada mudança",
    agent=revisor,
    context=[tarefa_redacao]
)

# Crew com modo hierarchical
crew = Crew(
    agents=[pesquisador, redator, revisor],
    tasks=[tarefa_pesquisa, tarefa_redacao, tarefa_revisao],
    process=Process.hierarchical,
    verbose=True
)

resultado = crew.kickoff()

Dica DomineTec: Definir allow_delegation=False para agentes "folha" (que executam tarefas específicas sem precisar subdelegar) evita que o LLM tente delegar tarefas desnecessariamente, reduzindo o custo de tokens e evitando loops.

Publicidade
Automação de tarefas entre agentes CrewAI em workflow empresarial

Quando Usar Delegação vs Tasks Simples

A delegação automática não é sempre a melhor escolha — o modo sequential com tasks bem definidas é mais eficiente e previsível para a maioria dos projetos simples. A hierarquia faz sentido quando as tarefas têm dependências dinâmicas, quando o fluxo de trabalho pode variar dependendo dos resultados intermediários, ou quando diferentes subtarefas exigem agentes com habilidades muito distintas.

Para projetos de produção de conteúdo linear (pesquisa → redação → revisão), o Process.sequential é a escolha mais eficiente. O Process.hierarchical com delegação se justifica em sistemas de automação complexos, assistentes de decisão com múltiplas fontes de dados, ou quando a ordem das tarefas precisa ser dinâmica.

Debugging de Delegações que Falham

Delegações que travam ou entram em loop são um problema comum em crews hierárquicos. As causas mais frequentes são: roles e goals de agentes muito similares (o manager não consegue decidir qual delegar), tasks com expected_output muito ambíguo, ou agentes sem as ferramentas necessárias para executar a tarefa delegada.

Para diagnosticar, ativar verbose=True tanto no crew quanto nos agentes expõe o raciocínio do manager em tempo real. Verificar os logs de execução permite identificar em qual ponto a delegação falhou e ajustar os prompts de backstory e goal para diferenciar melhor os agentes.

Para entender como configurar o ambiente do CrewAI desde o início, veja o guia de instalação do CrewAI com CLI. Também é possível combinar delegação com memória de agentes para resultados ainda mais sofisticados.

Publicidade

Perguntas Frequentes

1. O allow_delegation=True é necessário para todos os agentes no modo hierarchical?

Não. Apenas o manager agent (criado automaticamente pelo crew) precisa ter allow_delegation habilitado.

Os agentes trabalhadores podem ter allow_delegation=False, o que é recomendado para evitar subdelegações desnecessárias.

2. O manager agent consume tokens extras do LLM?

Sim. No modo hierarchical, o manager agent faz chamadas adicionais ao LLM para planejar a delegação de cada tarefa.

Esse custo é geralmente 20-40% maior em tokens do que o mesmo crew em modo sequential.

3. Posso usar um modelo de LLM diferente para o manager agent?

Sim. É possível definir um manager_agent customizado com um LLM específico — por exemplo, usar GPT-4o para o manager e modelos mais baratos (Groq Llama) para os agentes trabalhadores, equilibrando qualidade e custo.

4. Como evitar que agentes delegem tarefas entre si indefinidamente (loop)?

A principal proteção é definir allow_delegation=False nos agentes folha. Também é útil especificar claramente no backstory de cada agente quais tipos de tarefa estão dentro do seu escopo, evitando ambiguidade que leva ao loop de delegação.

Conclusão

A delegação automática no CrewAI é uma funcionalidade poderosa que, quando configurada corretamente, permite construir workflows de agentes muito mais sofisticados do que o modo sequential permite. A chave está em definir roles, goals e backstories suficientemente distintos para cada agente, garantindo que o manager tome decisões de delegação claras e eficientes.

Publicidade

Para a maioria dos projetos iniciais, começar com Process.sequential e migrar para hierarchical somente quando a complexidade do workflow justificar é a abordagem mais sensata — evitando custos de token desnecessários e comportamentos imprevisíveis durante o desenvolvimento.

Publicidade

Escrito por

DomineTec

Equipe DomineTec — trazendo as melhores dicas sobre tecnologia, segurança digital, empregos e finanças.

Receba as melhores dicas no seu e-mail

Tecnologia, segurança digital, finanças e empregos — tudo que importa, direto na sua caixa de entrada. 100% gratuito, sem spam.

Respeitamos sua privacidade. Cancele a qualquer momento.

Posts Relacionados

Mais em Ciência e Tecnologia

Ver todos
Publicidade