0Pricing
AI Agents · Lección

Por qué los grafos superan a las cadenas planas

Los agentes reales necesitan bucles, reintentos y condicionales; los DAG y los grafos expresan lo que las cadenas no pueden.

Por qué los grafos superan a las cadenas planas es una lección gratuita de AI Agents en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de AI Agents, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de AI Agents incluye 4 lecciones en total.

Partes de esta lección aún no han sido traducidas y se muestran en inglés.

Cuándo no bastan las cadenas

Las cadenas LCEL encajan muy bien con flujos lineales: A -> B -> C. Presentan dificultades cuando necesita:

  • Bucles (reintentar hasta tener éxito)
  • Bifurcación condicional (decidir entre A o B según el estado)
  • Pausas con intervención humana
  • Estado persistente entre llamadas

Los agentes reales son grafos

Los agentes toman decisiones paso a paso. Un agente real podría:

  1. Planificar
  2. Buscar información
  3. Si la encuentra, redactar la respuesta; si no, buscar de nuevo
  4. Validar
  5. Si no es válida, revisarla; de lo contrario, devolverla

Esto es un grafo, no una línea.

Presentación de LangGraph

LangGraph (del equipo de LangChain) permite definir agentes como grafos:

  • Nodos — funciones que leen y actualizan el estado
  • Aristas — qué nodo se ejecuta a continuación
  • Estado — diccionario compartido y persistente

Nodes Are Just Functions

from langgraph.graph import StateGraph

class AgentState(TypedDict):
    messages: list
    plan: str
    answer: str

def plan_step(state: AgentState) -> AgentState:
    plan = generate_plan(state['messages'])
    return {'plan': plan}

Edges Connect Nodes

from langgraph.graph import StateGraph, END

graph = StateGraph(AgentState)
graph.add_node('plan', plan_step)
graph.add_node('search', search_step)
graph.add_node('answer', answer_step)

graph.set_entry_point('plan')
graph.add_edge('plan', 'search')
graph.add_edge('search', 'answer')
graph.add_edge('answer', END)

app = graph.compile()

Running the Graph

result = app.invoke({'messages': [{'role': 'user', 'content': 'What is RAG?'}]})
print(result['answer'])

Las actualizaciones del estado se combinan

Cuando un nodo devuelve un diccionario parcial, LangGraph lo combina con el estado. No tiene que escribir todo el estado en cada paso.

Bifurcación condicional

Use add_conditional_edges para enrutar según el estado:

def needs_more_info(state):
    if state['confidence'] < 0.7:
        return 'search'
    return 'answer'

graph.add_conditional_edges('plan', needs_more_info, {
    'search': 'search',
    'answer': 'answer'
})

Loops Are Just Edges Back

graph.add_edge('search', 'plan')   # loop back to planner
# The planner decides if more search is needed.

Visualización

LangGraph genera diagramas Mermaid de su grafo, lo que resulta excelente para depurar su estructura:

from IPython.display import Image
Image(app.get_graph().draw_mermaid_png())

Frente a bucles while implementados manualmente

Podría hacerlo con un bucle while de Python. LangGraph añade:

  • Estructura explícita del grafo (visualizable)
  • Creación de checkpoints integrada
  • Transmisión de actualizaciones del estado
  • Primitivas para la intervención humana

LangGraph + LCEL

Los nodos pueden ser cualquier objeto invocable, incluidas las cadenas LCEL. Combine los elementos como prefiera:

summarise_chain = prompt | model | parser

def summarise_node(state):
    return {'summary': summarise_chain.invoke(state['text'])}

Cuándo usar un grafo

¿Qué escenario se beneficia más de LangGraph que de una cadena LCEL plana?

Repaso

Los grafos son mejores que las cadenas cuando necesita bucles, bifurcaciones, persistencia o intervención humana. LangGraph le proporciona la estructura.

Preguntas frecuentes

¿La lección «Por qué los grafos superan a las cadenas planas» es gratis?

Sí — el texto completo de «Por qué los grafos superan a las cadenas planas» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de AI Agents, actualiza a CoddyKit PRO. El curso de AI Agents incluye 4 lecciones en total.

¿Qué aprenderé en «Por qué los grafos superan a las cadenas planas»?

Los agentes reales necesitan bucles, reintentos y condicionales; los DAG y los grafos expresan lo que las cadenas no pueden. Practicas AI Agents con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar AI Agents?

No se requiere experiencia previa. AI Agents en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Por qué los grafos superan a las cadenas planas»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de AI Agents?

Sí. Cada lección de AI Agents incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Por qué los grafos superan a las cadenas planas
  2. Nodos, aristas y estado
  3. Enrutamiento y ramificación condicionales
  4. Persistir el estado del grafo (puntos de control)
← Volver a AI Agents