Comparación de Frameworks
JamJet vs LangGraph vs CrewAI vs AutoGen vs Google ADK — matriz de funciones en ejecución, durabilidad, observabilidad, evaluación y escalado.
Última actualización: 2026-04-15 · JamJet v0.5.0 · Correcciones bienvenidas
✓ Integrado⚙ Vía plugin~ Parcial— No soportado… En desarrollo
- Plain Python — inicio más rápido, garantías mínimas. Ideal para prototipos y scripts de un solo uso.
- LangGraph — orquestación con grafos, patrones conocidos, durabilidad opcional vía checkpointers.
- JamJet — modelo mental de Python con durabilidad por defecto y garantías de runtime más sólidas.
- CrewAI / AutoGen — abstracciones útiles para algunos patrones multi-agente, pero diferente enfoque en confiabilidad.
- Google ADK — integración estrecha con Gemini, co-desarrollado A2A, evoluciona rápido con fuerte soporte de Google Cloud. Ideal para equipos que construyen sobre el stack de IA de Google.
Si te gusta el modelo de workflow en Python de LangGraph pero quieres durabilidad, replay, validación tipada y límites enforceados por runtime integrados, JamJet es el movimiento conceptual más cercano. Consulta la guía de migración desde LangGraph.
| Funcionalidad | JamJet | LangGraph | CrewAI | AutoGen | Google ADK |
|---|
| Workflow basado en grafos | ✓ | ✓ | ~ Secuencial/jerárquico | ✓ | ✓ Agentes secuenciales, paralelos, en loop |
| Ejecución asíncrona | ✓ | ✓ | ✓ | ✓ | ✓ |
| Runner local en proceso | ✓ | ✓ | ✓ | ✓ | ✓ |
| Estado tipado | ✓ Pydantic | ~ TypedDict | — Dict | ~ Dict | ~ |
| Validación de estado en cada paso | ✓ | — | — | — | — |
| Enrutamiento condicional | ✓ Predicados inline | ✓ Funciones edge | ~ Tipo de proceso | ✓ | ✓ |
| Ramas paralelas | ✓ type: parallel | ✓ | — | ✓ | ✓ |
| Soporte de ciclos / loops | ✓ | ✓ | ~ | ✓ | ✓ |
| Característica | JamJet | LangGraph | CrewAI | AutoGen | Google ADK |
|---|
| Ejecución durable (recuperación ante fallos) | ✓ Runtime Rust | ⚙ Checkpointers | — | — | — |
| Event sourcing | ✓ Nativo | — | — | — | — |
| Reintento automático con backoff | ✓ Config YAML | ⚙ Manual | ⚙ Manual | ⚙ Manual | ~ Manual |
| Human-in-the-loop / pausa | ✓ type: wait | ✓ interrupt_before | — | ~ | ✓ |
| Reanudar desde cualquier checkpoint | ✓ | ⚙ Requiere saver | — | — | — |
| Timeout por paso | ✓ | ~ | — | ~ | ~ |
| Característica | JamJet | LangGraph | CrewAI | AutoGen | Google ADK |
|---|
| Log de eventos estructurado | ✓ Eventos por paso | ~ Callbacks | ~ texto verbose | ~ | ✓ |
| CLI de inspección de ejecución | ✓ jamjet inspect | — | — | — | — |
| Línea temporal de eventos | ✓ | — | — | — | — |
| Trazado OpenTelemetry | … | ⚙ LangSmith | ⚙ | — | ✓ Integrado |
| Depuración time-travel | … | — | — | — | — |
| Atribución de tokens/costos | ✓ | — | — | — | ✓ |
| Inspector web/dashboard | ✓ Web Companion | — | — | — | ✓ ADK Web UI |
| Característica | JamJet | LangGraph | CrewAI | AutoGen | Google ADK |
|---|
| Cliente MCP (usar cualquier servidor MCP) | ✓ Nativo | ⚙ Vía adaptador | ⚙ Vía adaptador | ⚙ Vía adaptador | ✓ Nativo |
| Servidor MCP (exponer tus herramientas) | … | — | — | — | — |
| Llamadas A2A entre agentes | ✓ Cliente + servidor | — | — | — | ✓ Especificación co-desarrollada |
| Function calling de OpenAI | ✓ | ✓ | ✓ | ✓ | ✓ |
| Herramientas Python personalizadas | ✓ decorador @tool | ✓ | ✓ | ✓ | ✓ |
| Reintentos de herramientas en error | ✓ Configuración a nivel de nodo | ⚙ Manual | ⚙ Manual | ⚙ Manual | ~ |
| Característica | JamJet | LangGraph | CrewAI | AutoGen | Google ADK |
|---|
| Harness de evaluación integrado | ✓ | — | — | — | ✓ Basado en pytest |
| Puntuación LLM-as-judge | ✓ LlmJudgeScorer | — | — | — | — |
| Puntuación por aserciones | ✓ AssertionScorer | — | — | — | — |
| Presupuestos de latencia | ✓ LatencyScorer | — | — | — | — |
| Presupuestos de costo | ✓ CostScorer | — | — | — | — |
| Reproducción de datasets | ✓ | — | — | — | ~ |
| Código de salida CI en regresión | ✓ --fail-under | — | — | — | ~ |
| Evaluación como nodo de workflow | ✓ type: eval | — | — | — | — |
| Función | JamJet | LangGraph | CrewAI | AutoGen | Google ADK |
|---|
| Creación de flujos en YAML | ✓ | — | — | — | — |
| API de decoradores Python | ✓ @wf.step | ✓ | ✓ | ✓ | ✓ |
| Plantillas de proyecto | ✓ jamjet init --template | — | — | — | — |
| Servidor de desarrollo local | ✓ jamjet dev | — | — | — | — |
| Validación de flujos por CLI | ✓ jamjet validate | — | — | — | — |
| Soporte multi-modelo | ✓ Cualquier compatible con OpenAI | ✓ | ✓ | ✓ | ~ Principalmente Gemini |
| Modelos locales (Ollama, etc.) | ✓ | ✓ | ✓ | ✓ | ~ |
| Función | JamJet | LangGraph | CrewAI | AutoGen | Google ADK |
|---|
| Lenguaje de ejecución | Rust | Python | Python | Python | Python |
| SDK políglota | Python (TS …) | Python, JS | Python | Python, .NET | Python |
| Listo para Kubernetes | ✓ Binario sin estado | ⚙ | ⚙ | ⚙ | ⚙ |
| Oferta cloud administrada | … | ✓ LangGraph Cloud | — | — | ✓ Vertex AI |
| Streaming | ✓ | ✓ | ~ | ✓ | ✓ |
| Código abierto | ✓ Apache-2.0 | ✓ MIT | ✓ MIT | ✓ CC-BY-4 | ✓ Apache-2.0 |
nota:
Consulta Benchmarks para comparaciones medidas de latencia con metodología y resultados sin procesar. Guías de migración: desde LangGraph, desde CrewAI, desde OpenAI SDK.