LangGraph modélise un workflow comme un graphe dont les nœuds lisent et mettent à jour un état partagé. Cette approche convient lorsque la topologie dépasse la boucle standard d’un agent : branches, validations, reprises, sous-graphes ou intervention humaine.
Définir l’état
Commencez par un schéma minimal : messages, résultat intermédiaire et indicateurs nécessaires au routage. Évitez d’y placer des clients réseau ou des objets difficiles à sérialiser. Chaque nœud retourne uniquement les mises à jour dont il est responsable.
Construire les transitions
Ajoutez des nœuds aux noms métier puis des arêtes explicites. Utilisez une transition conditionnelle pour router selon une donnée calculée, pas selon un effet secondaire caché. Le graphe doit rendre visibles les chemins possibles et leurs conditions de terminaison.
Ajouter la persistance
Compilez avec un checkpointer et fournissez un thread_id. Les checkpoints permettent mémoire courte, reprise après incident, inspection humaine et voyage temporel. En production, remplacez la mémoire en processus par un backend persistant adapté.
Tester comme une machine à états
Testez chaque nœud isolément, chaque condition de routage et les reprises depuis un checkpoint. Ajoutez une limite d’itérations et une stratégie claire pour les états impossibles ou incomplets.
Checklist avant mise en production
- Valider les entrées, les sorties et les permissions des outils.
- Tester les erreurs du fournisseur, les délais d’attente et les limites de coût.
- Ajouter des traces sans enregistrer de secrets ni de données personnelles inutiles.
- Mesurer la qualité sur un jeu de cas représentatifs avant chaque évolution.
Questions fréquentes
LangGraph remplace-t-il create_agent ?
Non. create_agent couvre la boucle agentique standard et repose lui-même sur LangGraph. Utilisez directement LangGraph quand vous devez contrôler la topologie.
L’état est-il automatiquement persistant ?
Non. Il faut compiler avec un checkpointer et utiliser un identifiant de thread.