ai-agents-for-beginners

Multi-Agent Design

(Clique na imagem acima para ver o vídeo desta lição)

Padrões de desenho multi-agente

Assim que começar a trabalhar num projeto que envolve múltiplos agentes, terá de considerar o padrão de desenho multi-agente. No entanto, pode não ser imediatamente claro quando passar para multi-agentes e quais as vantagens.

Introdução

Nesta lição, procuramos responder às seguintes perguntas:

Objetivos de Aprendizagem

Após esta lição, deverá ser capaz de:

Qual é a visão geral?

Os multi-agentes são um padrão de desenho que permite que múltiplos agentes trabalhem juntos para alcançar um objetivo comum.

Este padrão é amplamente utilizado em vários campos, incluindo robótica, sistemas autónomos e computação distribuída.

Cenários Onde os Multi-Agentes São Aplicáveis

Então, quais cenários são um bom caso de uso para usar multi-agentes? A resposta é que há muitos cenários onde empregar múltiplos agentes é benéfico, especialmente nos seguintes casos:

Vantagens de Usar Multi-Agentes em Vez de um Agente Singular

Um sistema de agente único pode funcionar bem para tarefas simples, mas para tarefas mais complexas, usar múltiplos agentes pode proporcionar várias vantagens:

Vamos pegar num exemplo, vamos reservar uma viagem para um utilizador. Um sistema de agente único teria de lidar com todos os aspetos do processo de reserva da viagem, desde encontrar voos até reservar hotéis e carros de aluguer. Para conseguir isto com um único agente, o agente teria de ter ferramentas para lidar com todas estas tarefas. Isto poderia levar a um sistema complexo e monolítico que é 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 de aluguer. Isto tornaria o sistema mais modular, mais fácil de manter e escalável.

Compare isto com uma agência de viagens gerida como uma loja familiar versus uma agência de viagens gerida como uma franquia. A loja familiar teria um único agente a tratar de todos os aspetos do processo de reserva da viagem, enquanto a franquia teria diferentes agentes a tratar de diferentes aspetos do processo de reserva.

Blocos de Construção para Implementar o Padrão de Desenho Multi-Agente

Antes de poder implementar o padrão de desenho multi-agente, precisa de compreender os blocos de construção que compõem o padrão.

Vamos tornar isto mais concreto, novamente olhando para o exemplo de reservar uma viagem para um utilizador. Neste caso, os blocos de construção incluiriam:

Visibilidade nas Interações Multi-Agente

É importante que tenha visibilidade de como os múltiplos agentes estão a interagir entre si. Esta visibilidade é essencial para depurar, otimizar e garantir a eficácia geral do sistema. Para conseguir isto, precisa de ter ferramentas e técnicas para rastrear atividades e interações dos agentes. Isto pode ser na forma de ferramentas de logging e monitorização, ferramentas de visualização e métricas de desempenho.

Por exemplo, no caso de reservar uma viagem para um utilizador, poderia ter um painel de controlo que mostra o estado de cada agente, as preferências e restrições do utilizador e as interações entre os agentes. Este painel poderia mostrar as datas de viagem do utilizador, os voos recomendados pelo agente de voos, os hotéis recomendados pelo agente de hotéis e os carros de aluguer recomendados pelo agente de aluguer de carros. Isto dar-lhe-ia uma visão clara de como os agentes estão a interagir entre si e se as preferências e restrições do utilizador estão a ser cumpridas.

Vamos olhar a cada um destes aspetos com mais detalhe.

Padrões Multi-Agente

Vamos aprofundar alguns padrões concretos que podemos usar para criar aplicações multi-agente. Aqui estão alguns padrões interessantes que vale a pena considerar:

Chat de grupo

Este padrão é útil quando quer criar uma aplicação de chat em grupo onde múltiplos agentes podem comunicar entre si. Casos de uso típicos para este padrão incluem colaboração de equipas, suporte ao cliente e redes sociais.

Neste padrão, cada agente representa um utilizador no chat de grupo, e mensagens são trocadas entre agentes usando um protocolo de mensagens. Os agentes podem enviar mensagens para o chat de grupo, receber mensagens do chat de grupo e responder a mensagens de outros agentes.

Este padrão pode ser implementado usando uma arquitetura centralizada onde todas as mensagens são encaminhadas através de um servidor central, ou uma arquitetura descentralizada onde as mensagens são trocadas diretamente.

Group chat

Transferência de tarefas

Este padrão é útil quando quer criar uma aplicação onde múltiplos agentes podem passar tarefas uns aos outros.

Casos de uso típicos para este padrão incluem suporte ao cliente, gestão de tarefas e automação de fluxo de trabalho.

Neste padrão, cada agente representa uma tarefa ou um passo num fluxo de trabalho, e os agentes podem passar tarefas para outros agentes com base em regras predefinidas.

Hand off

Filtragem colaborativa

Este padrão é útil quando quer criar uma aplicação onde múltiplos agentes podem colaborar para fazer recomendações aos utilizadores.

Porque quer múltiplos agentes a colaborar? Porque cada agente pode ter diferentes especializações e pode contribuir para o processo de recomendação de diferentes maneiras.

Vamos pegar num exemplo onde um utilizador quer uma recomendação sobre a melhor ação para comprar no mercado de ações.

Recommendation

Cenário: Processo de reembolso

Considere um cenário onde um cliente está a tentar obter um reembolso por um produto, pode haver vários agentes envolvidos neste processo, mas vamos dividir entre agentes específicos para este processo e agentes gerais que podem ser usados noutros processos.

Agentes específicos para o processo de reembolso:

Seguem-se alguns agentes que poderiam estar envolvidos no processo de reembolso:

Agentes gerais:

Estes agentes podem ser usados em outras partes do seu negócio.

Há bastantes agentes listados anteriormente, tanto para o processo específico de reembolso como para os agentes gerais que podem ser usados noutras partes do seu negócio. Esperamos que isto lhe dê uma ideia sobre como pode decidir quais agentes usar no seu sistema multi-agente.

Exercício

Desenhe um sistema multi-agente para um processo de suporte ao cliente. Identifique os agentes envolvidos no processo, os seus papéis e responsabilidades, e como interagem entre si. Considere tanto agentes específicos para o processo de suporte ao cliente como agentes gerais que podem ser usados noutras partes do seu negócio.

Pense um pouco antes de ler a solução seguinte, pode precisar de mais agentes do que pensa.

DICA: Pense nas diferentes fases do processo de suporte ao cliente e considere também os agentes necessários para qualquer sistema.

Solução

Solução

Verificações de conhecimento

Pergunta 1

Qual cenário é o que melhor se adequa a um sistema multi-agente?

Pergunta 2

Quando é que normalmente um agente único é a melhor escolha?

Solução do questionário

Resumo

Nesta lição, analisámos o padrão de design multi-agente, incluindo os cenários em que os multi-agentes são aplicáveis, as vantagens de usar multi-agentes em vez de um agente singular, os blocos de construção para implementar o padrão de design multi-agente e como ter visibilidade sobre como os múltiplos agentes estão a interagir entre si.

Tem mais perguntas sobre o padrão de design Multi-Agente?

Junte-se ao Microsoft Foundry Discord para conhecer outros aprendizes, participar em horas de atendimento e obter respostas às suas perguntas sobre Agentes de IA.

Recursos adicionais

Lição anterior

Planeamento de design

Próxima lição

Metacognição em Agentes de IA


Aviso Legal: Este documento foi traduzido utilizando o serviço de tradução automática Co-op Translator. Embora nos esforcemos pela precisão, esteja ciente de que traduções automáticas podem conter erros ou imprecisões. O documento original na sua língua nativa deve ser considerado a fonte autorizada. Para informações críticas, recomenda-se tradução profissional humana. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas resultantes da utilização desta tradução.