Compartilhar via


Estrutura do Microsoft Agent

O Microsoft Agent Framework é um kit de desenvolvimento de software livre para criar agentes de IA e fluxos de trabalho de vários agentes para .NET e Python. Ele reúne e estende ideias de projetos Semânticos kernel e AutoGen , combinando seus pontos fortes ao mesmo tempo em que adiciona novos recursos. Criada pelas mesmas equipes, é a base unificada para a criação de agentes de IA daqui para frente.

O Agent Framework oferece duas categorias primárias de funcionalidades:

  • Agentes de IA: agentes individuais que usam LLMs para processar entradas de usuário, ferramentas de chamada e servidores MCP para executar ações e gerar respostas. Os agentes dão suporte a provedores de modelo, incluindo Azure OpenAI, OpenAI e IA do Azure.
  • Fluxos de trabalho: fluxos de trabalho baseados em grafo que conectam vários agentes e funções para executar tarefas complexas e de várias etapas. Os fluxos de trabalho dão suporte a padrões de roteamento baseado em tipo, aninhamento, ponto de verificação e solicitação/resposta para cenários humanos no loop.

A estrutura também fornece blocos de construção fundamentais, incluindo clientes de modelo (conclusões e respostas de chat), um thread de agente para gerenciamento de estado, provedores de contexto para memória do agente, middleware para interceptar ações do agente e clientes MCP para integração de ferramentas. Juntos, esses componentes oferecem flexibilidade e poder para criar aplicativos de IA interativos, robustos e seguros.

Por que outra estrutura de agente?

Kernel semântico e AutoGen foram pioneiros nos conceitos de agentes de IA e orquestração de vários agentes. O Agent Framework é o sucessor direto, criado pelas mesmas equipes. Ele combina as abstrações simples da AutoGen para padrões de um e vários agentes com os recursos de nível empresarial do Kernel Semântico, como gerenciamento de estado baseado em thread, segurança de tipo, filtros, telemetria e amplo suporte a modelo e inserção. Além de mesclar os dois, o Agent Framework apresenta fluxos de trabalho que dão aos desenvolvedores controle explícito sobre caminhos de execução de vários agentes, além de um sistema de gerenciamento de estado robusto para cenários de longa execução e humanos no loop. Em suma, o Agent Framework é a próxima geração de Kernel Semântico e AutoGen.

Para saber mais sobre como migrar do Kernel Semântico ou do AutoGen, consulte o Guia de Migração do Guia de Migração e Kernel Semânticoda AutoGen.

Kernel Semântico e AutoGen se beneficiaram significativamente da comunidade de software livre, e o mesmo é esperado para o Agent Framework. O Microsoft Agent Framework recebe contribuições e continuará melhorando com novos recursos e recursos.

Observação

O Microsoft Agent Framework está atualmente em versão prévia pública. Envie comentários ou problemas no repositório GitHub.

Importante

Se você usar o Microsoft Agent Framework para criar aplicativos que operam com servidores ou agentes de terceiros, faça isso por sua conta e risco. Recomendamos revisar todos os dados compartilhados com servidores ou agentes de terceiros e estar ciente das práticas de terceiros para retenção e localização de dados. É sua responsabilidade gerenciar se seus dados fluirão fora dos limites geográficos e de conformidade do Azure da sua organização e quaisquer implicações relacionadas.

Installation

Pitão:

pip install agent-framework --pre

.REDE:

dotnet add package Microsoft.Agents.AI

Agentes de IA

O que é um agente de IA?

Um agente de IA usa uma LLM para processar entradas do usuário, tomar decisões, chamar ferramentas e servidores MCP para executar ações e gerar respostas. O diagrama a seguir ilustra os componentes principais e suas interações em um agente de IA:

Diagrama do Agente de IA

Um agente de IA também pode ser aumentado com componentes adicionais, como um thread, um provedor de contexto e middleware para aprimorar seus recursos.

Quando usar um agente de IA?

Os agentes de IA são adequados para aplicativos que exigem tomada de decisão autônoma, planejamento ad hoc, exploração de avaliação e erro e interações de usuário baseadas em conversa. Eles são particularmente úteis para cenários em que a tarefa de entrada não é estruturada e não pode ser facilmente definida com antecedência.

Aqui estão alguns cenários comuns em que os agentes de IA se destacam:

  • Suporte ao cliente: os agentes de IA podem lidar com consultas multi modais (texto, voz, imagens) dos clientes, usar ferramentas para pesquisar informações e fornecer respostas de linguagem natural.
  • Educação e tutoria: os agentes de IA podem aproveitar bases de dados de conhecimento externas para fornecer tutoria personalizada e responder a perguntas dos alunos.
  • Geração e depuração de código: para desenvolvedores de software, os agentes de IA podem ajudar na implementação, revisões de código e depuração usando várias ferramentas de programação e ambientes.
  • Assistência à Pesquisa: para pesquisadores e analistas, os agentes de IA podem pesquisar na Web, resumir documentos e reunir informações de várias fontes.

A chave é que os agentes de IA foram projetados para operar em uma configuração dinâmica e subespecificada, em que a sequência exata de etapas para atender a uma solicitação de usuário não é conhecida com antecedência e pode exigir exploração e estreita colaboração com os usuários.

Quando não usar um agente de IA?

Os agentes de IA não são adequados para tarefas altamente estruturadas e exigem uma estrita adesão às regras predefinidas. Se o aplicativo prever um tipo específico de entrada e tiver uma sequência bem definida de operações a serem executadas, o uso de agentes de IA poderá introduzir incerteza, latência e custo desnecessários.

Se você puder escrever uma função para lidar com a tarefa, faça isso em vez de usar um agente de IA. Você pode usar a IA para ajudá-lo a escrever essa função.

Um único agente de IA pode ter dificuldades com tarefas complexas que envolvem várias etapas e pontos de decisão. Essas tarefas podem exigir um grande número de ferramentas (por exemplo, mais de 20), que um único agente não pode gerenciar de forma viável.

Nesses casos, considere o uso de fluxos de trabalho.

Workflows

O que é um fluxo de trabalho?

Um fluxo de trabalho pode expressar uma sequência predefinida de operações que pode incluir agentes de IA como componentes, mantendo a consistência e a confiabilidade. Os fluxos de trabalho são projetados para lidar com processos complexos e de execução longa que podem envolver vários agentes, interações humanas e integrações com sistemas externos.

A sequência de execução de um fluxo de trabalho pode ser definida explicitamente, permitindo mais controle sobre o caminho de execução. O diagrama a seguir ilustra um exemplo de um fluxo de trabalho que conecta dois agentes de IA e uma função:

Diagrama de fluxo de trabalho

Os fluxos de trabalho também podem expressar sequências dinâmicas usando roteamento condicional, tomada de decisão baseada em modelo e execução simultânea. É assim que os padrões de orquestração de vários agentes são implementados . Os padrões de orquestração fornecem mecanismos para coordenar vários agentes para trabalhar em tarefas complexas que exigem várias etapas e pontos de decisão, abordando as limitações de agentes únicos.

Quais problemas os fluxos de trabalho resolvem?

Os fluxos de trabalho fornecem uma maneira estruturada de gerenciar processos complexos que envolvem várias etapas, pontos de decisão e interações com vários sistemas ou agentes. Os tipos de fluxos de trabalho de tarefas são projetados para lidar geralmente exigem mais de um agente de IA.

Aqui estão alguns dos principais benefícios dos fluxos de trabalho do Agent Framework:

  • Modularidade: os fluxos de trabalho podem ser divididos em componentes menores e reutilizáveis, facilitando o gerenciamento e a atualização de partes individuais do processo.
  • Integração de agente: os fluxos de trabalho podem incorporar vários agentes de IA ao lado de componentes não agente, permitindo uma orquestração sofisticada de tarefas.
  • Segurança de Tipo: a tipagem forte garante que as mensagens fluam corretamente entre os componentes, com validação abrangente que impede erros de execução.
  • Fluxo Flexível: a arquitetura baseada em grafo permite modelagem intuitiva de fluxos de trabalho complexos com executors e edges. Há suporte para roteamento condicional, processamento paralelo e caminhos de execução dinâmica.
  • Integração externa: os padrões de solicitação/resposta internos permitem uma integração perfeita com APIs externas e dão suporte a cenários humanos no loop.
  • Ponto de verificação: salve os estados de fluxo de trabalho por meio de pontos de verificação, permitindo a recuperação e a retomada de processos de execução longa no lado do servidor.
  • Orquestração de vários agentes: padrões internos para coordenar vários agentes de IA, incluindo sequencial, simultânea, entrega e Magêntica.
  • Capacidade de composição: os fluxos de trabalho podem ser aninhados ou combinados para criar processos mais complexos, permitindo escalabilidade e adaptabilidade.

Próximas etapas