O Agent Development Kit (ADK) do Google oferece duas formas principais de gerenciar tarefas.

Roteamento Dinâmico Multiagente

No modelo de roteamento, um coordenador central recebe a solicitação do usuário e a encaminha para agentes especialistas. O coordenador decide qual especialista deve agir, o especialista realiza sua parte do trabalho e o controle retorna ao pai.

  • Como funciona – O coordenador escolhe um especialista, encaminha a tarefa e aguarda uma resposta antes de prosseguir.
  • Prós – A flexibilidade se destaca. Como o LLM escolhe o caminho em tempo de execução, o sistema se adapta a entradas novas ou inesperadas sem a necessidade de reescrever o fluxo.
  • Contras – Cada salto adiciona uma sobrecarga de rede e processamento, fazendo com que a latência aumente em comparação com um pipeline linear.

Loops de Fluxo de Trabalho Sequenciais

O modelo de loop substitui o coordenador por um único LoopAgent que percorre uma sequência predeterminada de etapas, compartilhando um estado de sessão mutável.

  • Como funciona – Os agentes leem uma chave compartilhada, atualizam-na e passam o controle para a próxima etapa até que a sequência termine.
  • Prós – Previsibilidade. A ordem nunca muda, tornando a depuração e o ajuste de desempenho simples.
  • Contras – Rigidez. Qualquer necessidade de desviar da ordem fixa exige um redesenho do loop.

Teste Prático: Um Parser de Expressões Matemáticas

Para ver os padrões em ação, construímos um parser simples que avalia expressões aritméticas usando quatro agentes especialistas: adder, subtracter, multiplier e divider.

Lições do Loop de Fluxo de Trabalho

  1. Prevenir loops infinitos – Instruímos cada agente a gerar um texto e encerrar seu turno imediatamente após atualizar o estado compartilhado. Sem essa proteção, o loop poderia rodar indefinidamente.
  2. Manter a lógica matemática – Demos ao adder orientações explícitas para respeitar a ordem das operações, evitando que ele quebrasse as regras de subtração.
  3. Evitar saídas silenciosas – Forçamos os agentes a imprimir o resultado final antes de invocar a ferramenta de saída, para que o usuário veja o resultado em vez de uma terminação abrupta.

Tratamento de Erros

Adicionamos uma proteção contra divisão por zero antes do especialista divider. A proteção verifica o divisor primeiro; se for zero, ela interrompe o processo, poupando todo o sistema de uma exceção em tempo de execução.

Qual Padrão se Ajusta ao Seu Projeto?

  • Escolha o Roteamento Multiagente quando as tarefas evoluem dinamicamente, as entradas variam muito ou você precisa que o LLM decida o melhor especialista em tempo de execução. A desvantagem é uma latência maior, mas o sistema lida com cenários imprevistos sem alterações no código.
  • Escolha os Loops de Fluxo de Trabalho quando você tiver um pipeline bem definido — limpeza de dados, transformação, agregação, por exemplo — onde cada etapa deve ocorrer em uma ordem estrita. O benefício é uma latência menor e depuração mais fácil, ao custo de não poder ramificar dinamicamente.