← Todo el material
Glosario Básico 20 de agosto de 2026

Glosario de LangGraph

Todos los términos del Curso completo de LangGraph explicados en simple: grafo, estado, nodo, arista, reducer, StateGraph, checkpointer, ReAct, human-in-the-loop y más. Referencia para cualquier módulo del curso.

☰ Índice del contenido

Referencia completa de términos del Curso completo de LangGraph, de los doce módulos. No hace falta leerlo de corrido: vuelve aquí cuando un módulo mencione algo que quieras repasar.

Conceptos base

Grafo (graph) — La forma en que LangGraph modela un agente: nodos conectados por flechas. A diferencia de una cadena lineal, un grafo puede ramificarse y volver atrás.

Nodo (node) — Una función que hace un trabajo dentro del grafo (llamar al LLM, usar una tool, transformar datos). Recibe el estado y devuelve una actualización de él.

Arista (edge) — La flecha que conecta dos nodos: define qué se ejecuta después de qué. Puede ser fija (add_edge) o condicional (add_conditional_edges).

Estado (state) — La información que viaja por el grafo y que todos los nodos leen y actualizan. Se define con un TypedDict. Es la “memoria de trabajo” del grafo durante una ejecución.

START / END — Nodos especiales que marcan la entrada y la salida del grafo. Toda ejecución empieza en START y termina al llegar a END (su nombre interno es "__end__").

Construcción del grafo

StateGraph — La clase con la que construyes el grafo. Le pasas el tipo del estado, registras nodos con add_node y aristas con add_edge.

compile() — Valida el grafo (que no haya nodos sueltos, que exista una entrada) y lo convierte en un objeto ejecutable.

invoke() — Ejecuta el grafo con un estado inicial y devuelve el estado final. Su primo stream() va emitiendo resultados paso a paso.

Estado y actualizaciones

Reducer — La función que decide cómo se combina el valor viejo de un campo con el nuevo. Sin reducer, LangGraph sobrescribe; con reducer, puedes acumular. Se asigna con Annotated[tipo, reducer].

add (operator.add) — El reducer más simple para listas: concatena el valor nuevo al anterior en vez de reemplazarlo.

add_messages — Reducer especializado para historiales de chat: acumula mensajes, los actualiza por id y convierte diccionarios en objetos de mensaje. Importado de langgraph.graph.message.

MessagesState — Estado prehecho que ya trae el campo messages con el reducer add_messages. Heredas de él y le sumas tus campos.

Control de flujo

Arista condicional (conditional edge) — Una bifurcación: en vez de ir siempre al mismo nodo, una función de routing decide el destino según el estado. Se define con add_conditional_edges.

Router (función de routing) — La función que lee el estado y devuelve el nombre del siguiente nodo. Anotar su retorno con Literal[...] documenta los destinos y mejora los diagramas.

path_map — Diccionario opcional que traduce lo que devuelve el router (ej. True/False) al nombre real del nodo destino.

Ciclo (loop) — Cuando una arista condicional apunta a un nodo anterior, creando un bucle de reintento o refinamiento. Es lo que una cadena lineal no puede hacer.

recursion_limit — Tope de pasos (por defecto 25) tras el cual LangGraph corta la ejecución para evitar ciclos infinitos. Alcanzarlo suele indicar una condición de salida mal diseñada.

Super-step — Un “tick” de ejecución del grafo: el conjunto de nodos que corren en paralelo antes de pasar al siguiente. Útil para entender el orden de ejecución.

Tools y agentes

Tool (herramienta) — Una función de Python que el agente puede pedir que se ejecute: buscar, calcular, llamar una API. Las “manos” del modelo. Se declara con el decorador @tool.

Docstring de la tool — La descripción que el modelo lee para decidir cuándo usar la herramienta. No es documentación: es prompt.

tool call — La petición que devuelve el modelo cuando quiere usar una tool, con el nombre y los argumentos ya rellenados. El modelo pide; ejecutar es trabajo de tu grafo.

bind_tools — Método que le entrega al modelo la lista de tools disponibles. Devuelve un modelo que ya sabe que existen.

ToolNode — Nodo prehecho (de langgraph.prebuilt) que lee las tool calls del último mensaje, las ejecuta —en paralelo si son varias— y devuelve los resultados como ToolMessage.

ToolMessage — El mensaje que lleva el resultado de una tool de vuelta al modelo. Toda tool call necesita el suyo, incluso si la rechazas.

tools_condition — Router prehecho: si el último mensaje trae tool calls va al nodo tools, si no va a END. Ahorra escribir el router del ciclo ReAct.

ReAct — Patrón “razonar y actuar” (Reason + Act): el agente alterna pensar y usar tools en un ciclo hasta resolver la tarea. En LangGraph es literalmente un ciclo del grafo.

create_agent — Función que arma el grafo ReAct completo en una línea. En versiones anteriores se llamaba create_react_agent.

Persistencia y memoria

Checkpointer — Componente que guarda el estado del grafo tras cada paso. Es lo que permite memoria, pausas y retomar ejecuciones.

Checkpoint — Una foto del estado en un punto concreto de la ejecución.

Thread — Una conversación identificada por su thread_id. El checkpointer guarda y recupera el estado por thread; threads distintos están aislados.

thread_id — El identificador que va en {"configurable": {"thread_id": ...}} y le dice al checkpointer a qué conversación pertenece el estado.

InMemorySaver — Checkpointer que guarda en RAM. Para desarrollo y pruebas; se pierde al reiniciar.

PostgresSaver / SqliteSaver — Checkpointers persistentes. PostgresSaver es el de producción; requiere setup() la primera vez para crear las tablas.

get_state — Devuelve un StateSnapshot con el estado guardado de un thread, sin ejecutar el grafo.

StateSnapshot — El objeto que devuelve get_state: trae values (el estado), next (nodos pendientes), metadata (paso, escrituras) y config.

get_state_history — Lista todos los checkpoints de un thread, del más reciente al más antiguo. La herramienta de debugging por excelencia.

update_state — Modifica el estado guardado como si lo hubiera escrito un nodo. Crea un checkpoint nuevo; no pisa el anterior.

Memoria de corto plazo — El historial que vive dentro de un thread (lo da el checkpointer).

Memoria de largo plazo — Lo que se recuerda del usuario entre threads distintos (lo da el Store).

Human-in-the-loop

Human-in-the-loop — Pausar el grafo para esperar una acción humana —aprobar, corregir, responder— antes de continuar.

interrupt() — Función que se llama dentro de un nodo: detiene el grafo ahí, guarda el estado y devuelve al llamador el valor que le pasaste. Requiere checkpointer.

Clave __interrupt__ del resultado — La clave que aparece en el resultado cuando el grafo quedó pausado; contiene el payload del interrupt.

Reanudar con Command(resume=…) — La forma de retomar: el valor que pasas en resume es exactamente lo que devuelve el interrupt() dentro del nodo.

Re-ejecución del nodo — Al reanudar, el nodo corre desde el principio, no desde la línea del interrupt. Por eso los efectos secundarios van después del interrupt().

Breakpoint estático — Pausa declarada al compilar con interrupt_before / interrupt_after, sin tocar los nodos. Pensada para depurar; se reanuda con invoke(None, config).

Streaming y observabilidad

stream() / astream() — Versiones de invoke que devuelven un iterador (sync y async) emitiendo resultados a medida que ocurren.

stream_mode — Qué emite el stream: updates (el delta de cada nodo), values (el estado completo), messages (tokens del LLM), custom (lo que tú emitas), debug (todo).

get_stream_writer — Función que, dentro de un nodo, permite emitir eventos propios de progreso hacia el modo custom.

langgraph_node — Campo del metadata en el modo messages que indica de qué nodo viene el token. Es cómo filtras para mostrar solo la respuesta final.

Observabilidad — Poder reconstruir qué pasó en una ejecución: prompts, tool calls, latencia, costo.

LangSmith — Plataforma de trazas de LangChain. Se activa con variables de entorno (LANGSMITH_TRACING, LANGSMITH_API_KEY) sin cambiar el código.

Multi-agente

Subgrafo — Un grafo compilado usado como nodo dentro de otro grafo. Como un agente ya es un grafo compilado, un agente es un subgrafo.

Función traductora — La función que convierte el estado del padre al del subgrafo y de vuelta, cuando no comparten claves. Es el contrato explícito entre dos agentes.

Command (goto / update) — Objeto que un nodo o una tool puede devolver para hacer dos cosas a la vez: actualizar el estado (update) y decidir el siguiente nodo (goto). La alternativa a las aristas condicionales cuando la decisión nace dentro del nodo.

Command.PARENT — Valor del parámetro graph que le dice al goto que el nodo destino está en el grafo padre, no en el propio. Es lo que hace posible un handoff.

Supervisor — Agente central que coordina a otros llamándolos como tools. El control siempre vuelve a él.

Subagente — Agente especialista invocado por el supervisor. Es efímero (no recuerda turnos anteriores) y normalmente solo devuelve texto.

Handoff — Transferencia del control de un agente a otro entre pares, sin volver al centro. El contexto conversacional viaja con el usuario.

subgraphs=True — Parámetro de get_state que incluye el estado interno de los subgrafos. Imprescindible para depurar sistemas multi-agente.

Memoria de largo plazo

Store — Almacén de documentos JSON que persiste entre threads. Es donde guardas lo que sabes del usuario, no la conversación.

Namespace — Tupla que organiza la memoria jerárquicamente, por convención ("memorias", user_id). Es tu frontera de aislamiento entre usuarios.

put / get / search — Las tres operaciones del Store: guardar, recuperar por clave, y buscar dentro de un namespace.

InMemoryStore — Store en RAM, para desarrollo. En producción se usa la versión respaldada en Postgres.

Búsqueda semántica — search(ns, query="...") con el Store indexado por embeddings: recupera por significado, no por palabras exactas. El mismo mecanismo que hay detrás de un RAG.

Extracción de memorias — El paso donde un modelo decide qué de la conversación merece recordarse. Puede hacerse en caliente (cada turno) o en frío (proceso aparte).

Producción

Ejecución durable — Que una ejecución interrumpida por un crash pueda continuar desde su último checkpoint en vez de reiniciarse.

durability — Parámetro que define cuándo se escriben los checkpoints: "exit" (solo al terminar, el más rápido y sin recuperación), "async" (en paralelo, el equilibrio) o "sync" (antes de cada paso, máxima garantía).

Idempotencia — Que ejecutar un efecto secundario dos veces produzca el mismo resultado que una. Requisito para que un nodo pueda re-ejecutarse sin daño.

Determinismo — Que un nodo produzca lo mismo ante la misma entrada. El random, datetime.now() o uuid4() escondidos dentro de un nodo hacen los bugs irreproducibles.

RetryPolicy — Política de reintentos por nodo (max_attempts, backoff_factor, jitter). Para errores transitorios de servicios externos, no para errores de lógica.

Backoff exponencial — Duplicar la espera en cada reintento. Con jitter se le suma aleatoriedad para que muchas ejecuciones no reintenten en el mismo instante.

CachePolicy — Caché de nodo con ttl. Para nodos caros y deterministas; nunca para nodos con efectos secundarios.

Time travel — Re-ejecutar desde un checkpoint anterior usando su checkpoint_id. Combinado con update_state, permite preguntarse “¿y si hubiera hecho otra cosa?”.

Patrones avanzados

Send — Objeto que lanza un nodo con su propio estado. Devolver una lista de Send desde una arista condicional crea N ramas paralelas decididas en tiempo de ejecución.

Map-reduce — Repartir N elementos en ramas paralelas (Send) y consolidar los resultados con un reducer. El campo que recibe los resultados necesita reducer o las ramas se pisan.

Reflexión — Ciclo entre un nodo que genera y otro que critica, hasta que el crítico aprueba. Requiere un tope de vueltas y un criterio de crítica explícito.

Plan-and-execute — Planificar todos los pasos primero y luego ejecutarlos, en vez de decidir uno a uno como ReAct. Para tareas largas; conviene incluir un paso de replanificación.

Evaluación (evals) — Un conjunto de casos con resultado esperado que se corre tras cada cambio. Sin esto, cada ajuste de prompt es una apuesta.

Modelo juez (LLM-as-judge) — Usar un modelo para evaluar la respuesta de otro cuando no hay una comparación exacta posible.

Material relacionado

LangGraphGlosarioAgentes IAPython

Preguntas sobre este glosario

Regístrate gratis para hacer preguntas y guardar tu progreso.

✉ Entérate de lo nuevo

Recibe un aviso cuando publique nuevos cursos, workshops o investigaciones. Sin spam.