Cómo ejecutar un agente funcional en LangGraph

Resumen

Construir un agente funcional en LangGraph requiere conectar nodos, aristas y estado en un mismo grafo ejecutable. Aprenderás cómo definir el enrutamiento condicional, compilar el grafo y probar el agente con preguntas reales sobre MongoDB, ideal si trabajas con IA aplicada a soporte técnico.

¿Cómo se definen las aristas condicionales en LangGraph?

Las aristas condicionales son las que deciden el camino que sigue el agente según el contexto. En el paso ocho del laboratorio defines un enrutamiento que lee los mensajes del estado y revisa si hay llamadas a herramientas pendientes. Si las hay, el flujo va hacia el nodo de herramientas; si no, termina la ejecución.

Este enrutamiento es lo que diferencia a un agente real de un simple chatbot lineal. Tu agente decide en tiempo de ejecución qué hacer con cada prompt.

¿Qué es una arista condicional en un agente? Es una conexión entre nodos que se activa según una condición evaluada en el estado, por ejemplo, si el modelo pidió o no llamar una herramienta.

¿Cómo se construye el grafo y se agregan los nodos?

La construcción del grafo se hace instanciándolo y agregando nodos con la función add_node de LangGraph [02:00]. En este laboratorio agregas dos nodos principales:

  • El nodo agente, que contiene la lógica del modelo de lenguaje.
  • El nodo herramientas, que ejecuta funciones externas como búsquedas o resúmenes.

Después agregas las aristas fijas: una desde el inicio hacia el agente, y otra desde herramientas de regreso al agente. Sumas el nodo condicional que evalúa si hay que invocar una herramienta y compilas el grafo.

¿Cómo verificar visualmente que el grafo está bien definido?

LangGraph se integra con Mermaid, una librería que dibuja el grafo a partir de su definición [02:30]. Le pasas el graph compilado y obtienes un diagrama visual que confirma si los nodos y las conexiones quedaron como los pensaste. Es una verificación rápida antes de ejecutar.

¿Cómo se ejecuta el agente y qué respuestas devuelve?

Al ejecutar el grafo, el agente recibe un prompt y decide qué herramienta usar. Por ejemplo, al preguntar "¿Cuáles son algunas de las mejores prácticas para hacer backups con MongoDB?" [03:10], el agente llama a la herramienta de búsqueda en la base de datos de soporte técnico y responde en lenguaje natural con recomendaciones como usar backups coordinados y clusters tipo Shard.

Si cambias el prompt a "Dame un resumen de la página con este título", el agente ejecuta una herramienta distinta: la de resumen de páginas. Mismo agente, herramientas diferentes según la intención del usuario.

¿Qué pasa si pregunto algo fuera del contexto del agente? El agente responde que no tiene información sobre ese tema. Por ejemplo, ante "¿Cuándo fue fundada Bogotá?" devolvió que no tiene datos al respecto, porque su prompt lo limita a MongoDB.

Esto demuestra que el agente respeta sus instrucciones iniciales. Puedes preguntarle en español o en inglés, pero solo responderá dentro del dominio para el que fue entrenado mediante el prompt del sistema.

¿Qué componentes forman un grafo en LangGraph?

Un grafo en LangGraph se compone de tres elementos que trabajan juntos:

  • Nodos: definen la lógica del agente, qué hace cada paso.
  • Aristas: definen el flujo de eventos entre nodos.
  • Estado: estructura de datos compartida que guarda el contexto del agente en cada momento.

Entender estos tres componentes te permite diseñar agentes más complejos sin perder el control del flujo. Cada nodo lee y modifica el estado, y las aristas dicen a dónde va el siguiente paso.

¿Cómo se añade memoria a un agente con MongoDB?

La memoria de corto plazo en LangGraph se gestiona con checkpoints e hilos [05:30]. Un checkpoint es una instantánea del estado del agente en un momento determinado, como tomar una foto de cada etapa dentro del grafo. Un hilo es una colección de checkpoints que arma la historia completa de una conversación.

Puedes guardar esa estructura como un documento en MongoDB. Cada vez que el agente necesita recordar algo, MongoDB recupera esos checkpoints, los pasa como contexto al agente y el modelo responde con esa información extra disponible.

¿Por qué usar MongoDB para checkpoints?

MongoDB permite guardar los checkpoints como documentos flexibles, sin un esquema rígido. Eso encaja con la naturaleza variable del estado de un agente, donde los mensajes, las herramientas usadas y los resultados cambian en cada interacción.

Así logras que el agente no solo razone en el momento, sino que mantenga continuidad entre sesiones, algo clave para casos de uso como soporte técnico, donde un usuario puede retomar una conversación días después.

¿Ya probaste construir tu primer agente con LangGraph? Cuéntame en los comentarios qué herramientas conectarías y qué preguntas le harías.