Usar orquestração simultânea
A orquestração simultânea permite que vários agentes trabalhem na mesma tarefa ao mesmo tempo. Cada agente lida com a tarefa de forma independente e, em seguida, suas saídas são reunidas e combinadas. Esse método funciona especialmente bem quando você deseja diversas abordagens ou soluções, como durante o brainstorming, a tomada de decisões em grupo ou a votação.
Esse padrão é útil quando você precisa de diferentes abordagens ou ideias para resolver o mesmo problema. Em vez de os agentes trabalharem um após o outro, todos trabalham ao mesmo tempo. Isso acelera o processo e cobre o problema de vários ângulos.
Normalmente, os resultados de cada agente são combinados para criar uma resposta final, mas isso nem sempre é necessário. Cada agente também pode produzir seu próprio resultado separado, como chamar ferramentas para concluir tarefas ou atualizar diferentes armazenamentos de dados de forma independente.
Os agentes trabalham por conta própria e não compartilham resultados uns com os outros. No entanto, um agente pode chamar outros agentes de IA executando sua própria orquestração como parte de seu processo. Os agentes precisam saber quais outros agentes estão disponíveis para trabalhar em tarefas. Esse padrão permite que você chame todos os agentes registrados toda vez ou escolha quais agentes executar com base na tarefa específica.
Quando usar orquestração simultânea
Você pode considerar o uso do padrão de orquestração simultânea nestas situações:
- Quando as tarefas podem ser executadas ao mesmo tempo, usando um grupo fixo de agentes ou selecionando agentes de IA dinamicamente com base no que a tarefa precisa.
- Quando a tarefa se beneficia de diferentes habilidades ou abordagens especializadas (por exemplo, técnicas, comerciais ou criativas) que trabalham de forma independente, mas contribuem para resolver o mesmo problema.
Este tipo de trabalho em equipa é comum em métodos de tomada de decisão multiagentes, tais como:
- Ideias de brainstorming
- Combinação de diferentes métodos de raciocínio (raciocínio conjunto)
- Tomada de decisões com base em votação ou consenso (quórum)
- Lidar com tarefas em que a velocidade é importante e executar agentes em paralelo reduz o tempo de espera
Quando evitar a orquestração simultânea
Convém evitar o uso do padrão de orquestração simultânea nos seguintes cenários:
- Os agentes precisam se basear no trabalho uns dos outros ou dependem do contexto compartilhado em uma ordem específica.
- A tarefa requer uma sequência rigorosa de passos ou resultados previsíveis e repetíveis.
- Limites de recursos, como cotas de uso de modelos, tornam a execução de agentes em paralelo ineficiente ou impossível.
- Os agentes não podem coordenar de forma confiável as alterações em dados compartilhados ou sistemas externos durante a execução ao mesmo tempo.
- Não há uma maneira clara de resolver conflitos ou contradições entre resultados de diferentes agentes.
- Combinar resultados é muito complicado ou acaba diminuindo a qualidade geral.
Implementar orquestração simultânea
Implemente o padrão de orquestração simultânea com o Microsoft Agent Framework:
Crie seu cliente de bate-papo
Configure um cliente de chat (por exemplo,AzureOpenAIChatClient) com credenciais apropriadas para se conectar ao seu provedor de serviços de IA.Defina seus agentes
Crie instâncias de agente usando o método docreate_agentcliente de chat. Cada agente deve ter instruções específicas e um nome que defina a sua função e área de especialização.Criar o fluxo de trabalho simultâneo
Use aConcurrentBuilderclasse para criar um fluxo de trabalho que possa executar vários agentes em paralelo. Adicione suas instâncias de agente como participantes usando oparticipants()método e, em seguida, chamebuild()para criar o fluxo de trabalho.Executar o fluxo de trabalho
Chame o método do fluxo de trabalhoruncom a tarefa ou entrada na qual os agentes devem trabalhar. O fluxo de trabalho executa todos os agentes simultaneamente e retorna eventos contendo os resultados.Processar os resultados
Extraia as saídas dos eventos do fluxo de trabalho usandoget_outputs(). Os resultados contêm as conversas combinadas de todos os agentes, com a resposta de cada agente incluída na saída final.Manipular as respostas agregadas
Processe as mensagens agregadas de todos os agentes. Cada mensagem inclui o nome do autor e o conteúdo, permitindo que você identifique qual agente forneceu cada resposta.
A orquestração simultânea é um padrão poderoso para usar vários agentes de IA simultaneamente, permitindo uma resolução de problemas mais rápida e diversificada. Ao executar agentes em paralelo, você pode explorar diferentes abordagens ao mesmo tempo, melhorar a eficiência e obter insights mais ricos. No entanto, é importante escolher esse padrão quando as tarefas puderem realmente ser executadas de forma independente e estar atento às restrições de recursos e desafios de coordenação. Quando implementada cuidadosamente com o SDK do Microsoft Agent Framework, a orquestração simultânea pode melhorar muito seus fluxos de trabalho de IA e processos de tomada de decisão.