LangGraph
LangGraph est un framework open source (MIT) d’orchestration bas-niveau pour construire, gérer et déployer des agents IA stateful et de longue durée, en modélisant les workflows comme des graphes orientés avec gestion d’état, persistance, et intervention humaine.
Là où LangChain fournit les briques (modèles, outils, prompts), LangGraph fournit le plan de l’édifice. Vous définissez des nœuds (fonctions, agents, points de décision), des arêtes (transitions, conditions), et un état partagé qui circule à travers le graphe. Chaque exécution peut être interrompue, inspectée, modifiée par un humain, puis reprise. C’est ce qui distingue un agent jouet d’un agent de production.
Avec 44 600+ stars sur GitHub, 12 millions+ de téléchargements mensuels sur PyPI, et une adoption par des entreprises comme Klarna, Replit, Uber, LinkedIn, Elastic et GitLab, LangGraph est devenu le standard de facto pour l’orchestration d’agents IA en production.
- Catégorie
- Framework d’orchestration d’agents IA (graphes d’état)
- Développeur
- LangChain Inc.
- Langages
- Python (langgraph), TypeScript (LangGraph.js)
- Version
- 1.10.1 (mars 2026, Python) / LangGraph.js avec StateSchema (janv. 2026)
- GitHub
- 44 600+ stars
- PyPI
- 12M+ téléchargements/mois
- Inspiration
- Pregel (Google), Apache Beam. Interface inspirée de NetworkX
- Licence
- MIT
- Utilisateurs notables
- Klarna, Replit, LinkedIn, Uber, Elastic, GitLab, Ally Financial
- Verdict
- Le framework d’orchestration d’agents le plus mature et flexible du marché. Incontournable pour les agents complexes en production
- URL
- langchain.com/langgraph
Pourquoi LangGraph existe
LangChain a été conçu initialement autour de « chaînes » linéaires (input → LLM → output). C’est suffisant pour un chatbot simple, mais pas pour un agent de production qui doit gérer des boucles de raisonnement, des branchements conditionnels, des appels d’outils en parallèle, des interruptions humaines, et une mémoire persistante entre sessions.
LangGraph résout ce problème en modélisant les workflows comme des graphes orientés. Les nœuds sont des fonctions (appels LLM, outils, logique métier). Les arêtes sont des transitions (conditionnelles ou non). L’état du graphe est un dictionnaire typé qui circule de nœud en nœud, lu et modifié à chaque étape. Ce modèle est inspiré de Pregel (le système de traitement de graphes de Google) et d’Apache Beam, deux références en traitement distribué.
L’équipe LangChain a été explicite sur le positionnement : « Utilisez LangChain pour démarrer rapidement avec des agents pré-construits. Utilisez LangGraph quand vous avez besoin de contrôle fin sur le flux d’exécution, de persistance, de mémoire longue durée, ou de human-in-the-loop. » En pratique, create_agent de LangChain 1.0 tourne sur le runtime de LangGraph.
Concepts fondamentaux
StateGraph
Le StateGraph est la structure centrale de LangGraph. Vous définissez un schéma d’état (TypedDict en Python, Zod/Standard Schema en TypeScript), puis vous ajoutez des nœuds et des arêtes. L’état est partagé entre tous les nœuds : chaque nœud peut lire les données des nœuds précédents et écrire ses propres résultats.
Une fois compilé, le graphe est immuable. Cette immutabilité garantit un comportement cohérent entre les exécutions et empêche les modifications runtime qui pourraient déstabiliser le workflow.
Nœuds et arêtes
Les nœuds sont des fonctions Python ou TypeScript qui reçoivent l’état courant et retournent un état modifié. Ils peuvent contenir n’importe quelle logique : appels LLM, requêtes API, accès base de données, calculs, transformations de données.
Les arêtes définissent les transitions entre nœuds. Les arêtes simples connectent toujours A à B. Les arêtes conditionnelles évaluent une fonction sur l’état courant et routent l’exécution vers différents nœuds selon le résultat. C’est ce qui permet les branchements dynamiques : un agent qui décide d’utiliser un outil ou de répondre directement, un workflow qui route un ticket vers un humain ou un traitement automatique, etc.
Exécution durable et checkpointing
C’est la fonctionnalité qui distingue LangGraph de la plupart des alternatives. Chaque état intermédiaire du graphe peut être sauvegardé (checkpointé) dans un stockage persistant. Si l’agent échoue au milieu d’une exécution, il reprend exactement là où il s’est arrêté, sans perte de contexte. Pour les agents de longue durée (qui peuvent tourner pendant des heures ou des jours), c’est indispensable.
Le time travel permet de revenir à n’importe quel état précédent du graphe, de modifier l’état, et de relancer l’exécution à partir de ce point. C’est un outil de débogage puissant : vous rejouez un scénario problématique, ajustez les données, et observez comment l’agent réagit différemment.
Human-in-the-loop
LangGraph intègre nativement le human-in-the-loop (HITL). Vous pouvez insérer des points d’interruption dans le graphe où l’exécution se met en pause et attend une intervention humaine. L’humain peut inspecter l’état courant, modifier des données, approuver ou rejeter une action, puis reprendre l’exécution. C’est essentiel pour les workflows à enjeux élevés : validation de transactions financières, approbation de contenus, revue de décisions critiques.
Mémoire
LangGraph offre deux types de mémoire :
Mémoire de travail (short-term) : l’état du graphe lui-même, qui accumule le contexte au fil de l’exécution (historique de conversation, résultats intermédiaires, actions passées). Cette mémoire persiste pendant toute la durée d’une exécution.
Mémoire persistante (long-term) : un stockage cross-session qui permet à l’agent de « se souvenir » d’informations entre des conversations distinctes. Un agent de support client peut se rappeler les préférences d’un utilisateur, ses interactions passées, et les solutions déjà tentées.
Patterns d’orchestration
Agent simple (ReAct)
Le pattern le plus courant : un agent qui raisonne, choisit un outil, observe le résultat, et répète jusqu’à avoir une réponse. C’est le pattern ReAct implémenté comme un graphe cyclique. LangChain’s create_agent génère ce pattern automatiquement.
Multi-agent
Plusieurs agents spécialisés collaborent sur une tâche. Un agent « routeur » distribue les sous-tâches, des agents « travailleurs » les exécutent, et un agent « synthétiseur » agrège les résultats. LangGraph gère la coordination, le passage d’état entre agents, et la gestion des dépendances.
Hiérarchique
Un agent superviseur délègue des tâches à des sous-agents, qui peuvent eux-mêmes déléguer à des sous-sous-agents. Chaque niveau a accès à un sous-ensemble de l’état global. C’est le pattern utilisé pour les systèmes de recherche avancée, la rédaction multi-étapes, ou l’analyse de documents complexes.
Exécution parallèle (scatter-gather)
Des tâches indépendantes s’exécutent en parallèle (scatter), leurs résultats sont fusionnés à un nœud de jointure (gather). Utile pour traiter des sections de documents simultanément, interroger plusieurs sources en parallèle, ou exécuter des validations indépendantes.
Nouveautés récentes
Streaming type-safe (v2)
Depuis mars 2026, LangGraph Python propose un mode version="v2" pour le streaming et l’invoke. En passant ce paramètre, stream() et astream() retournent des StreamPart unifiés avec des clés type, ns et data sur chaque chunk. Chaque mode a son propre TypedDict, importable depuis langgraph.types. C’est rétro-compatible : le mode v2 est opt-in, et GraphOutput supporte l’accès dict-style déprécié pour une migration progressive.
Invoke type-safe (v2)
invoke() et ainvoke() avec version="v2" retournent un objet GraphOutput avec les attributs .value et .interrupts. Les sorties en mode « values » sont automatiquement coercées vers votre modèle Pydantic ou dataclass déclaré.
StateSchema en JavaScript
Depuis janvier 2026, LangGraph.js supporte StateSchema, une manière propre et agnostique de définir l’état du graphe compatible avec Standard JSON Schema. Cela fonctionne avec Zod 4, Valibot, ArkType, et toute bibliothèque implémentant la spécification. Plus besoin de se lier à une bibliothèque de validation spécifique.
Time travel corrigé
La version v2 corrige le time travel avec interruptions et sous-graphes. Les replays ne réutilisent plus des valeurs RESUME périmées, et les sous-graphes restaurent correctement le checkpoint de l’état parent pour les états historiques.
Déploiement en production
LangSmith Deployment
LangSmith Deployment (anciennement LangGraph Cloud) est la plateforme managée pour déployer des agents LangGraph en production. Elle gère l’infrastructure, le scaling, la persistance, les threads conversationnels, et le checkpointing durable. Le plan Plus de LangSmith inclut 1 déploiement dev gratuit. Les déploiements production sont facturés à l’usage (agent runs + uptime).
Un « agent run » est une invocation complète d’un agent LangGraph. Les nœuds et sous-graphes au sein d’une seule exécution ne sont pas facturés séparément. Les appels à d’autres agents (via RemoteGraph ou le SDK LangGraph) sont facturés au déploiement hébergeant l’agent appelé.
LangSmith Studio
Studio est l’outil de prototypage visuel pour LangGraph. Vous visualisez le graphe, testez des exécutions, inspectez l’état à chaque nœud, et itérez rapidement. C’est disponible localement (pendant le développement) et dans LangSmith Cloud. Studio est particulièrement utile pour les agents multi-agents complexes où la visualisation du flux d’exécution est essentielle au débogage.
Déploiement autonome
LangGraph étant MIT, vous pouvez aussi le déployer sur votre propre infrastructure. Vous gérez le serveur, la persistance (Redis, PostgreSQL, SQLite pour les checkpoints), et le scaling. C’est l’option préférée des équipes avec des contraintes de souveraineté de données ou de conformité stricte.
LangGraph vs. alternatives
LangGraph vs. CrewAI
CrewAI modélise les agents avec des rôles, des objectifs et des backstories, puis les organise en « crews » qui collaborent sur des tâches. C’est plus intuitif et plus rapide pour les cas multi-agents classiques (équipe de recherche, pipeline de rédaction). Mais CrewAI est plus contraignant : les patterns d’orchestration custom sont difficiles voire impossibles. Plusieurs équipes rapportent atteindre les limites de CrewAI après 6 à 12 mois, nécessitant une réécriture vers LangGraph.
LangGraph offre un contrôle total sur le flux d’exécution, mais demande plus de code et une courbe d’apprentissage de 1 à 2 semaines avant d’être productif.
LangGraph vs. AutoGen / Microsoft Agent Framework
AutoGen a été fusionné avec Semantic Kernel dans le Microsoft Agent Framework (Release Candidate février 2026). Ce framework offre des graphes de workflows, le support A2A et MCP, le streaming, le checkpointing, et le human-in-the-loop, le tout intégré à Azure. C’est le choix naturel pour les entreprises dans l’écosystème Microsoft (.NET, Azure). LangGraph est plus flexible, plus riche en intégrations, et agnostique en termes de cloud provider.
LangGraph vs. OpenAI Agents SDK
Le SDK Agents d’OpenAI est simple et rapide pour des agents monomodèle (OpenAI uniquement). Mais il ne supporte pas nativement la persistance d’état, le time travel, ou les workflows multi-modèles. LangGraph est agnostique (tout modèle, tout provider) et offre toutes les fonctionnalités de production manquantes chez OpenAI.
| Critère | LangGraph | CrewAI | Microsoft Agent Framework | OpenAI Agents SDK |
|---|---|---|---|---|
| Architecture | Graphes d’état (DAG cyclique) | Agents à rôles + Crews | Graphes + A2A | Boucle agent simple |
| Flexibilité | Maximale (contrôle total) | Moyenne (patterns pré-définis) | Haute (Azure-centric) | Limitée (OpenAI only) |
| Persistance | Checkpointing natif | Basique | Oui | Non |
| Human-in-the-loop | Natif | Oui | Oui | Non natif |
| Multi-modèle | Oui (tout provider) | Oui | Multi (Azure-focused) | OpenAI uniquement |
| Maturité prod. | Très élevée (Uber, LinkedIn, Klarna) | Élevée | RC (fév. 2026) | Expérimental |
| GitHub Stars | 44 600+ | 24 600+ | ~18 000+ | ~15 000+ |
| Licence | MIT | MIT | MIT | MIT |
Cas d’usage en production
Agents de support client : Un agent reçoit un ticket, analyse le contenu (nœud LLM), recherche dans la base de connaissances (nœud RAG), propose une réponse, et la soumet à un agent humain pour validation (HITL). Si la réponse est rejetée, l’agent retourne au nœud d’analyse avec le feedback.
Pipelines de recherche avancée : Un agent superviseur distribue des sous-requêtes à des agents spécialisés (web, bases de données, documents internes) qui s’exécutent en parallèle. Les résultats sont agrégés, filtrés, et synthétisés en un rapport structuré. C’est le pattern derrière les systèmes de « Deep Research ».
Automatisation de processus métier : Des workflows de longue durée (onboarding client, traitement de commandes, analyse de conformité) qui nécessitent des étapes asynchrones, des validations humaines, et une reprise en cas d’échec. LangGraph gère la durabilité et la persistance d’état sur des jours ou des semaines.
Modération de contenu : Un nœud LLM évalue le contenu soumis, une arête conditionnelle route les cas ambigus vers un modérateur humain, et une boucle permet de renvoyer le contenu pour révision après les modifications.
Forces et faiblesses
| Forces | Faiblesses |
|---|---|
| Contrôle total sur le flux d’exécution (graphes orientés) | Courbe d’apprentissage de 1-2 semaines |
| Exécution durable avec checkpointing et time travel | Plus verbeux que CrewAI pour les cas simples |
| Human-in-the-loop natif | Historique de breaking changes entre versions majeures |
| Mémoire court-terme et long-terme intégrée | Débogage d’agents multi-nœuds complexe sans LangSmith |
| Streaming natif token par token | LangSmith Deployment payant pour la production |
| Python + TypeScript (même architecture) | Documentation dense (beaucoup de concepts à assimiler) |
| Utilisé en production par le Fortune 500 | Nécessite une bonne compréhension des graphes d’état |
Prise en main
Installation :
LangGraph peut être utilisé seul (sans LangChain) ou en combinaison avec LangChain pour les intégrations de modèles et d’outils. Pour l’observabilité, ajoutez LangSmith (optionnel mais recommandé) en configurant la variable d’environnement LANGSMITH_API_KEY.
Ressources d’apprentissage : LangChain Academy propose un cours gratuit dédié à LangGraph couvrant l’état, la mémoire, le human-in-the-loop, le streaming, et le déploiement. C’est le meilleur point d’entrée pour les développeurs qui découvrent le framework.
Verdict
LangGraph est le framework d’orchestration d’agents IA le plus mature et le plus flexible du marché. Son architecture en graphes d’état, combinée avec l’exécution durable, le checkpointing, le time travel, et le human-in-the-loop natif, en fait le choix par défaut pour tout agent IA qui doit fonctionner de manière fiable en production.
C’est plus complexe que CrewAI (qui est plus accessible pour les cas multi-agents classiques) et plus verbeux que les SDKs natifs des fournisseurs (OpenAI, Anthropic). Mais quand votre agent doit gérer des workflows conditionnels, des interruptions humaines, des tâches de longue durée, et une persistance d’état robuste, rien ne rivalise avec LangGraph.
Notre recommandation : utilisez create_agent de LangChain (qui tourne sur LangGraph) pour démarrer rapidement. Passez à LangGraph directement quand vous avez besoin de personnaliser le flux d’exécution au-delà des patterns pré-construits. Et investissez dans LangSmith pour l’observabilité si vous déployez en production.
Questions fréquentes sur LangGraph
LangGraph est-il gratuit ?
Oui, LangGraph est un framework open source sous licence MIT, entièrement gratuit. Vous pouvez l’utiliser sans LangChain et sans LangSmith. Le déploiement managé via LangSmith Deployment est payant (le plan Plus à 39 $/utilisateur/mois inclut 1 déploiement dev gratuit, les déploiements production sont facturés à l’usage). Vous pouvez aussi déployer LangGraph sur votre propre infrastructure sans payer de licence.
Quelle est la différence entre LangChain et LangGraph ?
LangChain est un framework de haut niveau pour construire des agents avec des abstractions pré-construites (modèles, outils, prompts, create_agent). LangGraph est un framework d’orchestration bas-niveau pour définir des graphes d’état complexes avec persistance, checkpointing, time travel, et human-in-the-loop. LangChain 1.0 tourne sur le runtime de LangGraph. En pratique, vous utilisez LangChain pour les cas simples (agents pré-construits) et LangGraph quand vous avez besoin de contrôle fin sur le flux d’exécution.
LangGraph est-il meilleur que CrewAI ?
Cela dépend de votre cas d’usage. CrewAI est plus simple et rapide pour les systèmes multi-agents avec rôles définis (chercheur, rédacteur, réviseur). LangGraph est plus flexible et puissant pour les workflows custom, les agents de longue durée, et les cas nécessitant du checkpointing et du human-in-the-loop. Si vos besoins dépassent les patterns pré-définis de CrewAI (ce qui arrive souvent après 6-12 mois), LangGraph est le chemin naturel de migration.
LangGraph fonctionne-t-il en TypeScript ?
Oui. LangGraph.js est la version TypeScript du framework, avec les mêmes fonctionnalités (graphes d’état, persistance, HITL, streaming). Depuis janvier 2026, LangGraph.js supporte StateSchema avec Standard JSON Schema, compatible Zod 4, Valibot, et ArkType. LangGraph.js est utilisé en production par LinkedIn, Uber, Klarna et GitLab, entre autres.
Peut-on utiliser LangGraph sans LangChain ?
Absolument. LangGraph est un framework autonome. Vous pouvez l’utiliser avec n’importe quel SDK de modèle (OpenAI, Anthropic, Google), n’importe quel outil, et n’importe quelle librairie Python ou TypeScript. LangChain facilite l’intégration grâce à ses 1 000+ connecteurs, mais ce n’est pas une dépendance obligatoire. De même, LangSmith (observabilité) est optionnel et fonctionne aussi avec des agents qui n’utilisent pas LangChain.