Saqué la API de GitHub el 18 de marzo de 2026. Leí los hilos de Reddit con más de 1,500 votos a favor combinados. Revisé las páginas de precios, los historiales de lanzamientos y los gráficos de commits.
No son sensaciones. Datos.
Los Números
| LangChain | CrewAI | AutoGen | |
|---|---|---|---|
| Estrellas de GitHub | 130,068 | 46,455 | 55,836 |
| Forks | 21,444 | 6,268 | 8,414 |
| Problemas Abiertos | 505 | 494 | 684 |
| Licencia | MIT | MIT | CC-BY-4.0 |
| Última Versión Estable | 17 de marzo de 2026 | 18 de marzo de 2026 (v1.11.0) | 30 de septiembre de 2025 (v0.7.5) |
| Commits (últimas 4 semanas) | 187 en total | 3 versiones candidatas en 3 días | Casi cero |
| Nacido | Octubre 2022 | Octubre 2023 | Agosto 2023 |
Fuente: API de GitHub, extraída el 18 de marzo de 2026.
LangChain: 130K estrellas, 47 commits/semana, tres años y medio de antigüedad y aún acelerando. Diga lo que quiera sobre la DX — el equipo entrega resultados.
CrewAI: 46K estrellas en dos años y medio. Tres candidatos de lanzamiento en tres días consecutivos antes de que la v1.11.0 se estabilizara. Energía de equipo pequeño. Avanzando rápido, probablemente rompiendo cosas, pero al menos están avanzando.
AutoGen: aquí es donde se vuelve incómodo. ¿Última versión estable? Septiembre de 2025. Seis meses de silencio de un proyecto respaldado por Microsoft. 684 problemas abiertos acumulándose. La reescritura v0.4 dividió a la comunidad entre quienes usan la antigua API y quienes intentan resolver la nueva. Ninguno de los grupos parece contento.
Muéstrame el Código
Es suficiente hablar. Aquí está la misma tarea — un agente de verificación del clima — en cada marco más el SDK básico. Juzga por ti mismo.
SDK Abierto de OpenAI (sin marco)
from openai import OpenAI
import json
client = OpenAI()
def get_weather(city: str) -> str:
return f"72°F y soleado en {city}" # tu llamada a la API real aquí
tools = [{
"type": "function",
"function": {
"name": "get_weather",
"description": "Obtener el clima actual de una ciudad",
"parameters": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"]
}
}
}]
messages = [{"role": "user", "content": "¿Cuál es el clima en Tokio?"}]
response = client.chat.completions.create(
model="gpt-4o", messages=messages, tools=tools
)
# Manejar la llamada a la herramienta
tool_call = response.choices[0].message.tool_calls[0]
result = get_weather(json.loads(tool_call.function.arguments)["city"])
messages.append(response.choices[0].message)
messages.append({"role": "tool", "content": result, "tool_call_id": tool_call.id})
final = client.chat.completions.create(model="gpt-4o", messages=messages)
print(final.choices[0].message.content)
25 líneas. Cero magia. Ves cada mensaje que entra y sale. Cuando se rompa — y lo hará — sabrás exactamente dónde mirar.
Esto es de lo que hablaba ese post de Reddit con 685 votos a favor cuando decía “construye tu primero de manera cruda.”
LangChain
from langchain.agents import create_agent
def get_weather(city: str) -> str:
"""Obtener el clima actual de una ciudad."""
return f"72°F y soleado en {city}"
agent = create_agent(
model="gpt-4o",
tools=[get_weather],
system_prompt="Eres un asistente de clima útil."
)
response = agent.invoke("¿Cuál es el clima en Tokio?")
print(response)
Limpio. Corto. Y completamente opaco. ¿Qué sucede dentro de agent.invoke()? Bucle de llamada a la herramienta, formato de mensajes, lógica de reintentos, tal vez algo de plantillado de mensajes. Todo manejado por ti. Maravilloso — hasta las 2 AM cuando tu agente empieza a devolver tonterías y tú estás revisando cinco capas de abstracción intentando averiguar cuál se tragó tu respuesta de herramienta.
El verdadero valor de LangChain no es la abstracción del agente. Son más de 150 integraciones (cada almacén de vectores, cada proveedor de LLM, cada cargador de documentos que puedas imaginar) y LangSmith, que es realmente la mejor herramienta de depuración de agentes disponible en este momento. Más sobre eso más adelante.
CrewAI
from crewai import Agent, Task, Crew
from crewai.tools import tool
@tool
def get_weather(city: str) -> str:
"""Obtener el clima actual de una ciudad."""
return f"72°F y soleado en {city}"
weather_agent = Agent(
role="Reportero del Clima",
goal="Proporcionar información climática precisa",
backstory="Eres un meteorólogo que da informes climáticos concisos.",
tools=[get_weather]
)
task = Task(
description="¿Cuál es el clima en Tokio?",
expected_output="Un breve informe meteorológico",
agent=weather_agent
)
crew = Crew(agents=[weather_agent], tasks=[task])
result = crew.kickoff()
print(result)
Más líneas, un ambiente completamente diferente. No estás escribiendo un guion, estás produciendo una película. role, goal, backstory — el agente tiene un arco de personaje antes de haber hecho algo.
¿Para verificar el clima? Ridículamente excesivo. ¿Para una cadena de contenido donde un “Investigador” busca fuentes, un “Analista” encuentra patrones, y un “Escritor” redacta el artículo? Ahora la metáfora vale la pena. CrewAI brilla cuando el problema realmente se parece a trabajo en equipo.
AutoGen
import os
from autogen import AssistantAgent, UserProxyAgent
llm_config = {
"model": "gpt-4",
"api_key": os.environ["OPENAI_API_KEY"]
}
assistant = AssistantAgent("assistant", llm_config=llm_config)
user_proxy = UserProxyAgent("user_proxy", code_execution_config=False)
user_proxy.initiate_chat(assistant, message="¿Cuál es el clima en Tokio?")
Dos agentes. Hablando entre sí. Esa es la esencia de AutoGen — el patrón conversacional. UserProxyAgent finge ser tú, AssistantAgent responde. Para lluvia de ideas o revisión de código, es un paradigma interesante.
¿Para “solo obtén el clima en Tokio”? Es como contratar a dos personas para tener una reunión sobre revisar la aplicación del clima.
Además: el modelo en su ejemplo oficial sigue siendo gpt-4, no gpt-4o. La documentación no ha sido actualizada. Es un detalle menor. También es un detalle importante.
Lo que Reddit Realmente Piensa
Citas directas. Se incluyen los recuentos de votos para que puedas evaluarlos tú mismo.
La voz más fuerte en la sala dice: omite los marcos
De un desarrollador que ha construido agentes para más de 20 empresas (685 votos a favor):
“No empieces con LangChain o CrewAI o lo que esté de moda esta semana. Ocultan demasiado. Necesitas entender qué está sucediendo bajo el capó. Escribe un script de Python básico que llame a la API de OpenAI o Anthropic. Envía un mensaje. Obtén una respuesta. Eso es todo.”
De alguien que ha estado construyendo agentes para clientes durante dos años (378 votos a favor):
“¿Los que realmente generan dinero y no se rompen cada semana? Son embarrassingly simples. Un único agente que lee correos electrónicos y actualiza campos de CRM ($200/mes, funciona 24/7). Un parseador de currículos que extrae información clave para reclutadores ($50/mes). Ninguno de estos necesitaba orquestación de agentes. Ninguno necesitaba sistemas de memoria. Definitivamente no necesitaban grupos de agentes teniendo reuniones sobre qué hacer.”
Su pila de producción: API de OpenAI, n8n, un webhook, tal vez Supabase. Eso es todo. Está ganando dinero. El tipo con el sistema CrewAI de 47 agentes está haciendo publicaciones en LinkedIn.
El contrapunto que vale la pena escuchar
Un comentarista que realmente implementó un agente en un hospital (solo 4 votos a favor, pero léelo de todos modos):
“Recientemente implementé un agente de voz AI en un hospital que tría el estado de los pacientes de manera significativamente más precisa que el personal. Tardó un montón de ajustes y un sistema de prompt realmente excelente que le enseñó a hacer la tría de pacientes, pero funciona de maravilla.”
No menciona qué marco. Porque no importa. Pasó su tiempo en el prompt y el ajuste, no en elegir entre LangChain y CrewAI.
Lo que nadie quiere decir en voz alta
¿El comentario principal (75 votos a favor) en un popular post de “Pasé 8 meses construyendo agentes AI”?
“Gracias. Esto fue realmente buen ChatGPT.”
Segundo comentario (49 votos a favor): “Los posts escritos por Chat GPT están en todas partes, pero aquí está lo que aprendí. nada, porque no hice ningún esfuerzo.”
La mitad de los “informes de experiencia” sobre marcos de agentes AI son, en sí mismos, generados por AI. Estamos en un hall de espejos. Ten eso en cuenta cuando leas artículos de comparación. Incluyendo, potencialmente, este — aunque me gustaría pensar que las marcas de tiempo de la API de GitHub y los enlaces de Reddit me dan algo de credibilidad.
La Parte del Dinero
| LangSmith | Plataforma CrewAI | AutoGen | |
|---|---|---|---|
| Gratis | 5K trazas/mes, 1 asiento | 50 ejecuciones/mes | No existe plataforma |
| Pago | $39/asiento/mes | $25/mes (100 ejecuciones) | — |
| Enterprise | Personalizado | Personalizado | — |
| Por lo que estás pagando | Observabilidad y depuración | Alojamiento y orquestación | Tu propio tiempo |
Estos números son casi irrelevantes. Aquí está el porqué.
Una configuración de múltiples agentes donde tres agentes discuten un problema quema de 30 a 50K tokens por ejecución. Con el precio de GPT-4o ($2.50/1M de entrada, $10/1M de salida), eso significa de $0.15 a $0.75 por ejecución. Ejecutarlo 1,000 veces al mes: $150-750 en costos de API. La tarifa de $25/mes de la plataforma CrewAI es un error de redondeo en comparación con eso.
Mientras tanto, ¿ese bot de correo electrónico de $200/mes del tipo de Reddit? Probablemente $5-10/mes en llamadas a la API. Un solo agente, un solo prompt, una única llamada a la herramienta. Las matemáticas son brutales para arquitecturas de múltiples agentes.
El Diagrama de Flujo

En palabras, porque no todos cargan imágenes:
¿Puede una llamada de LLM con un buen prompt resolverlo? → Usa el SDK. Para aquí. La mayoría de los problemas viven aquí y la gente no quiere admitirlo.
¿Necesitas llamadas a herramientas pero sigue siendo un solo agente? → Sigue siendo el SDK. La llamada a herramientas es nativa en todas las principales API de LLM ahora. No necesitas un marco para llamar a una función.
¿Realmente necesitas múltiples agentes? (Sé honesto contigo mismo.)
→ ¿Quieres velocidad para prototipar?: CrewAI
→ ¿Quieres control total sobre la ejecución?: LangGraph
→ ¿Quieres que los agentes tengan conversaciones?: AutoGen (pero lee la sección de riesgos de mantenimiento primero)
¿Necesitas observabilidad en producción? → LangSmith. Funciona con todo, incluso sin marco alguno.
Lo Que Realmente Haría
No lo que recomendaria en una charla de conferencia. Lo que realmente haría si tuviese que enviar algo la próxima semana:
- Construir v1 con llamadas de SDK en crudo. Feo, manual, sin abstracciones. Haz que funcione. Observa cómo falla. Entiende por qué falla.
- Si un agente realmente no puede manejarlo, prototipa la versión de múltiples agentes en CrewAI. Tomará una tarde.
- Si el prototipo de CrewAI funciona pero necesito un control más estricto para producción, reescribe los caminos críticos en LangGraph. Mantén CrewAI para las partes donde “lo suficientemente bueno” es suficiente.
- LangSmith desde el primer día. Innegociable. Volar a ciegas con agentes en producción es cómo te llegan llamadas a las 3 AM.
El paso 5 es el que nadie sigue: no añadas complejidad hasta que la versión simple falle en producción. No en pruebas. No en tu cabeza. En producción, con usuarios reales, haciendo cosas reales. La mayoría de las personas nunca pasan del paso 1 porque el paso 1 realmente funciona.
El marco es el 10% del resultado. El prompt, las definiciones de herramientas, el manejo de errores, la evaluación — ese es el otro 90%. Ahí es donde el tipo del hospital pasó su tiempo. Ahí es donde el tipo del bot de correo electrónico de $200/mes pasó su tiempo.
Ahí es donde deberías gastar el tuyo.
Datos: GitHub API (18 de marzo de 2026), precios de LangSmith, precios de CrewAI. Hilos de Reddit en r/AI_Agents y r/LangChain. Actualizado el 19 de marzo de 2026.
Artículos Relacionados
- Dominando la Prueba de Agentes: Un Tutorial Práctico con Ejemplos
- Las Mejores Herramientas de Compleción de Código AI 2025: Aumentando la Productividad de los Desarrolladores
- Make vs Activepieces: ¿Cuál para Equipos Pequeños?
🕒 Published: