π¬ AutoGen: agentes conversacionais
O AutoGen da Microsoft adota uma abordagem radicalmente diferente de CrewAI e LangGraph: em vez de definir grafos ou equipes, voce cria agentes que conversam entre si. A coordenacao emerge do dialogo β um agente propoe, outro critica, um terceiro sintetiza, e o ciclo continua ate chegar a um consenso. E como uma reuniao de brainstorming estruturada entre especialistas.
O componente central e o ConversableAgent: um agente que pode enviar e receber mensagens, chamar ferramentas e interagir com humanos. Dois ConversableAgents conectados ja formam um sistema multiagente funcional. O AssistantAgent (prΓ©-configurado para LLM) e o UserProxyAgent (que executa codigo e representa o humano) sao os tipos mais usados. Essa simplicidade conceitual esconde poder: debates entre agentes frequentemente produzem resultados superiores a um unico agente trabalhando sozinho.
π‘ Filosofia conversacional
Como dialogo estruturado cria coordenacao:
- β’ ConversableAgent: Unidade basica β qualquer agente que pode enviar e receber mensagens
- β’ AssistantAgent: Configurado para usar LLM β raciocina e gera texto/codigo
- β’ UserProxyAgent: Representa o humano β pode executar codigo e aprovar acoes
- β’ Dialogo como coordenacao: Agentes se coordenam trocando mensagens β sem orquestrador explicito
π Contexto do ecossistema
- Microsoft Research: Nasceu como projeto de pesquisa β rigor academico na base
- Open source: 40k+ stars no GitHub β comunidade ativa e crescente
- Papers academicos: Varios papers publicados validando a abordagem conversacional
- Enterprise-ready: Integracao nativa com Azure, Microsoft 365, Semantic Kernel
π Evolucao: Microsoft Agent Framework
Em 2025, a Microsoft lancou o Microsoft Agent Framework, unificando AutoGen e Semantic Kernel em uma plataforma enterprise coesa. O AutoGen continua sendo o motor de conversacao multiagente, enquanto o Semantic Kernel fornece a camada de integracao enterprise (conectores Azure, Microsoft Graph, SharePoint, Teams). Juntos, eles formam a resposta da Microsoft para o ecossistema agentico.
O Agent Framework adiciona recursos que o AutoGen original nao tinha: state management robusto com persistencia, type safety com modelos Pydantic, middleware para logging, caching e rate limiting, e telemetria integrada com Azure Monitor. Para organizacoes ja no ecossistema Microsoft, essa evolucao e natural β tudo se integra com a infraestrutura existente.
π‘ O que muda
Melhorias do Agent Framework sobre o AutoGen original:
- β’ State management: Persistencia robusta de estado entre sessoes β nao mais stateless
- β’ Type safety: Modelos Pydantic para estado e mensagens β menos bugs em runtime
- β’ Middleware: Camadas de logging, caching, auth e rate limiting configurΓ‘veis
- β’ Telemetria: Integracao nativa com Azure Monitor para observabilidade enterprise
π Ecossistema Microsoft
- Semantic Kernel: Conectores para Azure, M365, SharePoint, Teams, Dynamics 365
- Azure AI Services: Deploy gerenciado com escala automatica e SLA enterprise
- Microsoft Graph: Acesso a dados organizacionais (emails, calendarios, documentos)
- Copilot Studio: Interface visual para criar workflows agenticos sem codigo
π» Coding agents com Docker
Uma das features mais distintas do AutoGen e a capacidade de executar codigo gerado por agentes em containers Docker isolados. Quando um AssistantAgent gera codigo Python, o UserProxyAgent pode executa-lo automaticamente dentro de um container Docker β isolamento total do sistema host. Se o codigo gerar erro, o AssistantAgent recebe o traceback e corrige iterativamente ate funcionar.
Esse pattern β gerar, executar, corrigir, repetir β e extremamente poderoso para tarefas de analise de dados, automacao e desenvolvimento. O agente escreve um script de analise, executa no Docker, ve o output (ou erro), ajusta o codigo e repete. Em 3-5 iteracoes, geralmente chega a um resultado correto. A seguranca do Docker garante que mesmo codigo malicioso ou bugado nao afeta o sistema host.
π‘ Seguranca na execucao
Como Docker garante seguranca:
- β’ Isolamento total: Codigo roda em container efemero β sem acesso ao filesystem host
- β’ Recursos limitados: CPU, memoria e rede controlados β sem risco de resource exhaustion
- β’ Descartavel: Container destruido apos execucao β sem residuos ou side effects
- β’ Iterativo: Erro no codigo β traceback enviado ao agente β correcao automatica β nova tentativa
π Resultados praticos
- Taxa de sucesso: 85%+ das tarefas de analise de dados resolvidas em menos de 5 iteracoes
- Seguranca: Zero incidentes de seguranca reportados com execucao via Docker
- Linguagens: Python, JavaScript, Bash β qualquer linguagem com Docker image disponivel
- Integracao: Instalar pacotes pip/npm dentro do container β acesso a todo o ecossistema
π£οΈ GroupChat: conversacao multiagente
O GroupChat e o mecanismo do AutoGen para conversas com mais de dois agentes. Voce cria um grupo com multiplos agentes e um GroupChatManager que controla quem fala quando. O manager pode usar diferentes estrategias: round_robin (cada um fala na vez), random (aleatorio) ou auto (o LLM decide quem deve falar baseado no contexto da conversa).
O GroupChat brilha em cenarios de debate e refinamento. Imagine um grupo com um Researcher, um Critic e um Writer: o Researcher apresenta dados, o Critic questiona a validade, o Researcher refina sua analise, o Writer sintetiza o resultado. Esse ciclo de debate produz resultados mais robustos do que qualquer agente individual, porque cada perspectiva desafia e complementa as outras.
π‘ Mecanica do GroupChat
Como conversas multiagentes funcionam:
- β’ GroupChat: Container que agrupa multiplos agentes numa conversa compartilhada
- β’ GroupChatManager: Controla turnos β decide quem fala a cada rodada
- β’ Estrategias de turno: round_robin, random, auto (LLM decide), manual
- β’ Max rounds: Limite de rodadas para evitar conversas infinitas β tipicamente 10-20
π Padroes de uso
- Debate critico: Propositor + Critico + Sintetizador β refinamento por argumentacao
- Pair programming: Developer + Reviewer β um escreve, outro revisa, iterativamente
- Brainstorming: Multiplos especialistas contribuem ideias de perspectivas diferentes
- Votacao: Multiplos agentes opinam e um sintetizador compila a decisao majoritaria
π§ Tools e Function Calling
No AutoGen, tools sao funcoes Python registradas nos agentes usando register_function(). Quando o LLM determina que precisa de uma tool, ele gera uma chamada de funcao que o UserProxyAgent executa e retorna o resultado. O sistema suporta function calling nativo da OpenAI e Anthropic, garantindo chamadas de tools precisas e tipadas.
A flexibilidade esta na composicao: voce pode dar tools diferentes a agentes diferentes no mesmo GroupChat. O researcher tem acesso a busca web, o developer tem acesso a execucao de codigo, o analyst tem acesso a banco de dados. Cada agente usa apenas suas ferramentas, e a conversacao entre eles cria um workflow onde informacao flui naturalmente entre especializacoes.
π‘ Sistema de tools
Como ferramentas funcionam no AutoGen:
- β’ register_function(): Registra uma funcao Python como tool disponivel para o agente
- β’ Function calling nativo: Usa o mecanismo nativo do provider (OpenAI, Anthropic)
- β’ Return values: Resultado da tool e inserido automaticamente na conversa
- β’ Tools por agente: Cada agente no GroupChat pode ter suas proprias tools exclusivas
π Exemplos de tools
- Busca web: Pesquisar informacoes em tempo real via APIs de busca
- Execucao de codigo: Rodar scripts Python/JS via Docker ou local
- Banco de dados: Consultar, inserir e atualizar dados em SQL ou NoSQL
- APIs externas: Integrar com qualquer servico via HTTP requests
π Quando usar AutoGen vs CrewAI vs LangGraph
A escolha entre AutoGen, CrewAI e LangGraph depende do problema que voce esta resolvendo. AutoGen brilha em cenarios conversacionais β debate entre agentes, pair programming, brainstorming. CrewAI e ideal para equipes com papeis definidos β pesquisa + escrita, planejamento + execucao. LangGraph oferece controle maximo β workflows com compliance, human-in-the-loop, checkpointing.
Uma regra pratica: se seus agentes precisam debater e iterar, use AutoGen. Se seus agentes tem papeis claros e tarefas definidas, use CrewAI. Se voce precisa de controle total sobre cada decisao de roteamento, use LangGraph. Em projetos grandes, nao e incomum combinar frameworks β LangGraph para o fluxo principal com CrewAI para sub-workflows de equipe.
π‘ Tabela comparativa
Criterios de decisao entre os tres frameworks:
- β’ AutoGen: Conversacional, debate, pair programming β agentes que discutem e refinam
- β’ CrewAI: Role-based, equipes com cargos, tarefas estruturadas β intuitivo e produtivo
- β’ LangGraph: Graph-based, controle total, checkpointing, HITL β enterprise e compliance
- β’ Combinacao: LangGraph como backbone + CrewAI para sub-equipes + AutoGen para debates
π Guia de decisao rapida
- Prototipo rapido? CrewAI β mais facil de comecar e iterar
- Debate e consenso? AutoGen β coordenacao conversacional natural
- Compliance/auditoria? LangGraph β controle total e rastreabilidade
- Ecossistema Microsoft? AutoGen/Agent Framework β integracao nativa
π Resumo do Modulo
Proximo:
Modulo 2.6 - Protocolos MCP, A2A, ACP