LangChain et LangGraph
IA / LLM 🟡 MidDéfinition
LangChain fournit des abstractions (modèles, prompts, splitters, retrievers) en Python et JavaScript. LangGraph (@langchain/langgraph) est le moteur d'orchestration bas niveau : un graphe d'états avec nœuds et arêtes, persistance par checkpointer, reprise après panne et pauses pour intervention humaine (interrupt / Command résume). Il mêle étapes déterministes codées et étapes pilotées par le LLM.
Analogie
Un organigramme de processus où certaines cases sont remplies par un humain, d'autres par un programme, d'autres par le modèle.
Exemple de code
import { StateGraph, StateSchema, MemorySaver, START, END } from '@langchain/langgraph';
import { z } from 'zod';
const State = new StateSchema({ ticket: z.string(), category: z.string().optional(), reply: z.string().optional() });
const graph = new StateGraph(State)
.addNode('classify', async s => ({ category: await classify(s.ticket) }))
.addNode('draft', async s => ({ reply: await draft(s.ticket, s.category!) }))
.addEdge(START, 'classify')
.addConditionalEdges('classify', s => s.category === 'spam' ? END : 'draft')
.addEdge('draft', END)
.compile({ checkpointer: new MemorySaver() }); // état persistant par thread
const out = await graph.invoke({ ticket }, { configurable: { thread_id: 'ticket-42' } });
Cas d'usage
Workflows multi-étapes avec branches, reprise et validation humaine ; agents longs à état.
Anti-pattern
Sortir LangGraph pour un simple appel prompt→réponse : un fetch suffit.
Termes liés
Fiche mise à jour le 2026-09-27