Published on

Atualização do Agente de IA Aberto da Microsoft: Remodelando Agentes Inteligentes com Arquitetura Multicamadas Mais Forte

Autores
  • avatar
    Nome
    Ajax
    Twitter

Destaques da Versão 0.4 do AutoGen

A Microsoft revelou uma atualização importante para seu framework de Agente de IA de código aberto, o AutoGen, com o lançamento da versão 0.4. Esta biblioteca reformulada ostenta maior estabilidade de código, robustez, versatilidade e escalabilidade, capacitando os desenvolvedores a criar aplicações de Agente de IA de ponta e avançadas.

  • Mensagens Assíncronas: Os agentes agora se comunicam usando mensagens assíncronas, permitindo que eles prossigam com as tarefas sem esperar por respostas de outros agentes. Isso é particularmente benéfico para aplicações orientadas a eventos, onde os agentes reagem a gatilhos específicos. O modelo tradicional de requisição/resposta também é suportado.
  • Modularidade e Extensibilidade: Os usuários podem combinar agentes, ferramentas, memória e modelos personalizados para construir sistemas de agentes adaptados às necessidades específicas de negócios. Isso envolve o registro de diferentes tipos de agentes e ferramentas para atingir metas de automação específicas.
  • Observabilidade e Depuração: Ferramentas integradas para rastreamento de métricas, rastreamento de mensagens e depuração permitem o monitoramento e controle das interações e fluxos de trabalho dos agentes. Cada etapa no fluxo de trabalho de um agente — incluindo chamadas de modelos grandes, uso de ferramentas, saídas intermediárias, estados de memória e modelos de prompt — pode ser claramente registrada. Isso é crucial para indústrias que exigem rastreamento preciso das operações do agente, como saúde, direito e finanças.
  • Escalabilidade e Distribuição: Redes de agentes distribuídas e complexas podem ser projetadas para operar perfeitamente além das fronteiras organizacionais. Uma arquitetura distribuída facilita a implantação de agentes em vários servidores ou plataformas de nuvem, otimizando a alocação e utilização de recursos.
  • Extensões Integradas e da Comunidade: A funcionalidade do framework é aprimorada por extensões que apresentam clientes de modelos avançados, agentes, equipes multiagentes e ferramentas de fluxo de trabalho de agentes. O suporte da comunidade permite que os desenvolvedores gerenciem suas próprias extensões, criando e compartilhando agentes ou ferramentas personalizados. Os desenvolvedores podem usar essas extensões para necessidades comuns, o que reduz a complexidade e as barreiras de desenvolvimento.
  • Suporte Multilíngua: O AutoGen agora oferece suporte à interoperabilidade entre agentes escritos em diferentes linguagens de programação, como Python e .NET. Esse recurso amplia o escopo de aplicação do AutoGen e remove obstáculos decorrentes de diferenças de linguagem.

Além desses novos recursos, a Microsoft reestruturou a base do AutoGen, que abrange o núcleo, o chat do agente e as extensões. O núcleo serve como base para o sistema de agentes orientados a eventos. O chat do agente, construído sobre o núcleo, apresenta APIs avançadas para gerenciamento de tarefas, chats em grupo, execução de código e agentes pré-construídos. As extensões facilitam integrações de terceiros com serviços como executores de código Azure e modelos OpenAI.

Melhorias na Interface do Usuário

A interface do usuário também passou por melhorias significativas:

  • Feedback Interativo via IU: Permitindo que os agentes do usuário forneçam entrada e orientação em tempo real durante as operações da equipe.
  • Visualização do Fluxo de Mensagens: Apresentando uma interface intuitiva para entender as comunicações do agente, mapeando caminhos de mensagens e dependências.
  • Interface Visual de Arrastar e Soltar: Que permite aos usuários projetar agentes colocando e configurando componentes com suas relações e propriedades.

Integração com Magentic-One

O Magentic-One, outro Agente de IA geral multicamadas de código aberto da Microsoft, agora está integrado ao AutoGen. O Magentic-One tem uma arquitetura multicamadas composta por cinco Agentes de IA: Orchestrator, WebSurfer, FileSurfer, Coder e ComputerTerminal. Cada agente especialista tem seu próprio conjunto de habilidades e base de conhecimento, permitindo que ele trabalhe efetivamente em seu respectivo campo. No entanto, esses agentes não trabalham isoladamente; o Orchestrator coordena suas atividades para garantir que sejam consistentes e atendam aos objetivos gerais.

O Orchestrator é responsável pelo planejamento de tarefas, rastreamento de progresso e recuperação de erros. Ao receber uma tarefa, ele analisa minuciosamente os requisitos e atribui subtarefas aos outros quatro agentes. Esses agentes especialistas são adeptos ao tratamento de tipos específicos de tarefas. O WebBrowser Agent lida com a navegação na web, o FileNavigatorAgent gerencia a navegação no sistema de arquivos local, o CodeWriterAgent escreve e executa trechos de código Python e o ComputerTerminal executa comandos de nível de sistema operacional para dar suporte a tarefas de nível superior.

Uma característica essencial da arquitetura Magentic-One é a operação assíncrona orientada a eventos. Em contraste com o modelo síncrono de requisição-resposta, os métodos assíncronos permitem que os componentes do sistema sejam executados simultaneamente, recebendo novas entradas ou acionando ações a qualquer momento sem interromper outras funções. Por exemplo, o WebBrowserAgent pode começar a carregar uma página quando o Orchestrator lhe atribui uma tarefa envolvendo o download e a extração de informações de uma página da web, enquanto o Orchestrator e outros agentes continuam com outras tarefas. Assim que a página é carregada e os dados necessários são extraídos, o WebBrowserAgent notifica o Orchestrator e retorna os resultados. Esta estratégia permite que o Magentic-One gerencie os recursos de forma mais eficiente, reduza os tempos de espera e responda de forma mais eficaz a cenários de alta concorrência.

Além de sua arquitetura assíncrona, o Magentic-One se distingue por seu design altamente modular. Cada agente é uma unidade funcional independente com responsabilidades claras e definições de interface. Essa abordagem simplifica a construção do sistema, pois os desenvolvedores podem se concentrar na função de um único agente sem se preocupar com detalhes de interação com outros componentes. A modularidade também promove a reutilização de código e o compartilhamento técnico, permitindo que agentes existentes sejam usados em novos projetos ou adaptados a diferentes aplicações com modificação mínima. O design modular do Magentic-One também oferece escalabilidade significativa. Novos agentes podem ser adicionados ou as funções de agentes existentes podem ser atualizadas sem grandes revisões do sistema, à medida que a tecnologia avança ou os requisitos de negócios mudam. Por exemplo, se uma tarefa em um domínio específico se tornar mais complexa, o sistema pode ser aprimorado adicionando um agente especializado.