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:
- Planificar
- Buscar información
- Si la encuentra, redactar la respuesta; si no, buscar de nuevo
- Validar
- 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
- Por qué los grafos superan a las cadenas planas
- Nodos, aristas y estado
- Enrutamiento y ramificación condicionales
- Persistir el estado del grafo (puntos de control)