Multi-Agent Framework
AutoGen — Microsoft’s Conversation-Based Multi-Agent Framework logo

AutoGen — el framework multi-Agent conversacional de Microsoft

Microsoft AutoGen modela los sistemas multi-Agent como conversaciones entre roles (AssistantAgent, UserProxyAgent, CodeExecutorAgent). Flexible, con sólida base de investigación y la implementación de referencia para coordinar Agents por chat.

Why AutoGen

AutoGen es el puente entre lo académico y lo industrial. Microsoft Research publicó el framework en 2023 y lo ha iterado agresivamente desde entonces — la v0.4 actual (finales de 2024) es una reescritura desde cero con actores asíncronos, mensajes fuertemente tipados y ejecución distribuida nativa. Es el framework preferido cuando te importa la trazabilidad de la investigación y la estabilidad a largo plazo de un proveedor importante.

El modelo mental es Agents como participantes de un chat grupal. Un AssistantAgent es el lado LLM. Un UserProxyAgent ejecuta llamadas a herramientas (incluida la ejecución de código). Un GroupChat gestiona el bucle — elige al siguiente interlocutor, inyecta condiciones de terminación y captura la conversación. Compones el comportamiento configurando la selección de hablantes, en lugar de cablear un grafo explícito al estilo de LangGraph.

AutoGen brilla en tareas de código e investigación donde el camino a la solución no se conoce de antemano. Dale un objetivo a un par de Agents; piensan, critican, ejecutan código e iteran hasta terminar. La contrapartida es menos determinismo que los frameworks basados en roles — para pipelines con estructura fija, CrewAI te lleva ahí con menos código de orquestación.

Quick Start — AutoGen v0.4 AssistantAgent + RoundRobinGroupChat

La v0.4 es async-first — observa el asyncio.run(). RoundRobinGroupChat rota a los hablantes; SelectorGroupChat usa un LLM para elegir al siguiente. Las condiciones de terminación son componibles (TextMention, MaxMessage, FunctionCall, etc.). La v0.2 (aún muy usada) tiene una API distinta — alinea con cuidado tu versión instalada con la documentación.

# pip install -U "autogen-agentchat>=0.4" "autogen-ext[openai]"
import asyncio
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.teams import RoundRobinGroupChat
from autogen_agentchat.conditions import TextMentionTermination
from autogen_ext.models.openai import OpenAIChatCompletionClient

async def main():
    llm = OpenAIChatCompletionClient(model="gpt-4o-mini")

    planner = AssistantAgent(
        name="planner",
        model_client=llm,
        system_message="Break the user's goal into 2-3 concrete steps. Hand off to writer.",
    )
    writer = AssistantAgent(
        name="writer",
        model_client=llm,
        system_message="Execute the plan in clear prose. Say 'APPROVE' when done.",
    )
    critic = AssistantAgent(
        name="critic",
        model_client=llm,
        system_message="Find one concrete improvement or respond 'APPROVE' if good enough.",
    )

    team = RoundRobinGroupChat(
        participants=[planner, writer, critic],
        termination_condition=TextMentionTermination("APPROVE"),
        max_turns=8,
    )
    result = await team.run(task="Write a 150-word intro to multi-agent frameworks.")
    for msg in result.messages:
        print(f"[{msg.source}] {msg.content[:120]}")

asyncio.run(main())

Características clave

Coordinación basada en conversación

Los Agents intercambian mensajes. El GroupChat decide quién habla después. Las condiciones de terminación detienen el bucle. Natural para tareas abiertas donde la ruta a la solución emerge mediante el diálogo.

Runtime de actores v0.4

Runtime asíncrono de nivel producción: mensajes tipados, actores distribuidos, ganchos de tracing. Construido a partir de las lecciones de los despliegues de v0.2 dentro de Microsoft.

AutoGen Studio

Interfaz visual no-code para crear y ejecutar workflows de Agents. Útil para stakeholders no técnicos y para prototipar rápido antes de pasar a código.

Ejecución de código

CodeExecutorAgent (o UserProxyAgent con code_execution_config) ejecuta Python generado en sandboxes Docker. Habilita auténticos bucles de «el Agent resuelve la tarea de código».

Selección de hablante por selector

SelectorGroupChat usa un selector basado en LLM para elegir al siguiente hablante según el estado de la conversación. Más flexible que round-robin; no determinista.

Amplio soporte de modelos

OpenAI, Azure OpenAI, Anthropic, Gemini, Ollama, LM Studio, Together, Fireworks de primera clase. Configura vía model_client; cambia de proveedor sin tocar la lógica del Agent.

Comparación

 AbstractionDeterminismCode ExecutionMaintainer
AutoGenestaConversationLow-mediumBuilt-inMicrosoft Research
CrewAIRole + taskHighVia toolsCrewAI Inc
LangGraphState graphHighVia tool nodesLangChain
OpenAI SwarmHandoff tool callsMediumVia toolsOpenAI

Casos de uso

01. Investigación en codificación agéntica

Planear → escribir código → ejecutarlo → depurar → repetir. El binomio ejecución de código + conversación de AutoGen es el patrón más probado para prototipos de investigación y envíos a benchmarks.

02. Brainstorming abierto

Tareas tipo debate (crítico vs. redactor, analista alcista vs. bajista) donde el valor está en el ida y vuelta multi-turno, no en un encadenamiento estricto de tareas.

03. Sistemas de Agents distribuidos

El runtime de actores de la v0.4 está listo para producción en despliegues multi-proceso o multi-host — algo poco común en el espacio multi-Agent. Útil cuando tus Agents llaman a servicios que no deberían vivir en el mismo proceso.

Precios y licencia

AutoGen: con licencia MIT. Gratuito. Mantenido por Microsoft Research con contribuciones activas de la comunidad. Sin SKU comercial específico en 2026.

Coste de infra: tus facturas de API LLM más (opcionalmente) un host Docker para la ejecución de código. AutoGen en sí es una librería Python/TypeScript; sin servidor que operar.

Coste oculto: el bucle de conversación dispara muchas llamadas LLM. Presupuesta 5-20 llamadas por turno de Agent en tareas realistas. Usa modelos pequeños/baratos para los turnos intermedios y uno capaz para la síntesis final.

Activos relacionados en TokRepo

Preguntas frecuentes

¿AutoGen v0.2 vs v0.4 — cuál debo usar?+

Proyectos nuevos: empieza por v0.4. Trae runtime async, mensajes tipados y mejor observabilidad. La v0.2 sigue soportada para proyectos existentes y tiene una base mayor de ejemplos comunitarios — pero Microsoft ya señaló que v0.4 es la dirección futura.

¿AutoGen soporta Claude y modelos no-OpenAI?+

Sí. Los paquetes autogen-ext aportan clientes para OpenAI, Anthropic, Azure OpenAI, Gemini, Ollama, LM Studio, HuggingFace. Configura vía model_client — la lógica del Agent es agnóstica al modelo.

¿Qué tan determinista es AutoGen?+

Menos que CrewAI/LangGraph por diseño. El bucle conversacional es flexible, así que las ejecuciones varían. En producción: usa RoundRobinGroupChat con topes max_turns y condiciones de terminación estructuradas. Registra todo — el no-determinismo hace crítico el tracing.

¿AutoGen Studio sirve para producción?+

AutoGen Studio es un constructor visual y herramienta de demos. Úsalo para prototipar y demostrar flujos; convierte a código para producción. No está diseñado como plataforma de ejecución para apps cara al cliente.

¿Los Agents de AutoGen pueden ejecutar comandos de shell?+

Sí, vía LocalCommandLineCodeExecutor (peligroso — ¡sandbox!) o DockerCommandLineCodeExecutor (recomendado). Nunca des acceso de shell a Agents que ejecuten instrucciones no confiables; el ejecutor Docker es el predeterminado por una razón.

Comparar alternativas