Agentes con carriles, no con magia.
LangGraph te deja dibujar el camino que seguirá tu agente: qué hace, qué recuerda y cuándo decide.
Piensa en un diagrama de flujo que puede pensar.
Estado
La mochila con los datos que viajan por todo el flujo.
Nodos
Funciones: llamar al LLM, buscar datos, usar una tool, validar…
Edges
Las carreteras que conectan nodos. Algunas son condicionales.
Primero define qué sabe tu flujo.
Cada nodo recibe el estado y devuelve únicamente lo que quiere actualizar.
from typing_extensions import TypedDict class State(TypedDict): pregunta: str respuesta: str
Traducción: “Mi grafo transporta una pregunta y una respuesta”. Nada más.
Un nodo es solo una función.
Puede ser determinista o llamar a un modelo, una API o una herramienta.
def responder(state: State): pregunta = state["pregunta"] # Aquí podrías llamar a un LLM texto = f"Respuesta a: {pregunta}" return {"respuesta": texto}
Ahora dibuja la carretera.
from langgraph.graph import StateGraph, START, END g = StateGraph(State) g.add_node("responder", responder) g.add_edge(START, "responder") g.add_edge("responder", END) graph = g.compile()
Compilas una vez. Invocas cuando quieras.
result = graph.invoke({
"pregunta": "¿Qué es RAG?",
"respuesta": ""
})
print(result["respuesta"])
¿Qué hace LangGraph?
Recorre START → responder → END y va transportando el estado entre nodos.
¿Dónde está la IA?
Dentro de tus nodos. LangGraph no es el LLM: es el orquestador.
El grafo puede elegir camino.
def ruta(state): return "buscar" if necesita_datos(state) else "responder" g.add_conditional_edges( "clasificar", ruta, {"buscar": "buscar", "responder": "responder"} )
¿Y si quiero que recuerde?
Compila con un checkpointer. LangGraph guarda snapshots del estado por conversación.
from langgraph.checkpoint.memory import InMemorySaver memory = InMemorySaver() graph = g.compile(checkpointer=memory) config = {"configurable": {"thread_id": "user-42"}} graph.invoke(input, config)
InMemorySaver es perfecto para aprender y probar.LangGraph brilla cuando el agente deja de ser lineal.
Solo recuerda estas 5 piezas.
Referencia: documentación oficial de LangGraph / LangChain. Conceptos simplificados deliberadamente para una primera toma de contacto.