Saltar al contenido principal

LangGraph Tutorial en Español: Guía Práctica 2026

Aprende LangGraph en español con este tutorial completo. Desde instalación hasta agentes multi-paso con memoria y herramientas. Ejemplos de código incluidos.

LangGraph es el framework de referencia para construir agentes IA con flujos de trabajo complejos. Desarrollado por el equipo de LangChain, permite crear sistemas que van más allá de las cadenas lineales tradicionales.

En este tutorial en español aprenderás desde cero cómo usar LangGraph para construir agentes conversacionales profesionales.

¿Qué es LangGraph?

LangGraph es una librería de Python que extiende LangChain para crear aplicaciones LLM con estado y multi-actor. Su característica principal es modelar flujos de trabajo como grafos dirigidos cíclicos (DAG).

  • Nodos: Funciones que procesan el estado
  • Edges: Conexiones entre nodos (condicionales o fijas)
  • Estado: Memoria compartida entre nodos
  • Checkpoints: Persistencia para reanudar conversaciones

Instalación de LangGraph

Instala LangGraph y sus dependencias:

pip install langgraph langchain langchain-openai

Configura tu API key de OpenAI:

import os
os.environ["OPENAI_API_KEY"] = "tu-api-key"

Tu Primer Grafo con LangGraph

Vamos a crear un agente simple que puede responder preguntas y usar herramientas:

from langgraph.graph import StateGraph, END
from typing import TypedDict, Annotated
import operator

# Definir el estado
class AgentState(TypedDict):
    messages: Annotated[list, operator.add]

# Crear el grafo
workflow = StateGraph(AgentState)

# Añadir nodos
workflow.add_node("agent", call_model)
workflow.add_node("tools", call_tools)

# Definir edges
workflow.set_entry_point("agent")
workflow.add_conditional_edges(
    "agent",
    should_continue,
    {"continue": "tools", "end": END}
)
workflow.add_edge("tools", "agent")

# Compilar
app = workflow.compile()

Conceptos Clave de LangGraph

Para dominar LangGraph necesitas entender estos conceptos:

  • StateGraph: El contenedor principal que define el flujo
  • Nodos (Nodes): Funciones que transforman el estado
  • Edges: Conexiones que definen el flujo entre nodos
  • Conditional Edges: Bifurcaciones basadas en condiciones
  • Checkpointer: Persistencia del estado para memoria a largo plazo

Añadiendo Memoria con Checkpoints

Una de las ventajas de LangGraph es la memoria persistente:

from langgraph.checkpoint.sqlite import SqliteSaver

# Crear checkpointer
memory = SqliteSaver.from_conn_string(":memory:")

# Compilar con memoria
app = workflow.compile(checkpointer=memory)

# Usar con thread_id para mantener conversación
config = {"configurable": {"thread_id": "user-123"}}
result = app.invoke({"messages": ["Hola"]}, config)

Integrando Herramientas (Tools)

Los agentes necesitan herramientas para interactuar con el mundo real:

from langchain_core.tools import tool

@tool
def buscar_producto(query: str) -> str:
    """Busca productos en el catálogo."""
    # Tu lógica de búsqueda
    return f"Resultados para: {query}"

@tool  
def crear_pedido(producto_id: str, cantidad: int) -> str:
    """Crea un pedido en el sistema."""
    # Tu lógica de pedidos
    return f"Pedido creado: {producto_id} x {cantidad}"

tools = [buscar_producto, crear_pedido]

Patrones Comunes en LangGraph

  • ReAct Agent: Razona → Actúa → Observa en ciclo
  • Plan and Execute: Planifica primero, ejecuta después
  • Multi-Agent: Varios agentes especializados colaborando
  • Human-in-the-Loop: Pausas para intervención humana

Ejemplo Completo: Agente de Soporte

Un agente de atención al cliente completo con LangGraph:

from langgraph.prebuilt import create_react_agent
from langchain_openai import ChatOpenAI

# Definir herramientas de soporte
@tool
def consultar_estado_pedido(pedido_id: str) -> str:
    """Consulta el estado de un pedido."""
    return f"Pedido {pedido_id}: En tránsito"

@tool
def abrir_incidencia(descripcion: str) -> str:
    """Abre una incidencia de soporte."""
    return f"Incidencia creada: {descripcion[:50]}..."

# Crear agente
llm = ChatOpenAI(model="gpt-4")
agent = create_react_agent(
    llm,
    tools=[consultar_estado_pedido, abrir_incidencia],
    state_modifier="Eres un agente de soporte amable."
)

Recursos para Seguir Aprendiendo

  • Documentación oficial: docs.langchain.com/langgraph
  • LangChain Academy: Cursos gratuitos
  • GitHub: Ejemplos en langchain-ai/langgraph

¿Quieres implementar un agente LangGraph en tu empresa? En Sphyrna Solutions desarrollamos agentes conversacionales a medida. Solicita una consultoría gratuita.