Conceptos de LangGraph en lenguaje sencillo: Estado, memoria y orquestación
Conceptos de LangGraph en lenguaje sencillo antes de su primer agente: orquestación, tiempo de ejecución, estado, memoria a corto y largo plazo, múltiples agentes y participación humana en el proceso.
Fuentes: What I Learned Before Building My First LangGraph Agent
Las definiciones oficiales de LangGraph son bastante detalladas. El eslogan del propio proyecto describe un marco de bajo nivel junto con un entorno de ejecución para orquestar agentes que operan durante mucho tiempo y mantienen estado. Eso puede ser cierto, pero no resulta fácil de comprender a primera vista. Se trata de los conceptos básicos en lenguaje sencillo que es necesario entender antes de escribir cualquier código de LangGraph, presentados dentro de un segundo proyecto planificado dentro de una ruta de aprendizaje.
¿Por qué pasar a LangGraph ahora?
Supongamos que un primer proyecto enseñó los conceptos básicos: llamadas a herramientas, MCP, herramientas remotas y un pequeño mecanismo para gestionar agentes. Eso permite establecer un ciclo claro de modelo, herramienta, resultado y vuelta al modelo.
Tool calling
MCP
Remote tools
A small agent harness
Lo que no explica es qué sucede cuando el flujo de trabajo deja de ser un simple bucle.
What if the workflow is not just a loop?
What if it branches?
What if it must remember the conversation?
What if different steps should have different jobs?
Esas son las preguntas para las cuales existe LangGraph. El objetivo aquí no es otra demostración de chatbot; se trata de un proyecto que obliga deliberadamente al uso del estado, la enrutación y la orquestación.
Desglosando la definición
Tres palabras tienen la mayor importancia: orquestación, tiempo de ejecución y con estado.
Orquestación
En términos sencillos, la orquestación significa coordinar pasos que deben realizarse en un orden determinado y, a veces, seguir ramales diferentes. Piense en un camarero de restaurante.
Customer orders
↓
Waiter takes the order
↓
Kitchen cooks
↓
Waiter brings food
↓
Cashier takes payment
El camarero no es la cocina, y la cocina no es el cajero, pero alguien tiene que coordinar el flujo. En un flujo de trabajo de soporte con IA, esa coordinación se lleva a cabo de esta manera:
User asks a question
↓
Understand / classify the request
↓
Maybe ask for clarification
↓
Search documentation
↓
Write an answer
LangGraph es útil cuando se desea que esa coordinación sea explícita y se represente como un grafo, en lugar de quedar oculta dentro de una función enorme.
Tiempo de ejecución
El tiempo de ejecución es lo que realmente hace funcionar el flujo de trabajo. Una comparación útil es la de un guion cinematográfico frente a la producción que lo filma. El grafo representa el guion: qué escenas existen y qué sigue a cada una. El tiempo de ejecución corresponde a la maquinaria de producción: ejecuta la siguiente escena, sigue el progreso de las tareas y continúa hasta el final.
You define nodes and edges
↓
You compile the graph
↓
You invoke it with a user message
↓
The runtime walks START → … → END
Agentes con estado
Un agente con estado mantiene suficiente contexto para continuar una conversación. Uno sin estado trata cada mensaje como si entrara un desconocido.
Un agente sin estado funciona de esta manera:
User → “I teach at ABC School.”
Agent → answers, then forgets
User → “How do I enter grades?”
Agent → has no idea who you are
Y de esta manera, con estado:
User → “I teach at ABC School.”
↓
State remembers role / history
↓
User → “How do I enter grades?”
↓
Agent can use prior context
Reservar un vuelo es una buena analogía. Si el agente olvida tu destino entre mensajes, tienes que empezar de nuevo cada vez. Los chats de soporte se sienten exactamente así. El estado es la forma en que el sistema mantiene el hilo de conversación.
Harness versus grafo
Con un harness, el bucle es visible, que es precisamente el objetivo de crearlo. LangGraph plantea otra pregunta: ¿podría el flujo de trabajo modelarse como un grafo, con pasos etiquetados, ramificaciones y estado persistente, en lugar de un bucle de generación repetido? No todo proyecto lo necesita. Pero vale la pena aprenderlo antes de afirmar que se entienden los flujos de trabajo de los agentes.
Memoria del agente, dividida en dos
Es tentador tratar la memoria como una sola entidad. Pero no lo es.
Memoria a corto plazo
Esta es la memoria para la conversación o hilo actual.
User: I am a teacher at ABC School.
…
User: How do I enter grades?
Por eso, saber cuál turno ocurrió sigue siendo relevante incluso después de otro turno. En términos de LangGraph, esto suele permanecer en el estado del grafo, especialmente en la lista de mensajes, y puede persistir a través de los turnos mediante un checkpointer y un ID de hilo.
Short-term memory ≈ working memory for this conversation
La comparación con la memoria de trabajo es útil siempre y cuando recuerdes que es solo una analogía.
Memoria a largo plazo
Esto abarca información que debe perdurar más allá de una conversación específica. Ejemplos típicos son las preferencias del usuario, un perfil escolar, datos permanentes sobre el rol de alguien y notas de tickets anteriores.
Short-term ≈ RAM for this session
Long-term ≈ persistent storage across sessions
La distinción más importante: el historial de conversaciones no es automáticamente memoria a largo plazo. Una transcripción dentro del hilo actual sigue siendo memoria de sesión. La memoria a largo plazo es una decisión de diseño separada sobre qué almacenar, por cuánto tiempo y cómo recuperarlo posteriormente. Para una primera versión, la memoria del hilo es suficiente, y luego se añadirá un almacenamiento completo de perfiles a largo plazo.
Orquestación de múltiples agentes sin exageraciones
Puede ser más difícil seguir a un único agente que lo abarca todo que a un grupo reducido de especialistas. La construcción de una casa es la analogía.
Electrician
Plumber
Painter
Inspector
Nadie le pide al pintor que haga los cables, porque las tareas son diferentes. Para un asistente de apoyo escolar, se puede imaginar un flujo como este:
User
↓
Intake (who is speaking? teacher / admin?)
↓
Classify / route
↓
Knowledge (find the right docs)
↓
Support (write the reply)
Dividir las responsabilidades tiene beneficios reales: cada paso es más fácil de probar, resulta más sencillo distinguir una falla en el enrutamiento de una falla en la búsqueda de documentos, y el modelo mental del flujo de trabajo se vuelve más claro. Sin embargo, hay que ser honesto sobre los límites. Varios agentes son útiles cuando las responsabilidades difieren realmente. No son valiosos solo porque su nombre suene avanzado.
El ser humano en el proceso
A veces la IA debería detenerse y esperar a una persona antes de continuar.
User request
↓
AI prepares an action
↓
Sensitive?
↓
Pause → human approval → continue
Los casos típicos incluyen la eliminación de registros de estudiantes, la modificación de calificaciones después de su publicación, reembolsos o pagos, y la elevación de un ticket a un administrador real. Considérelo como un mecanismo de seguridad y confianza: los agentes pueden razonar y actuar, pero algunas decisiones permanecen bajo control humano. Este concepto se entiende aquí a nivel teórico y podría añadirse posteriormente. Una observación: hacer una pregunta aclaratoria sobre a qué área del producto se refiere alguien es útil, pero no equivale a la aprobación humana de una acción sensible.
Cómo encajan las piezas
Antes de escribir el código, la imagen general era la siguiente:
Orchestration → who does what, and in what order?
Runtime → what executes that plan?
State → what do we remember while running?
Short-term mem → how does a multi-turn chat continue?
Long-term mem → what should survive across sessions? (later)
Multi-agent → when should steps be specialized?
HITL → when must a human approve? (later)
Tools → how does the agent reach outside knowledge?
LangGraph es atractivo porque hace que varias de esas partes sean visibles en el grafo y no solo estén ocultas dentro de los prompts.
El proyecto de práctica: un agente de soporte escolar
Para practicar, la historia trata sobre un agente de soporte para LEPA, un sistema de gestión escolar utilizado por profesores y administradores. Las preguntas típicas provienen de usuarios a los que se les ha bloqueado la cuenta, personas que registran a un nuevo estudiante, profesores que ingresan calificaciones o se preguntan por qué no aparecen, personal que toma asistencia y administradores que generan informes.
El ejercicio se centra en el flujo entre los pasos, y no se necesita un modelo sofisticado para demostrarlo. La construcción se realiza en pequeños pasos:
- Una descripción acompañada de un grafo sencillo, que va desde
STARTa través de un nodo hastaEND - Recibimiento de solicitudes, clasificación y enrutamiento condicional
- Una herramienta de conocimiento real en lugar de documentos Markdown
- Una API con memoria de conversación que utiliza puntos de control
- Visualización de grafos y documentación clara
- Mejoras opcionales con modelos de lenguaje grande sobre los documentos recuperados
Conclusión
La definición de LangGraph parece compleja hasta que se desglosa. La orquestación consiste en coordinar los pasos. El tiempo de ejecución se refiere a la ejecución y seguimiento del flujo de trabajo. Que sea con estado significa que la conversación mantiene su contexto en lugar de reiniciarse desde cero. La memoria, el diseño multiagente y la aprobación humana son ideas relacionadas; algunas deben incluirse en la primera versión mientras que otras pueden esperar. Saber cuál es cuál forma parte del proceso de aprendizaje.
Leer más
- Su primer agente LangGraph: un asistente de fútbol con herramientas y enrutamiento — Tutorial paso a paso de LangGraph: estado compartido, herramientas, un nodo de planificador, aristas condicionales y un resumen en markdown, desarrollado alrededor de un asistente ficticio de estadísticas de fútbol.
- Agentes LangGraph en paralelo que revisan solicitudes de pull request mediante webhooks de FastAPI — Cómo un webhook, una cola de Redis y cuatro agentes LangGraph convierten una solicitud de pull request en una revisión estructurada y puntuada por IA en aproximadamente 30 segundos, con ngrok para pruebas locales.