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
- 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.
- Manter a lógica matemática – Demos ao
adderorientações explícitas para respeitar a ordem das operações, evitando que ele quebrasse as regras de subtração. - 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.
