LangGraph è un framework open-source, rilasciato sotto licenza MIT e mantenuto da LangChain Inc., dedicato all'orchestrazione di agenti e workflow basati su modelli di linguaggio (LLM). A differenza di librerie che offrono agenti preconfezionati con architettura chiusa, LangGraph fornisce primitive di basso livello per modellare l'esecuzione di un agente come un grafo diretto con stato: i nodi rappresentano passi computazionali, mentre gli archi definiscono il flusso di controllo, inclusi rami condizionali e cicli.
Il framework è distribuito principalmente in Python, con un SDK anche per JavaScript/TypeScript, e può essere utilizzato insieme a LangChain oppure in modo indipendente. La sua ambizione è fornire un runtime affidabile per workflow agentici di lunga durata, in cui è necessario mantenere il contesto, gestire fallimenti, sospendere l'esecuzione per intervento umano e riprendere da un punto preciso.
Il problema che risolve
Costruire agenti LLM che eseguano compiti non banali richiede più di una singola chiamata a un modello. L'agente deve spesso: ragionare in più passaggi, invocare strumenti esterni, valutare il risultato, tornare sui propri passi se il risultato è insufficiente e coordinare più agenti specializzati. I framework che espongono solo catene lineari (DAG) gestiscono bene flussi predefiniti, ma falliscono quando il comportamento deve essere ciclico, condizionale o reattivo allo stato interno.
LangGraph risolve questo problema introducendo un modello esplicito di macchina a stati finiti. Lo sviluppatore definisce lo schema dello stato, i nodi che lo leggono e lo aggiornano, e gli archi che determinano il prossimo nodo in base allo stato corrente. Questa esplicitatezza rende il comportamento dell'agente più controllabile, debuggabile e adattabile a regole aziendali specifiche.
Hai letto fino a qui
🤔 Hai domande su questo argomento?
Posso aiutarti a capire come applicarlo al tuo business. Scegli come vuoi parlarmi.
Il cuore di LangGraph è la classe StateGraph, parametrizzata da uno schema di stato. Lo schema è tipicamente un TypedDict Python (o un equivalente in TypeScript) in cui ogni campo può essere dotato di un reducer, cioè una funzione che decide come fondere aggiornamenti concorrenti. Per esempio, una lista di messaggi può essere estesa invece che sovrascritta.
I tre elementi costitutivi sono:
State: struttura dati condivisa che rappresenta lo snapshot corrente del workflow. Include messaggi, risultati intermedi, metadati e qualsiasi altra informazione necessaria ai nodi.
Nodes: funzioni eseguibili che ricevono lo stato, effettuano un'operazione (chiamata a LLM, invocazione di tool, calcolo deterministico) e restituiscono un aggiornamento dello stato.
Edges: regole di transizione. Possono essere normali (sempre da un nodo a un altro), condizionali (scelgono il prossimo nodo in base allo stato) o punti di ingresso/uscita (START, END).
Una volta definiti nodi e archi, il grafo viene compilato in un oggetto eseguibile che espone metodi come .invoke() e .stream(). L'esecuzione avviene per super-step: i nodi che ricevono messaggi nello stesso step possono essere eseguiti in parallelo, mentre transizioni sequenziali generano step successivi. I cicli sono nativi: un arco condizionale può riportare il flusso a un nodo precedente per iterare o riprovare.
Caratteristiche principali
Persistenza e durable execution: LangGraph supporta il checkpointing dello stato. Se un workflow viene interrotto per un errore, un riavvio del servizio o una sospensione intenzionale, può riprendere dall'ultimo checkpoint senza ricominciare da capo. Questo è essenziale per workflow che durano minuti, ore o giorni.
Human-in-the-loop: è possibile marcare punti del grafo in cui l'esecuzione si interrompe per attendere input, approvazione o modifica dello stato da parte di un operatore umano. Una volta ricevuto l'input, il grafo riprende dal punto di interruzione.
Memoria a breve e lungo termine: lo stato del grafo funge da memoria di lavoro per il ragionamento in corso, mentre integrazioni dedicate permettono di mantenere informazioni tra sessioni diverse.
Streaming: il framework è progettato per emettere token, eventi di nodo e aggiornamenti di stato in tempo reale, migliorando l'esperienza utente nelle interfacce conversazionali.
Subgraph e composizione: un grafo può contenere sottografi nidificati, facilitando la creazione di componenti riutilizzabili e l'orchestrazione gerarchica di più agenti.
Osservabilità: l'integrazione con LangSmith, la piattaforma di tracciamento di LangChain, permette di visualizzare l'esecuzione passo dopo passo, ispezionare lo stato in ogni nodo e misurare latenza e utilizzo di token.
Deployment flessibile: il codice open-source può essere eseguito in proprio su qualsiasi infrastruttura. Per chi desidera un servizio gestito, LangChain offre una piattaforma di hosting (nota come LangGraph Platform e successivamente integrata nell'offerta LangSmith Deployment) con opzioni cloud, ibride e self-hosted a livello enterprise.
Casi d'uso concreti
Agenti conversazionali complessi: assistenti che devono ricordare il contesto di più turni, confermare informazioni ambigue e richiedere approvazioni prima di azioni sensibili.
RAG multi-step: sistemi di retrieval-augmented generation in cui la query viene analizzata, riformulata, sottoposta a ricerche multiple e valutata prima di generare la risposta finale.
Ricerca e reportistica: workflow di deep research in cui un agente pianifica ricerche, raccoglie fonti, estrae informazioni, le sintetizza e itera fino a raggiungere una copertura sufficiente.
Orchestrazione multi-agent: sistemi in cui un supervisore smista compiti a agenti specializzati (per esempio ricerca, calcolo, scrittura, validazione), raccoglie i risultati e decide se approvarli o richiedere revisioni.
Automazione aziendale: workflow che integrano email, calendari, database e API interne, con punti di controllo umani e audit trail deterministici.
Punti di forza e limiti
I punti di forza di LangGraph risiedono nel controllo esplicito del flusso, nella gestione nativa dello stato persistente, nella capacità di ciclare e riprovare, nel supporto all'intervento umano e nell'integrazione con un ecosistema consolidato di modelli, tool e osservabilità. È particolarmente adatto a team ingegnerizzati che devono costruire agenti su misura per scenari aziendali complessi.
I limiti principali sono la curva di apprendimento e la verbosità del codice. Modellare ogni transizione di stato richiede più lavoro iniziale rispetto a framework ad alto livello che nascondono l'orchestrazione dietro API dichiarative. Inoltre, alcune funzionalità avanzate di deployment e osservabilità sono legate all'ecosistema LangChain: sebbene il framework open-source sia utilizzabile autonomamente, sfruttarne appieno la produttività in produzione spinge verso l'adozione di LangSmith o di una piattaforma gestita.
Alternative e contesto
LangGraph si colloca in un panorama di framework per agenti LLM in rapida evoluzione.
LangChain è la base su cui LangGraph è costruito e con cui condivide modelli e tool. LangChain eccelle in catene lineari e integrazioni; LangGraph aggiunge il controllo ciclico e lo stato.
CrewAI propone un approccio basato su ruoli: si definiscono agenti con obiettivi e task, e il framework coordina il gruppo. È più rapido da prototipare, ma offre minore controllo esplicito sul flusso.
AutoGen / AG2, originato da Microsoft Research, si concentra su conversazioni multi-agent asincrone e può essere preferibile per scenari di ricerca e collaborazione.
LlamaIndex agents è la scelta naturale quando il fulcro dell'applicazione è la connessione a dati strutturati e non strutturati per RAG avanzati.
Semantic Kernel di Microsoft è orientato all'integrazione enterprise, con supporto per C#, Python e Java, e si integra con l'ecosistema Azure e Microsoft 365.
Pydantic AI e OpenAI Agents SDK rappresentano alternative più leggere, rispettivamente con enfasi sulla type safety Python e sulla semplicità di uso con i modelli OpenAI.
La scelta dipende dal livello di controllo richiesto, dalle competenze del team e dal grado di integrazione con l'infrastruttura esistente.
In sintesi
LangGraph è un framework di orchestrazione agentica che modella workflow LLM come grafi diretti ciclici con stato persistente. Fornisce primitive per checkpointing, human-in-the-loop, streaming, memoria e composizione modulare, ed è distribuito con licenza MIT. È progettato per team che devono costruire agenti affidabili e controllabili in produzione, anche se questo richiede un investimento iniziale maggiore rispetto a soluzioni ad alto livello. La flessibilità offerta dal modello a grafo lo rende uno strumento rilevante nell'ecosistema degli agenti LLM.