Visão Geral
O Loop Agent é um tipo de agente de workflow que executa sub-agentes em um ciclo iterativo até que uma condição de parada seja atendida. Este padrão é ideal para processos que precisam de refinamento contínuo, melhoria iterativa ou tentativas múltiplas até atingir um resultado satisfatório. Diferentemente dos agentes Sequential e Parallel, o Loop Agent repete a execução dos sub-agentes múltiplas vezes, permitindo que cada iteração melhore o resultado baseado no feedback da iteração anterior.Baseado no Google ADK: Implementação seguindo os padrões do Google Agent Development Kit para agentes iterativos.
Características Principais
Execução Iterativa
Repete execução dos sub-agentes até condição de parada
Melhoria Contínua
Cada iteração pode melhorar o resultado baseado no anterior
Tool exit_loop
Controle de parada via tool automática nas instruções
Flexibilidade Total
Critérios de parada personalizáveis via instruções
Tool exit_loop - Controle de Parada
Importante: O Loop Agent permite que você selecione quais sub-agentes podem usar a tool
exit_loop
. Durante a configuração dos sub-agentes, você define quais têm o poder de parar o loop.- Na configuração de cada sub-agente, você pode habilitar o uso da tool
exit_loop
- Apenas os sub-agentes selecionados podem decidir parar o loop
- A tool aceita parâmetros para documentar o motivo da parada
- Permite controle granular sobre quem pode finalizar o processo iterativo
- ✅ Sub-agentes com exit_loop: Podem usar a tool para parar o loop
- ❌ Sub-agentes sem exit_loop: Executam normalmente sem poder de parada
exit_loop
não aceita argumentos. Ela simplesmente sinaliza que o loop deve parar.
Output Keys - Compartilhamento de Estado
Resposta Final: O sub-agente que tiver o Output Key definido como
loop_output
será usado para gerar a resposta final apresentada ao usuário no fim do loop.- LLM Agent: Salva resposta do modelo de linguagem
- Task Agent: Salva resultado da execução da tarefa
- Workflow Agent: Salva resultado do workflow executado
- A2A Agent: Salva resposta do protocolo Agent-to-Agent
loop_output
:
- ⭐
loop_output
- Sub-agente que gera resposta final apresentada ao usuário - Este agente é executado após todas as iterações para consolidar resultado
- A resposta deste agente é apresentada ao usuário como resultado final
- Apenas um sub-agente pode ter
loop_output
como output_key
- Configure o Output Key de cada sub-agente
- O resultado é salvo automaticamente no estado do loop
- Use placeholders
{{output_key_name}}
nas instruções para acessar os dados - O estado persiste entre todas as iterações do loop
- Ao final, o agente com
loop_output
consolida a resposta final
Quando Usar Loop Agent
Cenários Ideais
Cenários Ideais
✅ Use Loop Agent quando:
- Refinamento iterativo: Melhorar resultado a cada tentativa
- Otimização: Buscar a melhor solução através de iterações
- Validação com retry: Tentar até conseguir resultado válido
- Aprendizado incremental: Melhorar baseado em feedback
- Convergência: Iterar até atingir critério de qualidade
- Refinamento de conteúdo até atingir qualidade desejada
- Otimização de parâmetros através de tentativas
- Geração de código com correções iterativas
- Negociação com múltiplas rodadas
- Análise com refinamento baseado em feedback
Quando NÃO usar
Quando NÃO usar
❌ Evite Loop Agent quando:
- Resultado único: Processo precisa executar apenas uma vez
- Sem melhoria possível: Iterações não agregam valor
- Recursos limitados: Múltiplas execuções são muito custosas
- Tempo crítico: Não há tempo para múltiplas tentativas
- Determinístico: Resultado sempre será o mesmo
Criando um Loop Agent
Passo a Passo na Plataforma
1. Iniciar criação
1. Iniciar criação
- Na tela principal do Evo AI, clique em “New Agent”
- No campo “Type”, selecione “Loop Agent”
- Você verá campos específicos para configuração de loop

2. Configurar informações básicas
2. Configurar informações básicas
Name: Nome descritivo do agente de loopDescription: Resumo do processo iterativoGoal: Objetivo do processo iterativo
3. Configurar sub-agentes do loop
3. Configurar sub-agentes do loop
Sub-Agents: Adicione os agentes que executarão em cada iteração💡 Importante: Ordem dos sub-agentes define sequência dentro de cada iteração🛑 Controle de Parada: Para cada sub-agente, você pode habilitar o uso da tool 
exit_loop
🎯 Resposta Final: Um sub-agente deve ter output_key: "loop_output"
para gerar resposta finalExemplo de refinamento de conteúdo:- Gerador de Conteúdo - Cria ou refina o conteúdo
- Analisador de Qualidade - Avalia qualidade do conteúdo
- Coletor de Feedback - Identifica pontos de melhoria
- Verificador de Critérios - Decide se deve continuar (🛑 pode usar exit_loop)
- Finalizador - Gera resposta final (🎯 output_key: “loop_output”)

4. Definir instruções de coordenação
4. Definir instruções de coordenação
Instructions: Como o agente deve coordenar as iteraçõesexit_loop()
5. Configurar Output Keys dos sub-agentes
5. Configurar Output Keys dos sub-agentes
Output Key: Campo disponível para todos os tipos de agenteTipos de agente que suportam output_key:Uso nas instruções:
- ✅ LLM Agent - Salva resposta do modelo no estado
- ✅ Task Agent - Salva resultado da tarefa no estado
- ✅ Workflow Agent - Salva resultado do workflow no estado
- ✅ A2A Agent - Salva resposta do protocolo A2A no estado
- ⭐
loop_output
- Sub-agente que gera resposta final apresentada ao usuário

6. Configurar controle de parada do loop
6. Configurar controle de parada do loop
Controle via Tool Como funciona:Exemplo de instrução para parada:
exit_loop
:Durante a configuração dos sub-agentes, você seleciona quais podem usar a tool exit_loop
. Apenas os sub-agentes habilitados têm o poder de parar o loop.Configuração na interface:
Exemplos Práticos
1. Refinamento de Conteúdo de Marketing
Estrutura do Loop
Estrutura do Loop
Objetivo: Refinar conteúdo até atingir alta qualidade e efetividadeSub-Agentes em cada iteração:1. Gerador de Conteúdo
- Name:
content_generator
- Description:
Gera ou refina conteúdo baseado em feedback
- Instructions:
- Output Key:
conteudo_atual
- Name:
quality_analyzer
- Description:
Avalia qualidade do conteúdo em múltiplas dimensões
- Instructions:
- Output Key:
analise_qualidade
- Name:
feedback_collector
- Description:
Identifica melhorias específicas baseado na análise
- Instructions:
- Output Key:
feedback_melhoria
- Name:
criteria_checker
- Description:
Decide se deve continuar iterando ou usar exit_loop
- ✅ Pode usar exit_loop: Habilitado
- Instructions:
- Output Key:
decisao_parada
- Name:
final_consolidator
- Description:
Gera resposta final consolidada para o usuário
- ✅ Pode usar exit_loop: Desabilitado (executa após loop)
- Instructions:
- Output Key:
loop_output
⭐
2. Otimização com Diferentes Tipos de Agente
Estrutura do Loop
Estrutura do Loop
Objetivo: Otimizar parâmetros usando diferentes tipos de agenteSub-Agentes em cada iteração:1. Ajustador de Parâmetros (LLM Agent)
- Type:
LLM Agent
- Description: Ajusta parâmetros baseado em performance anterior
- Instructions:
Analise o pedido {{user_input}} e performance anterior: {{performance_anterior}}. Ajuste parâmetros para melhorar resultados.
- Output Key:
parametros_atuais
- Type:
Task Agent
- Description: Executa simulação com novos parâmetros
- Task: Simulação de campanha com parâmetros em
{{parametros_atuais}}
- Output Key:
performance_simulada
- Type:
A2A Agent
- Description: Analisa dados via protocolo externo
- Endpoint: Sistema de análise que recebe
{{performance_simulada}}
- Output Key:
analise_detalhada
- Type:
LLM Agent
- Description: Decide se atingiu otimização satisfatória
- ✅ Pode usar exit_loop: Habilitado
- Instructions:
Baseado na análise {{analise_detalhada}}, se melhoria < 5% use exit_loop.
- Output Key:
decisao_otimizacao
- Type:
LLM Agent
- Description: Gera resposta final com parâmetros otimizados
- ✅ Pode usar exit_loop: Desabilitado
- Instructions:
Baseado na otimização completa {{parametros_atuais}} e {{analise_detalhada}}, apresente resultado final para {{user_input}}.
- Output Key:
loop_output
⭐
3. Desenvolvimento com Workflow Agents
Estrutura do Loop
Estrutura do Loop
Objetivo: Desenvolver código usando workflows complexosSub-Agentes em cada iteração:1. Gerador de Código (LLM Agent)
- Type:
LLM Agent
- Description: Gera ou corrige código baseado em requisitos
- Instructions:
Baseado no pedido {{user_input}}, gere código para: {{requisitos}}. Se há erros em {{resultados_teste}}, corrija-os.
- Output Key:
codigo_atual
- Type:
Workflow Agent
(Sequential) - Description: Executa pipeline completo de testes
- Sub-agents: [validador_sintaxe, executor_testes, analisador_cobertura]
- Output Key:
resultados_teste
- Type:
A2A Agent
- Description: Analisa qualidade via sistema externo
- Endpoint: Sistema de análise de código que recebe
{{codigo_atual}}
- Output Key:
analise_qualidade
- Type:
LLM Agent
- Description: Decide se código está pronto
- ✅ Pode usar exit_loop: Habilitado
- Instructions:
Analise os resultados {{resultados_teste}} e qualidade {{analise_qualidade}}. Se todos testes passaram e qualidade >= 8, use exit_loop.
- Output Key:
verificacao_final
- Type:
LLM Agent
- Description: Entrega código final ao usuário
- ✅ Pode usar exit_loop: Desabilitado
- Instructions:
Apresente o código final {{codigo_atual}} com documentação baseada em {{resultados_teste}} e {{analise_qualidade}} para {{user_input}}.
- Output Key:
loop_output
⭐
Configurações Avançadas do Loop
Output Keys - Estado Compartilhado
Configuração de Output Keys
Configuração de Output Keys
Output Key está disponível para todos os tipos de agente:LLM Agent:Task Agent:Workflow Agent:A2A Agent:
Fluxo de Dados entre Agentes
Fluxo de Dados entre Agentes
Como os dados fluem no loop:Placeholders automáticos:
- Use
{{codigo}}
para acessar resultado do agente anterior - Use
{{testes}}
para acessar resultado dos testes - Use
{{requisitos}}
para acessar dados iniciais - Todos os dados persistem entre iterações
Boas Práticas para Output Keys
Boas Práticas para Output Keys
Nomenclatura:
- Use snake_case:
resultado_analise
,dados_processados
- Seja descritivo:
feedback_qualidade
em vez defeedback
- Evite conflitos: não use nomes já existentes no estado
- Mantenha dados estruturados quando possível
- Use JSON para dados complexos
- Documente formato esperado nas instruções
- Evite salvar dados muito grandes desnecessariamente
- Limpe dados temporários quando não precisar mais
- Use output_key apenas quando dados serão reutilizados
Controle de Parada com exit_loop
Como usar a tool exit_loop
Como usar a tool exit_loop
A tool exit_loop é automaticamente disponibilizada para o agente e deve ser usada nas instruções para controlar quando parar o loop.1. Score-based Stop:2. Improvement-based Stop:3. Criteria-based Stop:4. Custom Condition:
Controle de Tempo
Controle de Tempo
Timeouts por nível:Iteration Timeout: Tempo limite por iteraçãoTotal Loop Timeout: Tempo limite total do loopSub-Agent Timeout: Tempo limite por sub-agente
Monitoramento de Convergência
Monitoramento de Convergência
Métricas de convergência:Progress Tracking:Trend Analysis:
- Detecta tendências de melhoria
- Identifica platôs de performance
- Prevê número de iterações necessárias
- Sugere ajustes de parâmetros
Estratégias de Otimização
Performance do Loop
Performance do Loop
Otimizações de velocidade:Cache Inteligente:Early Termination:Adaptive Timeouts:
Gestão de Memória
Gestão de Memória
Controle de estado entre iterações:State Management:Memory Limits:Data Persistence:
Monitoramento e Debugging
Acompanhando Iterações
Dashboard de Loop
Dashboard de Loop
Visualização em tempo real:
Debugging de Loops
Debugging de Loops
Problemas comuns:1. Loop Infinito2. Convergência Lenta3. Regressão de Qualidade4. Timeout Frequente
Melhores Práticas
Design de Loops Eficazes
Design de Loops Eficazes
Princípios fundamentais:
- Feedback de qualidade: Cada iteração deve fornecer feedback específico e acionável
- Critérios claros com exit_loop: Defina nas instruções quando usar exit_loop
- Múltiplas condições de parada: Implemente várias condições com exit_loop
- Monitoramento de progresso: Acompanhe métricas de melhoria
- Validação de regressão: Evite que iterações piorem o resultado
- Documentação da parada: Use o parâmetro reason para explicar por que parou
Otimização de Convergência
Otimização de Convergência
Estratégias para convergência rápida:
- Feedback incremental: Foque em uma melhoria por vez
- Priorização: Aborde problemas mais impactantes primeiro
- Adaptive learning: Ajuste estratégia baseado em progresso
- Early stopping: Pare quando melhoria marginal for baixa
- Quality gates: Valide qualidade mínima a cada iteração
Robustez e Confiabilidade
Robustez e Confiabilidade
Garantindo execução estável:
- Error handling: Trate falhas de sub-agentes graciosamente
- State persistence: Salve estado entre iterações
- Recovery mechanisms: Permita restart de pontos de falha
- Resource management: Monitore uso de CPU, memória e tempo
- Circuit breakers: Evite cascata de falhas
Casos de Uso Comuns
Criação de Conteúdo
Refinamento Iterativo:
- Melhoria de textos até qualidade desejada
- Otimização de copy para conversão
- Refinamento de propostas comerciais
Otimização
Busca de Parâmetros Ótimos:
- Tuning de campanhas de marketing
- Otimização de preços
- Ajuste de configurações de sistema
Desenvolvimento
Geração e Correção:
- Geração de código com testes iterativos
- Refinamento de algoritmos
- Correção automática de bugs
Negociação
Processos Iterativos:
- Negociação automática de contratos
- Refinamento de propostas
- Otimização de termos comerciais
Próximos Passos
Sequential Agent
Aprenda sobre execução sequencial ordenada
Parallel Agent
Explore execução paralela de sub-agentes
Agente LLM
Volte aos fundamentos dos agentes inteligentes
Configurações
Explore configurações avançadas de agentes
O Loop Agent é perfeito para processos que precisam de refinamento contínuo e melhoria iterativa. Use-o quando quiser atingir alta qualidade através de múltiplas tentativas e feedback constante.