Compreender a orquestração de agentes

Concluído

A estrutura de orquestração de agentes do SDK do Microsoft Agent Framework torna possível projetar, gerenciar e dimensionar fluxos de trabalho complexos de vários agentes sem precisar manipular manualmente os detalhes da coordenação do agente. Em vez de depender de um único agente para gerenciar todos os aspetos de uma tarefa, você pode combinar vários agentes especializados. Cada agente com uma função ou área de especialização única pode colaborar para criar sistemas mais robustos, adaptáveis e capazes de resolver problemas do mundo real de forma colaborativa.

Ao orquestrar agentes juntos, você pode assumir tarefas que seriam muito complexas para um único agente, desde a execução de análises paralelas, até a criação de pipelines de processamento de vários estágios e o gerenciamento de transferências dinâmicas e orientadas pelo contexto entre especialistas.

Por que a orquestração multiagente é importante

Os sistemas de agente único geralmente são limitados em escopo, limitados por um conjunto de instruções ou um único prompt de modelo. A orquestração multiagente aborda essa limitação, permitindo que você:

  • Atribua habilidades, responsabilidades ou perspetivas distintas a cada agente.
  • Combine saídas de vários agentes para melhorar a tomada de decisões e a precisão.
  • Coordene as etapas de um fluxo de trabalho para que o trabalho de cada agente se baseie na última.
  • Roteie dinamicamente o controle entre agentes com base no contexto ou nas regras.

Essa abordagem abre as portas para soluções mais flexíveis, eficientes e escaláveis, especialmente para aplicativos do mundo real que exigem colaboração, especialização ou redundância.

Compreender fluxos de trabalho no Microsoft Agent Framework

O Microsoft Agent Framework fornece fluxos de trabalho — sequências estruturadas de etapas usadas para concluir uma tarefa. Esses fluxos de trabalho podem incluir um ou mais agentes de IA juntamente com outros componentes para automatizar operações complexas.

Os fluxos de trabalho dão aos desenvolvedores controle sobre como as tarefas são executadas, habilitam a orquestração de vários agentes e dão suporte ao ponto de verificação para salvar e retomar os estados do fluxo de trabalho.

Componentes principais de um fluxo de trabalho

Executores

Os executores são os principais trabalhadores em um fluxo de trabalho. Eles recebem mensagens de entrada, executam ações específicas e produzem saídas que movem o fluxo de trabalho em direção à conclusão de seu objetivo.
Os executores podem representar agentes de IA ou componentes lógicos personalizados .

Exemplo: Um executor pode analisar um pedido de viagem, enquanto outro reserva o voo ou hotel com base nos resultados.

Bordas

As bordas definem como as mensagens fluem entre os executores, determinando a lógica e a ordem de execução. O Microsoft Agent Framework suporta vários tipos de bordas:

  • Bordas diretas: Conecte um executor diretamente a outro em sequência.
    Exemplo: Depois que um agente de IA coleta a entrada do usuário, o próximo executor processa a reserva.*

  • Bordas condicionais: Acionar apenas quando estiverem reunidas determinadas condições.
    Exemplo: Se os quartos do hotel não estiverem disponíveis, o fluxo de trabalho será transferido para um executor que sugere datas ou locais alternativos.*

  • Switch-Case Bordas: Encaminhe mensagens para diferentes executores com base em condições predefinidas.
    Exemplo: Os clientes VIP podem ser encaminhados para um executor de serviço premium, enquanto outros seguem o processo padrão.*

  • Fan-Out Bordas: Envie uma única mensagem para vários executores simultaneamente.
    Exemplo: Um pedido poderia ser enviado a vários agentes — um verificando voos, outro verificando hotéis.*

  • Fan-In: Combine várias mensagens de diferentes executores numa única para o passo final.
    Exemplo: Depois de reunir os resultados do hotel e do voo, um executor de resumo compila-os num único itinerário de viagem.*

Events

O Microsoft Agent Framework inclui eventos internos para melhorar a observabilidade e a depuração durante a execução do fluxo de trabalho. Esses eventos ajudam os desenvolvedores a monitorar o progresso, rastrear erros e analisar o desempenho do sistema.

Nome do evento Descrição
WorkflowStartedEvent Acionado quando a execução do fluxo de trabalho começa.
WorkflowOutputEvent Emitido quando o fluxo de trabalho produz uma saída.
WorkflowErrorEvent Ocorre quando um erro é encontrado.
ExecutorInvokeEvent Acionado quando um executor começa a processar uma tarefa.
ExecutorCompleteEvent Demitido quando um executor termina seu trabalho.
RequestInfoEvent Registrado quando uma solicitação externa é emitida.

Os fluxos de trabalho no Microsoft Agent Framework permitem que os desenvolvedores projetem, monitorem e controlem como vários agentes de IA e componentes lógicos interagem para concluir tarefas complexas. Eles trazem estrutura, flexibilidade e transparência para aplicativos orientados a agentes.

Padrões de orquestração suportados

O Microsoft Agent Framework fornece vários padrões de orquestração diretamente no SDK, cada um oferecendo uma abordagem diferente para coordenar agentes. Esses padrões são projetados para serem agnósticos em relação à tecnologia, para que você possa adaptá-los ao seu próprio domínio e integrá-los aos seus sistemas existentes.

  • Orquestração simultânea - Transmita a mesma tarefa para vários agentes ao mesmo tempo e colete seus resultados de forma independente. Útil para análise paralela, subtarefas independentes ou tomada de decisão de conjunto.
  • Orquestração sequencial - Passe a saída de um agente para o próximo em uma ordem fixa. Ideal para fluxos de trabalho passo a passo, canais de processamento e refinamento progressivo.
  • Orquestração de Handoff. Transfira dinamicamente o controlo entre agentes com base no contexto ou nas regras. Ótimo para escalonamento, fallback e roteamento especializado em que um agente trabalha de cada vez.
  • Orquestração de chat em grupo - Coordene uma conversa compartilhada entre vários agentes (e, opcionalmente, um humano), gerenciada por um gerente de chat que escolhe quem fala em seguida. Ideal para brainstorming, resolução colaborativa de problemas e construção de consenso.
  • Orquestração magentica - Uma abordagem orientada pelo gerente que planeja, delega e se adapta entre agentes especializados. Adequado para problemas complexos e abertos, onde o caminho da solução evolui.

Um fluxo de trabalho de orquestração unificado

Independentemente do padrão de orquestração escolhido, o SDK do Microsoft Agent Framework fornece uma interface consistente e amigável para desenvolvedores para criá-los e executá-los. O fluxo típico tem esta aparência:

  1. Defina seus agentes e descreva seus recursos.
  2. Selecione e crie um padrão de orquestração , adicionando opcionalmente um agente de gerente, se necessário.
  3. Opcionalmente, configure retornos de chamada ou transformações para manipulação personalizada de entrada e saída.
  4. Inicie um tempo de execução para gerenciar a execução.
  5. Invoque a orquestração com a tarefa.
  6. Recupere resultados de forma assíncrona e sem bloqueios.

Como todos os padrões compartilham a mesma interface principal, você pode experimentar facilmente diferentes estratégias de orquestração sem reescrever a lógica do agente ou aprender novas APIs. O SDK abstrai a complexidade da comunicação, coordenação e agregação de resultados do agente para que você possa se concentrar na criação de fluxos de trabalho que fornecem resultados.

A orquestração de vários agentes no SDK do Microsoft Agent Framework fornece uma maneira flexível e escalável de criar sistemas inteligentes que combinam os pontos fortes de vários agentes especializados. Com padrões de orquestração integrados, um modelo de desenvolvimento unificado e recursos de tempo de execução para gerenciar a execução, você pode rapidamente prototipar, refinar e implantar fluxos de trabalho colaborativos de IA. A estrutura fornece as ferramentas para transformar vários agentes em uma equipe coesa de resolução de problemas, quer você esteja executando processos paralelos, fluxos de trabalho sequenciais ou conversas dinâmicas.