La personnalisation du state est une fonctionnalité puissante de LangGraph qui permet de créer des agents conversationnels plus flexibles, adaptables et intelligents. Dans cet article, nous allons découvrir comment ajouter des champs personnalisés à l'état, les mettre à jour dynamiquement et exploiter tout le potentiel de l'écosystème LangChain.
Pourquoi personnaliser l'état dans LangGraph ?
En ajoutant des champs personnalisés au state, vous pouvez :
stocker des données structurées (nom, date, étape du processus...)
partager des informations entre différents noeuds du graphe
permettre une meilleure persistance et introspection de l'état
Déclaration d'un state personnalisé
Voici un exemple de structure d'état personnalisé :
On ajoute ici deux champs personnalisés name et birthday à l'état. Ceux-ci pourront être lus ou modifiés par les différents noeuds du graphe.
Mise à jour de l'état dans un outil
LangGraph permet de mettre à jour l'état directement depuis un outil grâce à l'objet Command. Voici un exemple avec un outil de validation humaine :
Exécution du graphe avec un state enrichi
Lors de l'exécution du graphe, on peut prompt le chatbot pour lancer une recherche et déclencher l'intervention humaine :
Une fois l'information vérifiée, elle est injectée dans le state et peut être consultée à tout moment :
-> Lors de l'exécution du graphe, on peut aussi
streamer les événements pour avoir une réponse de l'agent en temps réel.
Mise à jour manuelle de l'état
LangGraph offre aussi la possibilité de modifier l'état manuellement :
Cette souplesse est particulièrement utile pour corriger l'état, injecter des données ou contrôler finement le workflow.
Cas d'usage : assistant avec vérification humaine
Ce tutoriel montre un exemple simple mais puissant : un assistant qui utilise un outil de recherche, récupère une date, puis sollicite une validation humaine avant de mettre à jour l'état.
Ce modèle peut être facilement adapté à des cas d'usage réels :
Code complet
Voici le code complet du graphe personnalisé (pensez bien à remplacer la clé Tavily dans le code) :
Conclusion
La personnalisation du state dans LangGraph est une fonctionnalité essentielle pour développer des agents adaptés aux besoins métiers. En combinant des champs personnalisés, des outils avec vérification humaine et une logique de graphe claire, vous pouvez construire des applications conversationnelles robustes, auditables et intelligentes.