Digital Spirit
Module 04Agents IABloc 2LangGraph & Agents complexes

Heure 06 / 20 · Heures 6–11

LangGraph : Orchestration stateful

Objectif — Comprendre LangGraph pour des agents avec loops et décisions complexes.

Théorie
15 min
Pratique
45 min

Objectif : Comprendre LangGraph pour des agents avec loops et décisions complexes.

Théorie (15 min) :

  • Lire : LangGraph Intro
  • LangGraph = Extension de LangChain pour les agents stateful (graphes d'états)
  • Concepts : Nodes (étapes), Edges (transitions), State (données partagées), Checkpoints

Pratique (45 min) :

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

class AgentState(TypedDict):
    messages: Annotated[list, operator.add]
    next_action: str

def research_node(state: AgentState):
    # L'agent cherche des informations
    return {"messages": [...], "next_action": "answer"}

def answer_node(state: AgentState):
    # L'agent formule la réponse finale
    return {"messages": [...], "next_action": END}

# Construire le graphe
workflow = StateGraph(AgentState)
workflow.add_node("research", research_node)
workflow.add_node("answer", answer_node)
workflow.add_edge("research", "answer")
workflow.set_entry_point("research")
app = workflow.compile()
  • Créer un graphe simple à 2 nodes : "research" → "answer"
  • Ajouter une conditionnelle : Si la recherche trouve des données → répondre, sinon → chercher encore
  • Visualiser le graphe avec app.get_graph().draw_png()

Checkpoint : Tu comprends l'architecture LangGraph.