Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
À medida que arquitetos e desenvolvedores projetam sua carga de trabalho para aproveitar ao máximo os recursos do modelo de linguagem, os sistemas de agentes de IA se tornam cada vez mais complexos. Esses sistemas geralmente excedem as habilidades de um único agente que tem acesso a muitas ferramentas e fontes de conhecimento. Em vez disso, esses sistemas usam orquestrações multiagente para lidar com tarefas complexas e colaborativas de forma confiável. Este guia aborda padrões fundamentais de orquestração para arquiteturas multiagente e ajuda você a escolher a abordagem que atende às suas necessidades específicas.
Visão geral
Quando você usa vários agentes de IA, pode dividir problemas complexos em unidades especializadas de trabalho ou conhecimento. Você atribui cada tarefa a agentes de IA dedicados que têm recursos específicos. Estas abordagens espelham estratégias encontradas no trabalho em equipa humano. O uso de vários agentes oferece várias vantagens em comparação com soluções monolíticas de agente único.
Especialização: Os agentes individuais podem se concentrar em um domínio ou recurso específico, o que reduz a complexidade do código e do prompt.
Escalabilidade: Os agentes podem ser adicionados ou modificados sem redesenhar todo o sistema.
Manutenabilidade: O teste e a depuração podem ser focados em agentes individuais, o que reduz a complexidade dessas tarefas.
Otimização: Cada agente pode usar modelos distintos, abordagens de resolução de tarefas, conhecimento, ferramentas e computação para alcançar seus resultados.
Os padrões neste guia mostram abordagens comprovadas para orquestrar vários agentes para trabalhar juntos e alcançar um resultado. Cada padrão é otimizado para diferentes tipos de requisitos de coordenação. Esses padrões de orquestração de agentes de IA complementam e estendem os padrões tradicionais de design de nuvem , abordando os desafios exclusivos de coordenar componentes autônomos em recursos de carga de trabalho orientados por IA.
Orquestração sequencial
O padrão de orquestração sequencial encadeia os agentes de IA em uma ordem linear predefinida. Cada agente processa a saída do agente anterior na sequência, o que cria um pipeline de transformações especializadas.
O padrão de orquestração sequencial resolve problemas que exigem processamento passo-a-passo, onde cada estágio se baseia no estágio anterior. Ele se adapta a fluxos de trabalho que têm dependências claras e melhoram a qualidade da saída por meio de refinamento progressivo. Esse padrão se assemelha ao padrão de design de nuvem Pipes and Filters , mas usa agentes de IA em vez de componentes de processamento codificados personalizados. A escolha de qual agente será invocado em seguida é definida deterministicamente como parte do fluxo de trabalho e não é uma escolha dada aos agentes no processo.
Quando usar a orquestração sequencial
Considere o padrão de orquestração sequencial nos seguintes cenários:
Processos de vários estágios com dependências lineares claras e progressão previsível do fluxo de trabalho
Pipelines de transformação de dados, onde cada estágio agrega valor específico do qual o próximo estágio depende
Estágios do fluxo de trabalho que não podem ser paralelizados
Requisitos de refinamento progressivo, como fluxos de trabalho de rascunho, revisão e polimento
Sistemas onde você entende as características de disponibilidade e desempenho de cada agente de IA no pipeline e onde falhas ou atrasos no processamento de um agente de IA são toleráveis para a tarefa geral a ser realizada
Quando evitar a orquestração sequencial
Evite esse padrão nos seguintes cenários:
As etapas são embaraçosamente paralelas. Você pode paralelizá-los sem comprometer a qualidade ou criar contenção de estado compartilhado.
Processos que incluem apenas algumas etapas que um único agente de IA pode realizar de forma eficaz.
Os estágios iniciais podem falhar ou produzir resultados de baixa qualidade, e não há uma maneira razoável de impedir que etapas posteriores sejam processadas usando a saída de erro acumulada.
Os agentes de IA precisam colaborar em vez de entregar trabalho.
O fluxo de trabalho requer retrocesso ou iteração.
Você precisa de roteamento dinâmico com base em resultados intermediários.
Exemplo de orquestração sequencial
O software de gestão documental de um escritório de advocacia utiliza agentes sequenciais para a geração de contratos. A aplicação inteligente processa pedidos através de um pipeline de quatro agentes especializados. As etapas sequenciais e predefinidas do pipeline garantem que cada agente trabalhe com a saída completa do estágio anterior.
O agente de seleção de modelos recebe especificações do cliente, como tipo de contrato, jurisdição e partes envolvidas, e seleciona o modelo base apropriado da biblioteca da empresa.
O agente de personalização de cláusulas usa o modelo selecionado e modifica cláusulas padrão com base em termos comerciais negociados, incluindo cronogramas de pagamento e limitações de responsabilidade.
O agente de conformidade regulatória analisa o contrato personalizado em relação às leis aplicáveis e regulamentações específicas do setor.
O agente de avaliação de risco realiza uma análise abrangente do contrato completo. Avalia a exposição à responsabilidade e os mecanismos de resolução de litígios, ao mesmo tempo que fornece classificações de risco e recomendações linguísticas protetoras.
Orquestração simultânea
O padrão de orquestração simultânea executa vários agentes de IA simultaneamente na mesma tarefa. Essa abordagem permite que cada agente forneça análise ou processamento independente a partir de sua perspetiva ou especialização única.
Esse padrão aborda cenários em que você precisa de diversas perceções ou abordagens para o mesmo problema. Em vez de processamento sequencial, todos os agentes trabalham em paralelo, o que reduz o tempo de execução geral e fornece uma cobertura abrangente do espaço do problema. Esse padrão de orquestração se assemelha ao padrão de design de nuvem Fan-out/Fan-in. Os resultados de cada agente geralmente são agregados para retornar um resultado final, mas isso não é necessário. Cada agente pode produzir de forma independente seus próprios resultados dentro da carga de trabalho, como invocar ferramentas para realizar tarefas ou atualizar diferentes armazenamentos de dados em paralelo.
Os agentes operam de forma independente e não transmitem resultados uns aos outros. Um agente pode invocar agentes de IA extras usando sua própria abordagem de orquestração como parte de seu processamento independente. Os agentes disponíveis devem saber quais são os agentes disponíveis para processamento. Esse padrão suporta chamadas determinísticas para todos os agentes registrados e a seleção dinâmica de quais agentes invocar com base nos requisitos da tarefa.
Quando usar orquestração simultânea
Considere o padrão de orquestração simultânea nos seguintes cenários:
Tarefas que você pode executar em paralelo, usando um conjunto fixo de agentes ou escolhendo dinamicamente agentes de IA com base em requisitos de tarefas específicos.
Tarefas que se beneficiam de várias perspetivas independentes ou especializações diferentes, como abordagens técnicas, de negócios e criativas, que podem contribuir para o mesmo problema. Essa colaboração normalmente ocorre em cenários que apresentam as seguintes técnicas de tomada de decisão de vários agentes:
Tempestade de ideias
Raciocínio conjunto
Quórum e decisões baseadas em votação
Cenários sensíveis ao tempo em que o processamento paralelo reduz a latência.
Quando evitar a orquestração simultânea
Evite esse padrão de orquestração nos seguintes cenários:
Os agentes precisam se basear no trabalho uns dos outros ou exigem contexto cumulativo em uma sequência específica.
A tarefa requer uma ordem específica de operações ou resultados determinísticos e reprodutíveis da execução em uma sequência definida.
As restrições de recursos, como a cota do modelo, tornam o processamento paralelo ineficiente ou impossível.
Os agentes não podem coordenar de forma confiável as alterações no estado compartilhado ou em sistemas externos durante a execução simultânea.
Não há uma estratégia clara de resolução de conflitos para lidar com resultados contraditórios ou conflitantes de cada agente.
A lógica de agregação de resultados é muito complexa ou reduz a qualidade dos resultados.
Exemplo de orquestração simultânea
Uma empresa de serviços financeiros desenvolveu uma aplicação inteligente que utiliza agentes concorrentes especializados em diferentes tipos de análise para avaliar a mesma ação. Cada agente contribui com insights de sua perspetiva especializada, que fornece informações diversificadas e sensíveis ao tempo para decisões de investimento rápidas.
O sistema processa solicitações de análise de estoque enviando o mesmo símbolo de ticker para quatro agentes especializados que funcionam em paralelo.
O agente de análise fundamental avalia demonstrações financeiras, tendências de receita e posicionamento competitivo para avaliar o valor intrínseco.
O agente de análise técnica examina padrões de preços, indicadores de volume e sinais de momento para identificar oportunidades de negociação.
O agente de análise de sentimento processa artigos de notícias, menções de mídia social e relatórios de analistas para avaliar o sentimento do mercado e a confiança dos investidores.
O agente ambiental, social e de governança (ESG) analisa o impacto ambiental, a responsabilidade social e os relatórios de práticas de governança para avaliar os riscos e oportunidades de sustentabilidade.
Esses resultados independentes são então combinados em uma recomendação de investimento abrangente, que permite que os gerentes de portfólio tomem decisões informadas rapidamente.
Orquestração do chat de grupo
O padrão de orquestração do chat em grupo permite que vários agentes resolvam problemas, tomem decisões ou validem o trabalho participando de um thread de conversa compartilhado onde colaboram por meio de discussões. Um gerente de chat coordena o fluxo determinando quais agentes podem responder em seguida e gerenciando diferentes modos de interação, desde brainstorming colaborativo até portas de qualidade estruturadas.
Esse padrão aborda cenários que são melhor realizados por meio de discussões em grupo para chegar a decisões. Esses cenários podem incluir ideação colaborativa, validação estruturada ou processos de controle de qualidade. O padrão suporta vários modos de interação, desde uma tempestade de ideias livre até fluxos de trabalho formais de revisão que têm funções fixas e etapas de aprovação.
Esse padrão funciona bem para cenários human-in-the-loop onde os humanos podem, opcionalmente, assumir responsabilidades dinâmicas de gerente de bate-papo e orientar as conversas em direção a resultados produtivos. Nesse padrão de orquestração, os agentes normalmente operam no modo somente leitura. Eles não usam ferramentas para fazer alterações nos sistemas em execução.
Quando usar a orquestração de bate-papo em grupo
Considere a orquestração do bate-papo em grupo quando seu cenário puder ser resolvido por meio de colaboração espontânea ou guiada ou loops iterativos do maker-checker. Todas essas abordagens suportam a supervisão ou participação humana em tempo real. Como todos os agentes e humanos no circuito emitem saída numa única sequência acumulada, esse padrão fornece transparência e auditabilidade.
Cenários colaborativos
Sessões criativas de brainstorming onde agentes que têm diferentes perspetivas e fontes de conhecimento aproveitam as contribuições uns dos outros para o chat
Processos de tomada de decisão que beneficiam do debate e da construção de consensos
Cenários de tomada de decisão que exigem refinamento iterativo através da discussão
Problemas multidisciplinares que exigem diálogo interfuncional
Cenários de validação e controlo de qualidade
Requisitos de garantia de qualidade que envolvem processos de revisão estruturados e iteração
Conformidade e validação regulatória que requer várias perspetivas de especialistas
Fluxos de trabalho de criação de conteúdo que exigem revisão editorial com uma separação clara de preocupações entre criação e validação
Quando evitar a orquestração do chat em grupo
Evite esse padrão nos seguintes cenários:
A delegação simples de tarefas ou o processamento linear de pipeline são suficientes.
Os requisitos de processamento em tempo real tornam a sobrecarga de discussão inaceitável.
Tomadas de decisão hierárquicas claras ou fluxos de trabalho determinísticos sem discussão são mais apropriados.
O gerente de chat não tem uma maneira objetiva de determinar se a tarefa está concluída.
Gerenciar o fluxo de conversas e evitar loops infinitos requer atenção cuidadosa, especialmente porque mais agentes tornam o controle mais difícil de manter. Para manter um controle eficaz, considere limitar a orquestração do bate-papo em grupo a três ou menos agentes.
Loops de verificador-criador
O loop maker-checker é um tipo específico de orquestração de bate-papo em grupo onde um agente, o maker, cria ou propõe algo. Outro agente, o verificador, faz uma crítica ao resultado. Esse padrão é iterativo, com o agente verificador empurrando a conversa de volta para o agente maker para fazer atualizações e repetir o processo. Embora o padrão de bate-papo em grupo não exija que os agentes se revezem no bate-papo, o loop maker-checker requer uma sequência formal baseada em turnos que o gerente de bate-papo dirige.
Exemplo de orquestração de chat de grupo
Um departamento de parques e recreação da cidade usa um software que inclui orquestração de bate-papo em grupo para avaliar novas propostas de desenvolvimento de parques. O software lê o rascunho da proposta, e vários agentes especializados debatem diferentes perspetivas de impacto na comunidade e trabalham para um consenso sobre a proposta. Esse processo ocorre antes da abertura da proposta para revisão da comunidade para ajudar a antecipar o feedback que ela pode receber.
O sistema processa as propostas de desenvolvimento do parque iniciando uma consulta em grupo com agentes municipais especializados que se envolvem na tarefa a partir de múltiplas perspetivas cívicas.
O agente de envolvimento da comunidade avalia os requisitos de acessibilidade, o feedback antecipado dos residentes e os padrões de uso para garantir o acesso equitativo da comunidade.
O agente de planejamento ambiental avalia o impacto ecológico, as medidas de sustentabilidade, o deslocamento da vegetação nativa e o cumprimento das normas ambientais.
O agente de orçamento e operações analisa os custos de construção, as despesas de manutenção contínua, os requisitos de pessoal e a sustentabilidade operacional a longo prazo.
O gestor de chat facilita o debate estruturado onde os agentes desafiam as recomendações uns dos outros e defendem o seu raciocínio. Um funcionário do departamento de parques participa do tópico de bate-papo para adicionar informações e responder às solicitações de conhecimento dos agentes em tempo real. Esse processo permite que o funcionário atualize a proposta original para abordar as preocupações identificadas e se preparar melhor para o feedback da comunidade.
Orquestração Handoff
O padrão de orquestração de transferência permite a delegação dinâmica de tarefas entre agentes especializados. Cada agente pode avaliar a tarefa em questão e decidir se a manuseia diretamente ou se a transfere para um agente mais apropriado com base no contexto e nos requisitos.
Esse padrão aborda cenários em que o agente ideal para uma tarefa não é conhecido antecipadamente ou em que os requisitos da tarefa ficam claros apenas durante o processamento. Ele permite o roteamento inteligente e garante que as tarefas cheguem ao agente mais capaz. Os agentes nesse padrão normalmente não funcionam em paralelo. O controlo total transfere-se de um agente para outro.
Quando usar orquestração de transição
Considere o padrão de transferência do agente nos seguintes cenários:
Tarefas que requerem conhecimentos ou ferramentas especializadas, mas em que o número de agentes necessários ou a sua ordem não podem ser predeterminados
Cenários em que os requisitos de especialização surgem durante o processamento, resultando em roteamento dinâmico de tarefas com base na análise de conteúdo
Problemas de múltiplos domínios que exigem diferentes especialistas que operam um de cada vez
Relações lógicas e sinais que você pode predeterminar para indicar quando um agente atinge seu limite de capacidade e qual agente deve lidar com a tarefa em seguida
Quando evitar a orquestração de passagem
Evite esse padrão nos seguintes cenários:
Os agentes apropriados e a sua ordem são sempre conhecidos antecipadamente.
O roteamento de tarefas é simples e deterministicamente baseado em regras, não baseado em janela de contexto dinâmico ou interpretação dinâmica.
Decisões de roteamento abaixo do ideal podem levar a uma experiência de usuário ruim ou frustrante.
Várias operações devem ser executadas simultaneamente para abordar a tarefa.
Evitar um loop de transferência infinito ou evitar saltos excessivos entre agentes é um desafio.
Exemplo de padrão de transferência de agente
Uma solução de gestão de relacionamento com o cliente (CRM) de telecomunicações usa agentes de handoff no portal de suporte ao cliente. Um agente inicial começa a ajudar os clientes, mas descobre que precisa de experiência especializada durante a conversa. O agente inicial passa a tarefa para o agente mais apropriado para resolver a preocupação do cliente. Apenas um agente de cada vez opera na entrada original, e a cadeia de transferência resulta em um único resultado.
Neste sistema, o agente de suporte de triagem interpreta a solicitação e tenta lidar diretamente com problemas comuns. Quando atinge os seus limites, passa os problemas para outros agentes. Por exemplo, entrega problemas de rede a um agente de infraestrutura técnica e as disputas de faturação a um agente de resolução financeira. Outras transferências ocorrem dentro desses agentes quando o agente atual reconhece seus próprios limites de capacidade e sabe que outro agente pode suportar melhor o cenário.
Cada agente é capaz de concluir a conversa se determinar que o sucesso do cliente foi alcançado ou que nenhum outro agente pode beneficiar ainda mais o cliente. Alguns agentes também são projetados para entregar a experiência do usuário a um agente de suporte humano quando o problema é importante resolver, mas nenhum agente de IA atualmente tem os recursos para resolvê-lo.
Um exemplo de uma instância de transferência é realçado no diagrama. Começa com o agente de triagem que entrega a tarefa ao agente de infraestrutura técnica. O agente de infraestrutura técnica decide então entregar a tarefa ao agente de resolução financeira, que, em última análise, redireciona a tarefa para o suporte ao cliente.
Orquestração magentica
O padrão de orquestração magentic é projetado para problemas abertos e complexos que não têm um plano de abordagem predeterminado. Os agentes nesse padrão normalmente têm ferramentas que lhes permitem fazer alterações diretas em sistemas externos. O foco está tanto na construção e documentação da abordagem para resolver o problema quanto na implementação dessa abordagem. A lista de tarefas é criada dinamicamente e refinada como parte do fluxo de trabalho por meio da colaboração entre agentes especializados e um agente de gerenciamento magentic. À medida que o contexto evolui, o agente gerente magentic constrói um livro de tarefas para desenvolver o plano de abordagem com metas e submetas, que é eventualmente finalizado, seguido e rastreado para concluir o resultado desejado.
O agente gestor comunica-se diretamente com agentes especializados para recolher informações à medida que cria e refina o registo de tarefas. Ele itera, recua e delega quantas vezes forem necessárias para construir um plano completo que possa executar com sucesso. O agente gerente frequentemente avalia se a solicitação original está totalmente satisfeita ou paralisada. Atualiza o livro-razão para ajustar o plano.
De certa forma, esse padrão de orquestração é uma extensão do padrão de bate-papo em grupo . O padrão de orquestração magentic se concentra em um agente que constrói um plano de abordagem, enquanto outros agentes usam ferramentas para fazer alterações em sistemas externos em vez de usar apenas seus armazenamentos de conhecimento para chegar a um resultado.
Quando usar orquestração magnética
Considere o padrão magentic nos seguintes cenários:
Um caso de uso complexo ou aberto que não tem um caminho de solução predeterminado.
Um requisito para considerar a entrada e o feedback de vários agentes especializados para desenvolver um caminho de solução válido.
Um requisito para que o sistema de IA gere um plano de abordagem totalmente desenvolvido que um ser humano possa rever antes ou depois da implementação.
Agentes equipados com ferramentas que interagem com sistemas externos, consomem recursos externos ou podem induzir alterações nos sistemas em execução. Um plano documentado que mostra como esses agentes são sequenciados pode ser apresentado a um usuário antes de permitir que os agentes sigam as tarefas.
Quando evitar a orquestração magnética
Evite esse padrão nos seguintes cenários:
O caminho da solução é desenvolvido ou deve ser abordado de forma determinística.
Não há necessidade de produzir um livro-razão.
A tarefa tem baixa complexidade e um padrão mais simples pode resolvê-la.
O trabalho é sensível ao tempo, pois o padrão se concentra na construção e debate de planos viáveis, não otimizando para resultados finais.
Prevê paradas frequentes ou ciclos infinitos sem um caminho claro para resolução.
Exemplo de orquestração magentica
Uma equipa de engenharia de confiabilidade de site (SRE) desenvolveu uma automatização que utiliza orquestração magnética para lidar com cenários de resposta a incidentes de baixo risco. Quando ocorre uma interrupção de serviço dentro do escopo da automação, o sistema deve criar e implementar dinamicamente um plano de remediação. Fá-lo sem conhecer antecipadamente os passos específicos necessários.
Quando a automação deteta um incidente qualificado, o agente do gestor magnético começa criando um livro de registo de tarefas inicial com objetivos de alto nível, como restaurar a disponibilidade do serviço e identificar a causa principal. Em seguida, o agente gestor consulta agentes especializados para reunir informações e refinar o plano de remediação.
O agente de diagnóstico analisa logs do sistema, métricas de desempenho e padrões de erro para identificar possíveis causas. Ele relata as descobertas de volta ao agente gerente.
Com base nos resultados do diagnóstico, o agente gerente atualiza o livro razão de tarefas com etapas de investigação específicas e consulta o agente de infraestrutura para entender o estado atual do sistema e as opções de recuperação disponíveis.
O agente de comunicação fornece recursos de notificação das partes interessadas e o agente gerente incorpora pontos de verificação de comunicação e portas de aprovação no plano em evolução de acordo com os procedimentos de escalonamento da equipe SRE.
À medida que o cenário se torna mais claro, o agente gestor pode adicionar o agente de reversão ao plano se a reversão da implantação for necessária ou escalar para engenheiros SRE humanos se o incidente exceder o escopo da automação.
Ao longo deste processo, o agente gestor refina continuamente o registo de tarefas com base em novas informações. Ele adiciona, remove ou reordena tarefas à medida que o incidente evolui. Por exemplo, se o agente de diagnóstico descobrir um problema de conexão de banco de dados, o agente do gerente poderá alternar todo o plano de uma estratégia de reversão de implantação para um plano que se concentre na restauração da conectividade do banco de dados.
O agente gestor monitoriza as interrupções excessivas na restauração do serviço e protege contra loops de remediação infinitos. Ele mantém uma trilha de auditoria completa do plano em evolução e das etapas de implementação, o que fornece transparência para a revisão pós-incidente. Essa transparência garante que a equipe SRE possa melhorar a carga de trabalho e a automação com base nas lições aprendidas.
Considerações de implementação
Quando você implementa qualquer um desses padrões de design de agente, várias considerações devem ser abordadas. A revisão dessas considerações ajuda a evitar armadilhas comuns e garante que a orquestração de seus agentes seja robusta, segura e sustentável.
Agente único, multiferramenta
Você pode resolver alguns problemas com um único agente se lhe der acesso suficiente a ferramentas e fontes de conhecimento. À medida que o número de fontes e ferramentas de conhecimento aumenta, torna-se difícil fornecer uma experiência de agente previsível. Se um único agente puder resolver seu cenário de forma confiável, considere adotar essa abordagem. A tomada de decisões e a sobrecarga de controle de fluxo geralmente excedem os benefícios de dividir a tarefa em vários agentes. No entanto, os limites de segurança, a linha de visão da rede e outros fatores ainda podem inviabilizar uma abordagem de agente único.
Roteamento determinístico
Alguns padrões exigem que você roteie o fluxo entre os agentes de forma determinística. Outros dependem de agentes para escolher suas próprias rotas. Se seus agentes forem definidos em um ambiente no-code ou low-code, talvez você não controle esses comportamentos. Se você definir seus agentes em código usando SDKs como Microsoft Agent Framework ou Semantic Kernel, terá mais controle.
Janela de contexto
Os agentes de IA geralmente têm janelas de contexto limitadas. Essa restrição pode afetar sua capacidade de processar tarefas complexas. Ao implementar esses padrões, decida qual contexto o próximo agente requer para ser eficaz. Em alguns cenários, você precisa do contexto completo e bruto reunido até agora. Em outros cenários, uma versão resumida ou truncada é mais apropriada. Se o agente puder trabalhar sem contexto acumulado e exigir apenas um novo conjunto de instruções, adote essa abordagem em vez de fornecer um contexto que não ajude a realizar a tarefa do agente.
Fiabilidade
Esses padrões exigem agentes que funcionem adequadamente e transições confiáveis entre eles. Eles geralmente resultam em problemas clássicos de sistemas distribuídos, como falhas de nós, partições de rede, perda de mensagens e erros em cascata. Devem ser criadas estratégias de atenuação para fazer face a estes desafios. Os agentes e seus orquestradores devem fazer as seguintes etapas.
Implemente mecanismos de tempo limite e novas tentativas.
Inclua uma implementação de degradação graciosa para lidar com um ou mais agentes dentro de um padrão de falha.
Exponha os erros em vez de ocultá-los, para que os agentes a jusante e a lógica do orquestrador possam responder adequadamente.
Considere padrões de disjuntor para dependências do agente.
Os agentes de projeto devem ser tão isolados quanto seja prático uns dos outros, com pontos únicos de falha não compartilhados entre os agentes. Por exemplo:
Garanta o isolamento de computação entre agentes.
Avalie como o uso de um modelo único de modelo como serviço (MaaS) ou um repositório de conhecimento compartilhado pode resultar em limitação de taxa quando os agentes são executados simultaneamente.
Use os recursos de ponto de verificação disponíveis no seu SDK para ajudar na recuperação de um processo de orquestração interrompido, como uma falha de sistema ou uma implementação de novo código.
Segurança
A implementação de mecanismos de segurança adequados nesses padrões de design minimiza o risco de expor seu sistema de IA a ataques ou vazamento de dados. Proteger a comunicação entre os agentes e limitar o acesso de cada agente a dados confidenciais são as principais estratégias de design de segurança. Considere as seguintes medidas de segurança:
Implemente autenticação e use redes seguras entre agentes.
Considere as implicações de privacidade de dados das comunicações do agente.
Projete trilhas de auditoria para atender aos requisitos de conformidade.
Concebe os agentes e os seus orquestradores para seguir o princípio do menor privilégio.
Considere como lidar com a identidade do usuário entre agentes. Os agentes devem ter amplo acesso aos armazenamentos de conhecimento para lidar com solicitações de todos os usuários, mas não devem retornar dados inacessíveis ao usuário. A filtragem de segurança deve ser implementada em todos os agentes no padrão.
Observabilidade e teste
Distribuir seu sistema de IA entre vários agentes requer monitoramento e teste de cada agente individualmente, bem como do sistema como um todo, para garantir a funcionalidade adequada. Ao projetar suas estratégias de observabilidade e teste, considere as seguintes recomendações:
Instrumentar todas as operações e transferências de agentes. A solução de problemas de sistemas distribuídos é um desafio da ciência da computação, e agentes de IA orquestrados não são exceção.
Acompanhe as métricas de desempenho e uso de recursos de cada agente para que você possa estabelecer uma linha de base, encontrar gargalos e otimizar.
Projete interfaces testáveis para agentes individuais.
Implemente testes de integração para fluxos de trabalho multiagentes.
Armadilhas comuns e anti-padrões
Evite estes erros comuns ao implementar padrões de orquestração de agentes:
Criar complexidade de coordenação desnecessária usando um padrão complexo quando uma simples orquestração sequencial ou simultânea seria suficiente.
Adicionar agentes que não fornecem especialização significativa.
Negligenciando os impactos de latência da comunicação de saltos múltiplos.
Compartilhamento de estado mutável entre agentes simultâneos, o que pode resultar em dados transacionalmente inconsistentes devido à suposição de atualizações síncronas entre os limites do agente.
Usando padrões determinísticos para fluxos de trabalho que são inerentemente não determinísticos.
Usando padrões não determinísticos para fluxos de trabalho que são inerentemente determinísticos.
Ignorando restrições de recursos ao escolher orquestração simultânea.
Consumir recursos excessivos do modelo porque as janelas de contexto crescem à medida que os agentes acumulam mais informações e consultam seu modelo para progredir em suas tarefas.
Combinando padrões de orquestração
Às vezes, os aplicativos exigem que você combine vários padrões de orquestração para atender às suas necessidades. Por exemplo, você pode usar orquestração sequencial para os estágios iniciais de processamento de dados e, em seguida, alternar para orquestração simultânea para tarefas de análise paralelizáveis. Não tente fazer com que um fluxo de trabalho se ajuste a um único padrão quando diferentes estágios da sua carga de trabalho têm características diferentes e podem se beneficiar de cada estágio usando um padrão diferente.
Relação com padrões de design de nuvem
Os padrões de orquestração de agentes de IA estendem e complementam os padrões tradicionais de design de nuvem , abordando os desafios exclusivos de coordenar componentes inteligentes e autônomos. Os padrões de design de nuvem se concentram em preocupações estruturais e comportamentais em sistemas distribuídos, mas os padrões de orquestração de agentes de IA abordam especificamente a coordenação de componentes com capacidades de raciocínio, comportamentos de aprendizagem e saídas não determinísticas.
Implementações baseadas em SDK
Muitos desses padrões dependem de uma implementação baseada em código para abordar a lógica de orquestração. SDKs que suportam uma estrutura de agente geralmente fornecem suporte para muitos dos padrões de orquestração do agente.
Estrutura do Microsoft Agent
O SDK do Microsoft Agent Framework tem diretrizes de implementação para orquestração do Agent Framework.
- Orquestração sequencial usando o Agent Framework
- Orquestração simultânea usando o Agent Framework
- Orquestração de Handoff usando o Framework de Agentes
- Orquestração magentica usando o Agent Framework
Para implementação prática, explore exemplos de fluxo de trabalho declarativo do Agent Framework no GitHub que demonstram alguns desses padrões na prática.
Kernel Semântico
O SDK do Kernel Semântico tem orientação de implementação para sua estrutura de agente.
- Orquestração sequencial usando kernel semântico
- Orquestração simultânea usando kernel semântico
- Orquestração do Chat de Grupo usando Kernel Semântico
- Orquestração de Handoff usando Kernel Semântico
- Orquestração Magnética usando Kernel Semântico
Para implementação prática, explore exemplos de orquestração multiagente do Kernel Semântico no GitHub que demonstram esses padrões na prática.
Você também pode encontrar muitos desses padrões no AutoGen, como o Magentic-One.
Implementações no Serviço de Agentes de Fundição
Também pode usar a Foundry Agent Service para encadear agentes em fluxos de trabalho relativamente simples, utilizando a funcionalidade de agentes conectados. Os fluxos de trabalho que você implementa usando esse serviço são principalmente não determinísticos, o que limita quais padrões podem ser totalmente implementados nesse ambiente sem código.
Contribuidores
A Microsoft mantém este artigo. Os seguintes colaboradores escreveram este artigo.
Principais autores:
Chad Kittel | Engenheiro Principal de Software - Azure Patterns & Practices- Clayton Siemens - Desenvolvedor de Conteúdo Principal - Azure Patterns & Practices
Outros contribuidores:
- Hemavathy Alaganandam | Engenheira de Software Principal
- James Lee | Cientista de Dados 2
- Ritesh Modi | Engenheiro de Software Principal
- Mahdi Setayesh | Engenheiro de Software Principal
- Mark Taylor - Brasil | Engenheiro de Software Principal
- Yaniv Vaknin | Especialista Técnico Sénior
Para ver perfis não públicos do LinkedIn, faça login no LinkedIn.