Un grafo que funciona en un notebook está a varios pasos de estar listo para producción. Este es el checklist que aplicamos antes de dar luz verde a un agente LangGraph con usuarios reales.
`MemorySaver` guarda el estado en la memoria del proceso Python: se pierde en cada reinicio y no funciona si tienes más de una instancia del servicio detrás de un balanceador de carga, porque cada instancia tendría su propia memoria aislada. Para producción, usa `PostgresSaver` o `RedisSaver` con una base de datos compartida entre instancias:
Verifica también una política de retención: conversaciones abandonadas acumulan filas indefinidamente si no hay un job programado que purgue hilos inactivos después de N días, según tu política de datos.
Un grafo con un ciclo mal condicionado puede entrar en bucle infinito, agotando presupuesto de API antes de que nadie lo note. LangGraph tiene un límite de recursión por defecto, pero debe ajustarse explícitamente a tu caso:
Complementa esto con un timeout a nivel de infraestructura (por ejemplo, en el gateway o el worker que invoca el grafo), independiente del límite de recursión, para cubrir el caso de un nodo individual que se cuelga esperando una API externa lenta.
Un nodo que lanza una excepción no controlada detiene todo el grafo. Para herramientas externas (APIs de terceros, bases de datos), envuelve la lógica del nodo con manejo de errores explícito que devuelva un estado de error legible en lugar de propagar la excepción cruda:
El nodo siguiente en el grafo puede entonces ramificar según `estado["error"]`, decidiendo si reintenta, escala a un humano, o responde con un mensaje de disculpa al usuario, en lugar de que el usuario reciba un error 500 sin contexto.
Para equipos que no quieren operar la infraestructura de checkpointing, colas y escalado, LangGraph Platform ofrece despliegue gestionado con APIs REST generadas automáticamente a partir del grafo compilado, streaming nativo, y un panel de gestión de hilos e interrupciones pendientes. Para equipos con requisitos de residencia de datos estrictos (frecuente en clientes financieros y gubernamentales en la región), el despliegue propio sobre un servidor ASGI expuesto con `langgraph-api` sigue siendo la opción, a cambio de operar tú mismo la infraestructura de persistencia y escalado.
Conecta LangSmith (o el sistema de trazas equivalente) antes del primer usuario real, no después del primer incidente. Cada invocación debe llevar metadata de correlación —`user_id`, `thread_id`, versión del grafo desplegado— para poder filtrar trazas cuando algo falla:
Antes de cada despliegue, corre el conjunto de evaluación (cubierto en el artículo sobre LangSmith) contra el grafo completo, no solo contra nodos individuales aislados: un cambio en el prompt del nodo supervisor puede alterar el enrutamiento hacia trabajadores de forma no obvia si solo se prueba el nodo modificado en aislamiento. La lista de verificación mínima antes de promover a producción: persistencia compartida configurada, límite de recursión ajustado, manejo de error por nodo que puede fallar externamente, trazabilidad con metadata de correlación, y suite de evaluación ejecutada contra el grafo compilado completo.
Carlos Montiel es arquitecto de soluciones IA empresarial. Implementa LLMs, Agentes, RAG y orquestadores en empresas de Guatemala y Latinoamérica. Contáctalo para una consultoría.
Contactar a Carlos Montiel