(Clique na imagem acima para assistir ao vídeo desta aula)
Assim que você começar a trabalhar em um projeto que envolve múltiplos agentes, será necessário considerar o padrão de design multi-agente. No entanto, pode não ser imediatamente claro quando mudar para multi-agentes e quais são as vantagens.
Nesta aula, buscamos responder às seguintes perguntas:
Após esta aula, você deverá ser capaz de:
Qual é a visão geral?
Multi-agentes são um padrão de design que permite que múltiplos agentes trabalhem juntos para alcançar um objetivo comum.
Este padrão é amplamente usado em vários campos, incluindo robótica, sistemas autônomos e computação distribuída.
Então, quais cenários são um bom caso de uso para usar múltiplos agentes? A resposta é que existem muitos cenários onde empregar múltiplos agentes é benéfico, especialmente nos seguintes casos:
Um sistema com um único agente pode funcionar bem para tarefas simples, mas para tarefas mais complexas, usar múltiplos agentes pode fornecer diversas vantagens:
Vamos a um exemplo, vamos reservar uma viagem para um usuário. Um sistema com agente único teria que lidar com todos os aspectos do processo de reserva de viagem, desde encontrar voos até reservar hotéis e carros alugados. Para conseguir isso com um único agente, ele precisaria ter ferramentas para lidar com todas essas tarefas. Isso poderia levar a um sistema complexo e monolítico, difícil de manter e escalar. Um sistema multi-agente, por outro lado, poderia ter diferentes agentes especializados em encontrar voos, reservar hotéis e carros. Isso tornaria o sistema mais modular, mais fácil de manter e escalável.
Compare isso a uma agência de viagens administrada como uma loja pequena e familiar versus uma agência de viagens administrada como uma franquia. A loja pequena teria um único agente lidando com todos os aspectos do processo de reserva, enquanto a franquia teria diferentes agentes lidando com diferentes aspectos do processo de reserva.
Antes que você possa implementar o padrão de design multi-agente, você precisa entender os blocos de construção que compõem o padrão.
Vamos tornar isso mais concreto novamente olhando para o exemplo de reservar uma viagem para um usuário. Neste caso, os blocos de construção incluem:
É importante que você tenha visibilidade de como os múltiplos agentes estão interagindo entre si. Essa visibilidade é essencial para depuração, otimização e garantia da eficácia geral do sistema. Para conseguir isso, você precisa de ferramentas e técnicas para rastrear as atividades e interações dos agentes. Isso pode ser na forma de ferramentas de registro e monitoramento, ferramentas de visualização e métricas de desempenho.
Por exemplo, no caso de reservar uma viagem para um usuário, você poderia ter um painel que mostra o status de cada agente, as preferências e restrições do usuário e as interações entre agentes. Esse painel poderia mostrar as datas da viagem do usuário, os voos recomendados pelo agente de voos, os hotéis recomendados pelo agente de hotéis e os carros recomendados pelo agente de aluguel. Isso lhe daria uma visão clara de como os agentes estão interagindo e se as preferências e restrições do usuário estão sendo atendidas.
Vamos analisar cada um desses aspectos com mais detalhes.
Ferramentas de Registro e Monitoramento: Você vai querer ter o registro feito para cada ação tomada por um agente. Uma entrada de registro pode armazenar informações sobre o agente que realizou a ação, a ação tomada, o momento em que a ação foi tomada e o resultado da ação. Essa informação pode ser usada para depuração, otimização e outras finalidades.
Ferramentas de Visualização: Ferramentas de visualização podem ajudar você a ver as interações entre agentes de uma forma mais intuitiva. Por exemplo, você poderia ter um gráfico que mostra o fluxo de informações entre agentes. Isso pode ajudar a identificar gargalos, ineficiências e outros problemas no sistema.
Métricas de Desempenho: Métricas de desempenho podem ajudar você a acompanhar a eficácia do sistema multi-agente. Por exemplo, você pode acompanhar o tempo levado para completar uma tarefa, o número de tarefas completadas por unidade de tempo e a precisão das recomendações feitas pelos agentes. Essa informação pode ajudar a identificar áreas para melhorias e otimizar o sistema.
Vamos aprofundar em alguns padrões concretos que podemos usar para criar apps multi-agentes. Aqui estão alguns padrões interessantes que valem a pena considerar:
Este padrão é útil quando você quer criar um aplicativo de bate-papo em grupo onde múltiplos agentes podem se comunicar entre si. Casos de uso típicos para este padrão incluem colaboração em equipe, suporte ao cliente e redes sociais.
Neste padrão, cada agente representa um usuário no bate-papo em grupo, e mensagens são trocadas entre agentes usando um protocolo de mensagens. Os agentes podem enviar mensagens para o grupo, receber mensagens do grupo e responder a mensagens de outros agentes.
Este padrão pode ser implementado usando uma arquitetura centralizada onde todas as mensagens são roteadas através de um servidor central, ou uma arquitetura descentralizada onde as mensagens são trocadas diretamente.

Este padrão é útil quando você quer criar um aplicativo onde múltiplos agentes podem transferir tarefas entre si.
Casos de uso típicos para este padrão incluem suporte ao cliente, gerenciamento de tarefas e automação de fluxo de trabalho.
Neste padrão, cada agente representa uma tarefa ou um passo em um fluxo de trabalho, e agentes podem transferir tarefas para outros agentes com base em regras predefinidas.

Este padrão é útil quando você quer criar um aplicativo onde múltiplos agentes podem colaborar para fazer recomendações aos usuários.
Por que você gostaria que múltiplos agentes colaborassem é porque cada agente pode ter expertise diferente e pode contribuir para o processo de recomendação de maneiras distintas.
Vamos a um exemplo onde um usuário quer uma recomendação sobre a melhor ação para comprar no mercado de ações.

Considere um cenário onde um cliente está tentando obter um reembolso por um produto, pode haver muitos agentes envolvidos neste processo, mas vamos dividir entre agentes específicos para este processo e agentes gerais que podem ser usados em outros processos.
Agentes específicos para o processo de reembolso:
Seguem alguns agentes que poderiam estar envolvidos no processo de reembolso:
Agentes gerais:
Esses agentes podem ser usados por outras partes do seu negócio.
Há muitos agentes listados anteriormente, tanto para o processo específico de reembolso quanto para os agentes gerais que podem ser usados em outras partes do seu negócio. Esperamos que isso dê uma ideia de como decidir quais agentes usar no seu sistema multi-agente.
Projete um sistema multi-agente para um processo de suporte ao cliente. Identifique os agentes envolvidos no processo, seus papéis e responsabilidades, e como eles interagem entre si. Considere tanto agentes específicos para o processo de suporte ao cliente quanto agentes gerais que podem ser usados em outras partes do seu negócio.
Reflita antes de ler a solução a seguir, você pode precisar de mais agentes do que pensa.
DICA: Pense sobre as diferentes etapas do processo de suporte ao cliente e também considere agentes necessários para qualquer sistema.
Pergunta: Quando você deve considerar o uso de múltiplos agentes?
Nesta lição, examinamos o padrão de design de múltiplos agentes, incluindo os cenários em que múltiplos agentes são aplicáveis, as vantagens de usar múltiplos agentes em vez de um agente singular, os blocos de construção para implementar o padrão de design de múltiplos agentes, e como ter visibilidade de como os vários agentes estão interagindo uns com os outros.
Participe do Microsoft Foundry Discord para encontrar outros aprendizes, participar de horas de atendimento e esclarecer suas dúvidas sobre Agentes de IA.
Aviso Legal:
Este documento foi traduzido utilizando o serviço de tradução por IA Co-op Translator. Embora nos esforcemos para garantir a precisão, esteja ciente de que traduções automatizadas podem conter erros ou imprecisões. O documento original em sua língua nativa deve ser considerado a fonte oficial. Para informações críticas, recomenda-se a tradução profissional humana. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes do uso desta tradução.