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.
O Microsoft Agent Framework é um kit de desenvolvimento de código aberto para criar agentes de IA e fluxos de trabalho multiagente para .NET e Python. Ele reúne e amplia ideias de projetos Semantic Kernel e AutoGen , combinando seus pontos fortes enquanto adiciona novos recursos. Construído pelas mesmas equipes, é a base unificada para a construção de agentes de IA no futuro.
O Agent Framework oferece duas categorias principais de recursos:
- Agentes de IA: agentes individuais que usam LLMs para processar entradas de usuários, 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 Azure AI.
- Fluxos de trabalho: fluxos de trabalho baseados em gráficos que conectam vários agentes e funções para executar tarefas complexas de várias etapas. Os fluxos de trabalho oferecem suporte a roteamento, aninhamento, ponto de verificação e padrões de solicitação/resposta baseados em tipo para cenários human-in-the-loop.
A estrutura também fornece blocos de construção fundamentais, incluindo clientes modelo (conclusão e respostas de chat), um thread de agente para gerenciamento de estado, provedores de contexto para memória do agente, middleware para intercetar ações do agente e clientes MCP para integração de ferramentas. Juntos, esses componentes oferecem a flexibilidade e o poder para criar aplicativos de IA interativos, robustos e seguros.
Por que outra estrutura de agente?
O Semantic Kernel e o AutoGen foram pioneiros nos conceitos de agentes de IA e orquestração multiagente. O Agent Framework é o sucessor direto, criado pelas mesmas equipes. Ele combina as abstrações simples do AutoGen para padrões de agente único e multiagente com os recursos de nível empresarial do Kernel Semântico, como gerenciamento de estado baseado em threads, segurança de tipo, filtros, telemetria e suporte extensivo a modelos e incorporações. Além de mesclar os dois, o Agent Framework introduz 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 human-in-the-loop. Em resumo, o Agent Framework é a próxima geração do Semantic Kernel e do AutoGen.
Para saber mais sobre como migrar do Kernel Semântico ou do AutoGen, consulte o Guia de Migração do Kernel Semântico e o Guia de Migração do AutoGen.
Tanto o Semantic Kernel quanto o AutoGen se beneficiaram significativamente da comunidade de código aberto, e o mesmo é esperado para o Agent Framework. O Microsoft Agent Framework agradece as contribuições e continuará melhorando com novos recursos e capacidades.
Observação
O Microsoft Agent Framework está atualmente em visualização 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, o fará por sua conta e risco. Recomendamos analisar todos os dados que estão sendo 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 de quaisquer implicações relacionadas.
Installation
Píton:
pip install agent-framework --pre
.NET:
dotnet add package Microsoft.Agents.AI
Agentes de IA
O que é um agente de IA?
Um agente de IA usa um LLM para processar entradas de usuários, 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:
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 aplicações que exigem tomada de decisão autônoma, planejamento ad hoc, exploração de tentativa 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 multimodais (texto, voz, imagens) de clientes, usar ferramentas para pesquisar informações e fornecer respostas em linguagem natural.
- Educação e tutoria: os agentes de IA podem aproveitar bases de conhecimento externas para fornecer tutoria personalizada e responder às 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 e ambientes de programação.
- 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 são projetados para operar em um ambiente dinâmico e subespecificado, onde a sequência exata de etapas para atender a uma solicitação do usuário não é conhecida com antecedência e pode exigir exploração e colaboração estreita com os usuários.
Quando não usar um agente de IA?
Os agentes de IA não são adequados para tarefas que são altamente estruturadas e exigem o cumprimento rigoroso de regras predefinidas. Se seu aplicativo antecipa um tipo específico de entrada e tem uma sequência bem definida de operações a serem executadas, o uso de agentes de IA pode 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. Tais 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.
Fluxos de trabalho
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 longa execução 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:
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 multiagente 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.
Que 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 tarefas que os fluxos de trabalho 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 agentes: os fluxos de trabalho podem incorporar vários agentes de IA ao lado de componentes não agentes, permitindo uma orquestração sofisticada de tarefas.
- Segurança de tipos: A tipagem forte assegura que as mensagens fluam corretamente entre os componentes, com validação abrangente que previne erros durante a execução.
-
Fluxo flexível: A arquitetura baseada em gráficos permite a modelagem intuitiva de fluxos de trabalho complexos com
executorseedges. Roteamento condicional, processamento paralelo e caminhos de execução dinâmica são suportados. - Integração externa: os padrões internos de solicitação/resposta permitem uma integração perfeita com APIs externas e suportam cenários human-in-the-loop.
- Ponto de verificação: salve os estados do fluxo de trabalho por meio de pontos de verificação, permitindo a recuperação e a retomada de processos de longa execução no lado do servidor.
- Orquestração Multiagente: Padrões integrados para coordenar vários agentes de IA, incluindo sequencial, simultâneo, hand-off e Magentic.
- Composabilidade: Os fluxos de trabalho podem ser aninhados ou combinados para criar processos mais complexos, permitindo escalabilidade e adaptabilidade.