Pourquoi LangGraph plutôt que LangChain simple
LangChain est excellent pour les pipelines linéaires : entrée, traitement, sortie. Mais un vrai agent a besoin de boucles, de conditions, de mémoire persistante et de points de contrôle humain. LangGraph modélise tout ça comme un graphe orienté. C'est plus de code au départ, mais infiniment plus puissant et maintenable.
Installation et configuration
Commencez par installer les dépendances : pip install langgraph langchain langchain-openai. Configurez votre clé API OpenAI ou Anthropic dans les variables d'environnement.
Définir l'état de l'agent
L'état est le coeur de LangGraph. C'est le dictionnaire partagé entre tous les noeuds du graphe. Définissez-le avec TypedDict pour avoir une auto-complétion et une validation. Pour notre agent d'analyse : messages (historique), données_analysées, rapport_final, étape_courante.
Créer les noeuds
Chaque noeud est une fonction Python qui prend l'état en entrée et retourne un dict avec les clés à mettre à jour. Noeud 1 : collecte_données. Noeud 2 : analyse. Noeud 3 : rédaction_rapport. Noeud 4 : validation_humaine (optionnel mais recommandé).
Best practice : chaque noeud doit faire une seule chose. Un noeud qui collecte ET analyse ET rédige est un anti-pattern. La séparation des responsabilités est la clé de la maintenabilité.
Connecter les noeuds : le graphe
On crée le graphe avec StateGraph(MonEtat), on ajoute les noeuds avec add_node(), puis on définit les arêtes avec add_edge() pour les transitions inconditionnelles et add_conditional_edges() pour les décisions dynamiques.
Ajouter la mémoire
Pour un agent avec mémoire persistante entre les sessions, LangGraph supporte nativement PostgreSQL et SQLite via des checkpointers. Une seule ligne de configuration, et votre agent se souvient des conversations précédentes.
Le point de contrôle humain
Ajoutez interrupt_before=['validation_humaine'] lors de la compilation du graphe. L'agent s'arrête avant ce noeud, attend votre approbation, puis continue. Indispensable pour les agents qui prennent des actions irréversibles.
Tester et monitorer
Utilisez LangSmith pour tracer chaque exécution : quels noeuds ont été appelés, dans quel ordre, avec quelles entrées et sorties. En production, c'est indispensable pour débugger et améliorer votre agent.
Après ce premier agent viennent la mémoire, les outils, la reprise sur erreur et le déploiement : c’est la suite du parcours dans le Bootcamp AI Engineering.