OpenAI Agents SDK vs LangGraph: comparación práctica para elegir framework

"La documentación de OpenAI Agents SDK describe su posicionamiento como toolkit ligero para aplicaciones agentic y sus capacidades principales: Agents, Handoffs, Guardrails, Tracing, Sessions, HITL y MCP tools."
Un equipo arma un prototipo de agente de soporte con LangGraph. Cuando empieza a funcionar, descubre que la mayoría de los nodos hacen lo mismo: llamar a un modelo y luego a una herramienta. El código está ordenado, pero el boilerplate pesa. Entonces aparece la pregunta: ¿se puede cambiar a OpenAI Agents SDK para quitar esa capa?
Otro caso es más delicado. Un agente de reporting corre 20 minutos cada día y, a mitad de camino, debe esperar a que una persona apruebe el SQL antes de continuar. Ahí “menos código” deja de ser el único criterio. Pausar, reanudar y auditar se vuelven centrales. OpenAI Agents SDK tiene sessions y guardrails, pero ¿puede reemplazar los checkpoints e interrupts de LangGraph?
Los dos escenarios llevan a la misma pregunta: OpenAI Agents SDK parece ligero, pero ¿sirve para reemplazar a LangGraph o solo para una parte del trabajo? La decisión real es si tu agente solo necesita modelos, herramientas y delegación, o si ya necesita estado persistente, pausas humanas, ejecución reanudable y replay para auditoría.
Primero aclara la capa: no son la misma abstracción
Antes de hablar de reemplazo, conviene separar el rol de cada framework. OpenAI describe Agents SDK como un toolkit ligero, fácil de usar y con pocas abstracciones para crear aplicaciones agentic. Su centro es el agent loop, las llamadas a herramientas, los handoffs, los guardrails y el tracing. LangGraph se define como infraestructura de orquestación de bajo nivel para workflows largos y con estado. Su centro es el grafo de estado explícito, la persistencia con checkpoints, interrupts, resume, time travel y fault tolerance.
Uno se parece más a un runtime de conversación y delegación. El otro se parece más a una máquina de estados dirigida. La diferencia de abstracción queda así:
| Dimensión | OpenAI Agents SDK | LangGraph |
|---|---|---|
| Abstracción central | Agent loop + llamadas a herramientas | Grafo de estado explícito (nodos + aristas) |
| Gestión de estado | Sessions (continuidad de conversación) | Checkpointers (snapshots del estado del grafo) |
| Delegación | Handoffs (agent as tool) | Graph routing (transiciones de nodos) |
| Validación | Guardrails (input/output) | Interrupt (pausa de máquina de estados) |
| Reanudación | Sin resume integrado | Resume desde un checkpoint |
| Replay | Sin replay integrado | Time travel sobre historial de estado |
| Recuperación ante fallos | Sin fault tolerance integrada | Continuar después del fallo |
| Posicionamiento oficial | Toolkit para agentic apps | Orquestación de workflows largos |
La tabla muestra el punto central: Agents SDK está más cerca de primitivas de runtime de agente, mientras LangGraph está más cerca de orquestación de workflow con estado. Si solo necesitas un agent loop que llame herramientas y delegue a un agente especialista de vez en cuando, Agents SDK puede bastar. Si la tarea debe pausar, reanudarse, auditarse o continuar después de un fallo, los checkpoints e interrupts de LangGraph son la parte importante.
No se trata de cuál es “más potente”. Trabajan en capas distintas. Agents SDK es como un SDK con tracing para ejecutar agentes. LangGraph es como un motor de máquina de estados con persistencia. Si tu proceso se puede dibujar como transiciones de estado claras, LangGraph suele encajar mejor. Si es sobre todo “modelo + herramientas + escalado ocasional”, Agents SDK puede ser más liviano. Para entender por qué un prompt no reemplaza fácilmente una máquina de estados, revisa máquinas de estado de agentes y límites del workflow.
Matriz de capacidades: 10 dimensiones prácticas
Que estén en capas distintas no impide compararlos en capacidades concretas. Esta tabla resume 10 dimensiones de ingeniería:
| Dimensión | OpenAI Agents SDK | LangGraph |
|---|---|---|
| Agents/Tools | Fuerte: Agent + Runner gestionan tool calls | Fuerte: los nodos pueden envolver agentes o funciones puras |
| Handoffs | Fuerte: agent as tool, soporta input_filter | Requiere grafo explícito: aristas de routing |
| Guardrails | Fuerte: input/output + tripwire | Abstracción distinta: interrupt es pausa de máquina de estados |
| Tracing | Fuerte: spans model/tool/handoff integrados | Fuerte: vía LangSmith o tracing propio |
| Sessions/HITL | Medio: continuidad de sesión, HITL API | Fuerte: interrupt pausa, Command(resume=…) reanuda |
| MCP | Fuerte: integración de MCP-backed tools | Fuerte: MCP servers desde nodos |
| Persistencia de estado | Débil: solo conversación de session | Fuerte: checkpointer guarda snapshots del grafo |
| Recuperación ante fallos | Ninguna: sin fault tolerance integrada | Fuerte: continúa desde checkpoint |
| Workflow reproducible | Ninguno: sin time travel | Fuerte: time travel sobre estados históricos |
| Despliegue productivo | Medio: despliegue y monitoreo propios | Fuerte: LangSmith Deployment / Agent Server |
Las diferencias más importantes están en persistencia de estado, recuperación ante fallos y workflows reproducibles. Las sessions de Agents SDK sirven para continuidad de conversación. Los checkpointers de LangGraph guardan todo el estado del grafo: historial de nodos, variables intermedias y entradas externas en espera. Si un agente de reporting se cae a mitad de ejecución, Agents SDK normalmente debe empezar desde cero. LangGraph puede continuar desde el último checkpoint y evitar repetir pasos ya completados.
Otra diferencia clave es HITL. Agents SDK tiene guardrails y HITL API, útiles para validar entradas y salidas, pero el mecanismo de guardrail es un tripwire: cuando se dispara, la ejecución se detiene. Los interrupts de LangGraph son pausas de máquina de estados. interrupt() puede pausar dentro de un nodo, el checkpointer guarda el estado y luego se reanuda con Command(resume=...). Eso permite pausar antes de un tool call, esperar aprobación humana y continuar. Los guardrails de Agents SDK sirven más para “detener si la entrada no corresponde” que para “pausar, revisar y seguir”. Para una frontera más completa, consulta diseño de aprobaciones human-in-the-loop para agentes.
La tercera diferencia es replay. El time travel de LangGraph permite volver a cualquier checkpoint, inspeccionar estado y ruta de ejecución, y depurar o auditar. El tracing de Agents SDK puede visualizar el camino, pero no volver a un estado histórico y reejecutar desde ahí. Si necesitas responder “¿por qué tomó esta rama hace dos horas?”, LangGraph encaja mejor.
Qué ofrece Agents SDK: primitivas centrales
OpenAI Agents SDK se organiza alrededor de cinco primitivas: Agents, Handoffs, Guardrails, Tracing y Sessions/HITL/MCP. En la práctica:
Agents: un agente combina un LLM, instrucciones, herramientas y comportamiento runtime opcional. Ese comportamiento incluye handoffs a otros agentes, guardrails para validar input/output y structured outputs para forzar formatos. Agent y Runner trabajan juntos para que el SDK gestione el agent loop, turns, tool calls, guardrail checks y delegaciones.
Handoffs: un handoff permite que un agente delegue trabajo a otro. En la práctica, el agente destino se expone al LLM como una herramienta. handoff() permite configurar el agente destino, nombre y descripción de herramienta, on_handoff, input_type, input_filter e is_enabled. Encaja bien con especialistas: un agente de soporte clasifica el problema y lo deriva a soporte técnico o consulta de pedidos.
Guardrails: los guardrails funcionan en dos niveles: input y output. Los input guardrails revisan la entrada antes de que llegue al agente. Los output guardrails revisan la respuesta antes de devolverla. Un tripwire detiene la ejecución. Sirve para “detener si la entrada está fuera de alcance” o “bloquear una salida con información sensible”. Los ejemplos oficiales usan un modelo más rápido para comprobar si la petición está dentro del alcance.
Tracing: el SDK incluye tracing para LLM generations, tool calls, handoffs, guardrail checks y custom events dentro de un agent run. Cada span registra tiempos y metadata, útil para debug, visualización y monitoreo de workflows. El tracing viene activado por defecto, y trace_include_sensitive_data controla si se registran campos sensibles.
Sessions, HITL y MCP tools: las sessions dan continuidad de conversación: varios runs con el mismo session_id comparten historial. La HITL API puede esperar entrada externa durante la ejecución, pero su modelo de interrupción no es la misma abstracción que los interrupts de LangGraph. Los MCP tools permiten que un agente llame herramientas expuestas por MCP servers, gestionadas como function tools.
Estas primitivas cubren agent loop, tool calling, delegación, validación, tracing y continuidad de conversación. No ofrecen grafo de estado explícito, persistencia con checkpoints, interrupts, resume, time travel ni fault tolerance. Si tu caso es “modelo + herramientas + delegación ocasional”, Agents SDK puede bastar. Si necesitas “pausa para aprobación + reanudación + seguir tras fallo + auditoría de estado”, LangGraph encaja mejor.
Fortalezas de LangGraph: mecanismos de estado
Las fortalezas de LangGraph están en gestión de estado y recuperación: Checkpointers, Interrupts, Time travel, Fault tolerance y Stores. En la práctica:
Checkpointers: guardan thread graph state como checkpoints. Incluyen historial de nodos, variables intermedias, entradas externas pendientes y posición actual. Cada checkpoint es un snapshot completo de estado, usado para continuidad de conversación, HITL, time travel y fault tolerance. La documentación oficial diferencia sessions de Agents SDK y checkpointers de LangGraph: sessions es continuidad de conversación; checkpointers son snapshots del estado del grafo.
Interrupts: interrupt() puede pausar la ejecución dentro de un graph node. El checkpointer guarda el estado actual y espera entrada externa. Se reanuda con Command(resume=...), y el mismo thread_id actúa como cursor persistente. La documentación enumera patrones como approval workflows, review/edit state, interrupting tool calls y validating human input. No es lo mismo que un guardrail tripwire de Agents SDK: interrupt pausa la máquina de estados; guardrail detiene la ejecución.
Time travel: permite volver a cualquier checkpoint y revisar el estado y la ruta de ejecución de ese momento. Sirve para auditoría, depuración y reproducción de problemas, por ejemplo “¿por qué tomó esta rama hace dos horas?”. El tracing de Agents SDK muestra la ruta, pero no reejecuta desde un estado histórico.
Fault tolerance: es la capacidad de continuar después de un fallo. Si un agente de reporting se cae a mitad de ejecución, LangGraph puede reanudar desde el último checkpoint y evitar repetir pasos completados. Agents SDK no tiene fault tolerance integrada, así que normalmente se reinicia desde el principio.
Stores: guardan datos de largo plazo entre threads, como preferencias de usuario, historial o estado de negocio. La documentación separa stores de checkpointers: checkpointers guardan thread graph state; stores guardan datos persistentes entre threads. Si varios agent runs deben compartir estado, stores es la capa adecuada.
Estos mecanismos hacen que LangGraph sea más adecuado para workflows largos y con estado: tareas largas, múltiples ramas, ejecución reanudable, estado auditable e intervención humana. Si tu proyecto ya necesita eso, la complejidad de LangGraph vale la pena. Si solo es un tool agent simple o un specialist handoff, Agents SDK puede ser más liviano.
Cuándo usar Agents SDK
Según la matriz y las primitivas, Agents SDK encaja mejor en estos escenarios:
-
Tool agents simples: búsqueda, resumen y escalado ocasional a una persona. Por ejemplo, un agente de Q&A de base de conocimiento interna recupera documentos, resume la respuesta y, si no está seguro, sugiere contactar a soporte. No necesita recuperación de estado compleja ni flujos de aprobación; tools + handoffs + guardrails pueden bastar.
-
Handoff a varios especialistas: escenarios donde se delega a varios agentes expertos. Un agente de soporte clasifica el tipo de problema y luego delega a soporte técnico, consulta de pedidos o reembolsos. Los handoffs de Agents SDK son literalmente “agent as tool”, así que este patrón encaja bien.
-
Prototipos rápidos: proyectos que necesitan validar una idea sin dibujar un grafo de estado explícito desde el inicio. Agents SDK requiere menos código y arranca más rápido. Si el prototipo demuestra que no hacen falta checkpoints ni interrupts, puede pasar a producción sobre Agents SDK.
-
Ajuste con el ecosistema OpenAI: si el proyecto usa sobre todo modelos OpenAI, Responses API u OpenAI hosted tools, Agents SDK es el toolkit oficial y la integración es más fluida. Agentes de voz en tiempo real, sandbox agents u herramientas alojadas por OpenAI son ejemplos naturales.
-
Otra capa ya gestiona el estado: si el proyecto ya tiene base de datos de negocio, queue o motor de workflow, Agents SDK puede ejecutar solo el agent loop. Un nodo usa Agents SDK para llamar herramientas, mientras la base de datos y la cola mantienen el estado.
El patrón común es claro: sin grafo de estado explícito, sin persistencia con checkpoints, sin interrupt + resume y sin time travel. Si tu proyecto coincide con ese perfil, empezar con Agents SDK puede ahorrar trabajo.
Cuándo conservar LangGraph
Si tu proyecto entra en estos casos, la complejidad de LangGraph suele justificarse:
-
Tareas largas (20+ minutos): agentes de reporting, procesamiento de datos o análisis complejos pueden correr más de 20 minutos y fallar o expirar a mitad de camino. Los checkpointers y fault tolerance de LangGraph permiten continuar desde el último checkpoint. Agents SDK no tiene fault tolerance integrada y suele repetir desde el inicio.
-
Aprobación humana obligatoria: escenarios de tool call interrupt, como borrar datos, enviar correos o cambiar permisos, requieren aprobación antes de continuar. Los interrupts de LangGraph pueden pausar antes del tool call, guardar estado con el checkpointer y reanudar con
Command(resume=...). Los guardrails de Agents SDK son “disparar y detener”, no “pausar para revisión y continuar”. -
Estado auditable obligatorio: algunos sistemas necesitan reproducir estados históricos, revisar rutas de ejecución o auditar decisiones. Una pregunta de cumplimiento como “¿por qué tomó esta rama hace dos horas?” exige más que un trace. Time travel de LangGraph vuelve a un checkpoint; tracing de Agents SDK muestra la ruta, pero no reejecuta desde un estado histórico.
-
La ejecución debe continuar tras fallos: si un agente se cae a mitad de run o falla la red, el sistema debe continuar en vez de empezar de cero. Fault tolerance de LangGraph reanuda desde checkpoint. Agents SDK empieza desde el principio. Si hay dependencias externas como llamadas API o escrituras en base de datos que no deben repetirse, esta diferencia importa mucho.
-
Múltiples ramas, routing condicional o máquina de estados de negocio: workflows con estados explícitos, condiciones o transiciones de negocio encajan mejor con LangGraph. Un pedido típico: pago exitoso -> envío; pago fallido -> cancelación; pago expirado -> intervención humana. Este flujo se entiende mejor como grafo de estado explícito; los handoffs de Agents SDK son para delegación, no para routing complejo.
El requisito común es estado explícito: persistencia con checkpoints, interrupts, resume, time travel o fault tolerance. Si tu proyecto lo necesita, la complejidad de LangGraph no es sobrecarga; es parte de la seguridad del sistema.
Decisión de reemplazo: checklist de cuatro pasos
Después de los escenarios, la decisión puede seguir poco clara. Usa esta checklist:
Paso 1: lista los requisitos principales
Divide el requisito en capacidades concretas: tool calling, recuperación de estado, aprobación humana, tareas largas, branching, replay de auditoría y recuperación ante fallos. No escribas solo “necesitamos un agente”. Hazlo específico. “Un agente de reporting corre 20 minutos, espera aprobación SQL y debe continuar tras un crash” son tres requisitos: tarea larga, aprobación y recuperación.
Paso 2: mapea los requisitos fuertes a la matriz
Toma la lista del paso 1 y llévala a las 10 dimensiones anteriores. “Tarea larga + aprobación + recuperación” corresponde a persistencia de estado, HITL y recuperación ante fallos. Agents SDK es débil o no existe en esas dimensiones, mientras LangGraph es fuerte. Si tus requisitos fuertes caen en los puntos débiles de Agents SDK, el reemplazo probablemente no conviene.
Paso 3: decide si necesitas un grafo de estado explícito
Haz una pregunta: ¿mi proceso puede dibujarse como transiciones de estado claras? Si sí, por ejemplo un pedido con éxito, fallo, timeout y pasos posteriores, el grafo de estado explícito de LangGraph encaja mejor. Si es más bien “modelo + herramientas + delegación ocasional” sin flujo fijo, Agents SDK puede ser más ligero.
Paso 4: evalúa la tolerancia del equipo a la complejidad
LangGraph exige diseñar grafos, estado y nodos. Si el equipo tiene poca tolerancia a esa complejidad, empieza con un prototipo en Agents SDK y agrega una capa de estado solo cuando sea necesaria. Si el equipo ya tiene experiencia con workflows o máquinas de estado, la complejidad de LangGraph puede no ser un problema.
Al terminar estos cuatro pasos, deberías poder elegir Agents SDK, LangGraph o una combinación. Si todavía estás comparando frameworks a nivel más amplio, usa la checklist de ingeniería de AI Agents 2026 como lectura complementaria.
Rutas de migración para proyectos LangGraph existentes
Si ya tienes un prototipo LangGraph y quieres reducir complejidad con Agents SDK, usa esta tabla:
| Contenido del prototipo LangGraph | ¿Puede pasar a Agents SDK? | Motivo |
|---|---|---|
| Nodo tool agent simple (solo modelo + herramienta) | Sí | No depende de checkpoints ni interrupts; tools + tracing de Agents SDK pueden bastar |
| Nodo de delegación especialista (clasificar y delegar) | Sí | Los handoffs de Agents SDK ya son “agent as tool”, sin aristas de routing explícitas |
| Tarea corta sin checkpoints (menos de 5 minutos) | Sí | No hay requisito de checkpoint; sessions de Agents SDK pueden bastar |
| Flujo de aprobación con interrupts (tool call interrupt) | No | Interrupt de LangGraph pausa la máquina de estados; guardrails de Agents SDK detienen la ejecución |
| Tarea larga con checkpoints (20+ minutos) | No | Agents SDK no tiene persistencia con checkpoints; un crash implica reiniciar |
| Auditoría que necesita time travel | No | Agents SDK tiene tracing pero no time travel, así que no reejecuta desde estado histórico |
| Routing multirrama, condicional o máquina de estados de negocio | No | Los handoffs de Agents SDK no están pensados para routing complejo; un grafo de estado explícito es más claro |
Si ya usas Agents SDK y quieres saber cuándo subir a LangGraph, usa esta tabla de señales:
| Señal | Ruta de migración recomendada | Motivo |
|---|---|---|
| La tarea pasa de 5 minutos a 20+ minutos | Mantén Agents SDK para nodos cortos y envuelve el flujo externo en LangGraph | Las tareas largas necesitan checkpoints y fault tolerance |
| Se requiere aprobación para tool calls de alto riesgo | Mueve la aprobación de guardrails a interrupts | Interrupts son pausas de máquina de estados; guardrails son detenciones de ejecución |
| Se requiere recuperación tras crash | Introduce checkpointers | Agents SDK no tiene fault tolerance integrada |
| Se requiere branching condicional | Dibuja un grafo de estado explícito | Los handoffs de Agents SDK no sirven para routing complejo |
Ejemplo de patrón híbrido: no hace falta reemplazar todo. LangGraph gestiona el grafo de estado externo y un nodo usa Agents SDK para ejecutar un agente de tarea corta. Un agente de reporting puede usar LangGraph para el flujo principal: preparación de datos -> generación SQL -> aprobación humana -> ejecución de consulta -> exportación. Los nodos de generación SQL y exportación no necesitan checkpoints ni interrupts propios, así que pueden usar el agent loop y tool calls de Agents SDK mientras LangGraph conserva el estado.
La clave es la propiedad: LangGraph posee la capa de estado; Agents SDK puede ejecutar nodos cortos. No es una elección binaria, sino una forma de usar cada framework donde es más fuerte.
Conclusión
OpenAI Agents SDK y LangGraph no son una decisión binaria. La pregunta real es si necesitas una capa de estado. Si el proyecto solo necesita agent loop, tool calls, delegación y validación —por ejemplo Q&A de base de conocimiento, triage de soporte o un prototipo rápido— empieza con Agents SDK. Es más ligero y fácil de poner en marcha. Si el proyecto necesita recuperación de tareas largas, aprobación humana, auditoría de estado o continuación tras fallos —por ejemplo agentes de reporting, workflows de pedidos o procesos de cumplimiento— los checkpoints, interrupts, time travel y fault tolerance de LangGraph son capacidades necesarias.
No tienes que forzar un reemplazo. Un híbrido práctico es dejar que LangGraph gestione el grafo de estado externo y que Agents SDK ejecute nodos cortos. La decisión empieza por tus requisitos: lista las necesidades centrales, mapea las más fuertes a la matriz y decide si conservar, reemplazar o combinar.
Siguiente paso: si ya tienes un prototipo LangGraph, usa la tabla de migración para identificar qué nodos pueden pasar a Agents SDK. Si todavía estás eligiendo framework, usa la checklist de cuatro pasos para decidir primero si el proyecto necesita un grafo de estado explícito.
Cómo decidir si OpenAI Agents SDK puede reemplazar a LangGraph
Evalúa duración de ejecución, estado, efectos secundarios de herramientas, revisión humana y observabilidad antes de migrar de LangGraph a OpenAI Agents SDK.
⏱️ Estimated time: 30 min
- 1
Step 1: Lista la duración de ejecución
Decide si el agente es una interacción única, una sesión corta o una tarea larga que puede superar los 20 minutos. - 2
Step 2: Marca los requisitos de estado
Revisa si necesitas ramas, reintentos, compensación, aprobaciones, resume, replay o auditoría de estado entre pasos. - 3
Step 3: Revisa el patrón de llamadas a herramientas
Distingue function tools/MCP tools simples de efectos secundarios externos en varios pasos, que suelen requerir una capa de estado explícita. - 4
Step 4: Define el modelo de revisión humana
Si solo necesitas revisar la salida final, los guardrails pueden bastar. Si debes pausar un nodo, editar estado o aprobar un tool call, prioriza interrupts de LangGraph. - 5
Step 5: Comprueba la observabilidad
Decide si el equipo solo necesita un agent trace, o también transiciones de estado, checkpoints, evals, monitoreo de despliegue y registros de recuperación. - 6
Step 6: Elige el framework principal
Si la mayoría de respuestas apuntan a tareas cortas y herramientas ligeras, prioriza Agents SDK. Si apuntan a grafos de estado y tareas largas, conserva o introduce LangGraph. - 7
Step 7: Diseña una migración híbrida
En un proyecto LangGraph existente, primero encapsula nodos simples de modelo y herramienta con Agents SDK; después decide si el grafo externo todavía debe quedarse.
FAQ
¿OpenAI Agents SDK puede reemplazar directamente a LangGraph?
¿Sessions y checkpoints son lo mismo?
Si Agents SDK tiene HITL, ¿siguen importando los interrupts de LangGraph?
¿LangGraph es demasiado pesado?
¿Cómo migro un proyecto LangGraph existente?
¿Se pueden usar OpenAI Agents SDK y LangGraph juntos?
17 min de lectura · Publicado el: 21 oct 2026
Caja de herramientas de AI Agents
Si llegaste desde búsqueda, lo más rápido es ir al artículo anterior o siguiente de esta misma serie.
Anterior
ADHD para Coding Agents: un motor de razonamiento paralelo estilo Tree-of-Thought
ADHD es un skill open source para Claude y Codex Agent SDK. Usa ramas aisladas y una pasada critic separada para reducir la convergencia prematura en Coding Agents. Esta guía explica sus diferencias con CoT y Tree-of-Thought, cómo funcionan los frames, cuándo usarlo, cómo instalarlo y cuánto cuesta.
Parte 6 de 7
Siguiente
Este es el artículo más reciente de la serie por ahora.



Comentarios
Inicia sesión con GitHub para dejar un comentario