🤖 Guida completa · 2026

Agenti LangChain nel 2026: ReAct, LangGraph e Production Patterns

La guida completa 2026 agli agenti LangChain: AgentExecutor è deprecata, LangGraph è lo standard. Scopri ReAct, architetture multi-agente, checkpoint, streaming e modelli di debug di produzione.

📅 Aggiornato: aprile 2026⏱ Lettura di 14 minuti✍️ Editoriale di EasyClaw
  • X(Twitter) icon
  • Facebook icon
  • LinkedIn icon
  • Copy link icon

Cosa sono gli agenti LangChain? (La risposta per il 2026 è più sfumata di quanto pensi)

Se hai cercato su Google "agenti LangChain" e sei arrivato a tutorial che utilizzano AgentExecutor, stai leggendo contenuti obsoleti. LangChain ha deprecato tale API. Nel 2026, LangChain agents means LangGraph-based agents - e la differenza è importante se stai costruendo qualcosa che va oltre la demo di un giocattolo.

Un agente LangChain è un sistema in cui un LLM acts as a reasoning engine — decide quali strumenti chiamare, in quale ordine e quando fermarsi. Il ciclo principale è ingannevolmente semplice: osservare l'input → ragionare su cosa fare → agire (chiamare uno strumento o restituire un output) → osservare il risultato → ripetere.

Cambio chiave nel 2026

Il vecchio AgentExecutor era una scatola nera. LangGraph lo sostituisce con un grafico esplicito con stato che controlli: nodi, bordi, routing condizionale e checkpoint sono tutti cittadini di prima classe.

Ciò che lo rende potente – e complicato – è che LLM non sta solo generando testo. È prendere decisioni che hanno effetti collaterali reali: interrogare database, chiamare API, scrivere file, navigare sul web. Il modello dell'agente è ciò che separa un chatbot da un sistema autonomo.

La risposta del 2026 a "cos'è un agente LangChain" è quindi: una macchina a stati compilata LangGraph in cui uno o più nodi LLM guidano il flusso di controllo, l'invio dello strumento è esplicito e lo stato viene mantenuto attraverso i passaggi tramite un checkpointer. Questo è il modello mentale di cui hai bisogno prima di scrivere una singola riga di codice.

AgentExecutor vs. LangGraph: cosa è cambiato e perché è importante

Per comprendere il percorso di migrazione è necessario comprendere il motivo per cui AgentExecutor è stato ritirato. Non era arbitrario: colpiva i limiti architettonici fondamentali quando gli sviluppatori cercavano di costruire sistemi di produzione.

Capacità AgentExecutor (obsoleto) LangGraph (attuale)
State management Implicit, opaque Explicit typed schema
Control flow Fixed loop, no branching Conditional edges, cycles
Persistence / checkpointing None Built-in checkpointers (SQLite, Postgres, Redis)
Umano nel circuito Hacky workarounds First-class interrupt/resume
Supporto multiagente Manual orchestration Native subgraph composition
Streaming Token-level only Node-level + token-level
Debugging Printf-level LangSmith trace + graph visualizer

La limitazione più dolorosa di AgentExecutor era l'impossibilità di mettere in pausa a metà corsa e riprendere in seguito. Qualsiasi flusso di lavoro reale - si pensi a "redigere un rapporto, attendere l'approvazione umana, quindi pubblicare" - richiede uno stato persistente oltre i limiti temporali. Il checkpointer di LangGraph risolve questo problema in modo nativo.

Nota sulla migrazione

Se disponi di codice AgentExecutor esistente, LangChain fornisce uno spessore di compatibilità, ma è un trampolino di lancio, non una destinazione. Pianificare la riscrittura del livello di orchestrazione utilizzando StateGraph.

Il modello ReAct: ragionare + agire in un ciclo

ReAct (Reason + Act) è il modello di suggerimento fondamentale dietro la maggior parte degli agenti LangChain. Indica al LLM di alternare due modalità: Thought (ragionamento interno su cosa fare dopo) e Azione (chiamando uno strumento specifico con argomenti specifici).

In pratica il ciclo si presenta così:

  1. Thought: Il LLM ragiona sulla richiesta dell'utente e sugli strumenti disponibili.
  2. Action: LLM genera una chiamata di strumento strutturato (nome + argomenti).
  3. Observation: Lo strumento esegue e restituisce un risultato, aggiunto al contesto.
  4. Thought again: Il LLM ragiona sull'osservazione.
  5. Risposta finale: Quando LLM determina di disporre di informazioni sufficienti, restituisce la risposta finale.

In LangGraph, ciascuno di questi passaggi è a nodo in un grafico. Il bordo condizionale dopo la verifica del nodo LLM: "il modello ha chiamato uno strumento o ha prodotto una risposta finale?" - e percorsi di conseguenza. Ciò rende il ciclo ReAct esplicito e ispezionabile anziché implicito all'interno di un esecutore black-box.

Perché ReAct domina ancora nel 2026

Nonostante i modelli più recenti (Plan-and-Execute, Reflexion, LATS), ReAct rimane l'impostazione predefinita perché è il più efficiente in termini di token per le attività con agente singolo e il più semplice da eseguire il debug. Inizia con ReAct; passa a schemi più complessi solo quando raggiungi i suoi limiti.

I moderni LLM (GPT-4o, Claude 3.7, Gemini 2.5) gestiscono ReAct in modo nativo attraverso le loro API di chiamata di funzioni/utilizzo di strumenti. Non è più necessario formattare manualmente le stringhe "Thought/Action/Observation": la funzionalità di utilizzo degli strumenti del modello gestisce questa operazione a livello API. LangGraph completa tutto questo in modo pulito in modo che i tuoi nodi rimangano concentrati sulla logica aziendale.

Building a LangGraph Agent Step by Step

Ecco il modello di agente LangGraph minimo in Python. Ogni agente produttivo è una variazione di questo scheletro.

1. Define State

Lo Stato è l’unica fonte di verità che scorre attraverso ogni nodo. Utilizza TypedDict o un modello Pydantic:

from typing import Annotated, Sequence
from langchain_core.messages import BaseMessage
from langgraph.graph.message import add_messages
from typing_extensions import TypedDict

class AgentState(TypedDict):
    messages: Annotated[Sequence[BaseMessage], add_messages]
    # add any custom fields your agent needs
    context: str
    iteration_count: int

2. Define Tools

Gli strumenti sono semplici funzioni Python decorate con @tool. La docstring diventa la descrizione dello strumento che LLM vede:

from langchain_core.tools import tool

@tool
def search_web(query: str) -> str:
    """Search the web for current information about a topic."""
    # your search implementation here
    return results

@tool
def write_file(filename: str, content: str) -> str:
    """Write content to a file on disk."""
    with open(filename, 'w') as f:
        f.write(content)
    return f"Written {len(content)} chars to {filename}"

tools = [search_web, write_file]

3. Build the Graph

from langgraph.graph import StateGraph, END
from langgraph.prebuilt import ToolNode
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(model="gpt-4o").bind_tools(tools)

def agent_node(state: AgentState):
    response = llm.invoke(state["messages"])
    return {"messages": [response]}

def should_continue(state: AgentState):
    last_message = state["messages"][-1]
    if last_message.tool_calls:
        return "tools"
    return END

graph = StateGraph(AgentState)
graph.add_node("agent", agent_node)
graph.add_node("tools", ToolNode(tools))
graph.set_entry_point("agent")
graph.add_conditional_edges("agent", should_continue)
graph.add_edge("tools", "agent")

app = graph.compile()

4. Add a Checkpointer per persistenza

from langgraph.checkpoint.sqlite import SqliteSaver

checkpointer = SqliteSaver.from_conn_string("./agent_memory.db")
app = graph.compile(checkpointer=checkpointer)

# Now every run is persisted and resumable
config = {"configurable": {"thread_id": "user-session-123"}}
result = app.invoke({"messages": [("human", "Research LangGraph and write a summary")]}, config)

Suggerimento per la produzione: ID thread

thread_id nella configurazione è la chiave di sessione. Utilizza ID utente, ID conversazione o ID lavoro: tutto ciò che ti consente di riprendere lo stato esatto di un'esecuzione precedente. Questo è il fondamento dei flussi di lavoro degli agenti multi-turno.

LangGraph in JavaScript / TypeScript: parità di funzionalità completa

A partire dal 2026, @langchain/langgraph ha la piena parità di funzionalità con Python SDK. Se stai creando backend Node.js, azioni server Next.js o percorsi API Nuxt, sei completamente supportato.

import { StateGraph, END } from "@langchain/langgraph";
import { ChatOpenAI } from "@langchain/openai";
import { tool } from "@langchain/core/tools";
import { z } from "zod";

// Define a tool with Zod schema
const searchWeb = tool(
  async ({ query }) => {
    const results = await yourSearchFunction(query);
    return results;
  },
  {
    name: "search_web",
    description: "Search the web for current information",
    schema: z.object({ query: z.string() }),
  }
);

// State type
interface AgentState {
  messages: BaseMessage[];
}

const llm = new ChatOpenAI({ model: "gpt-4o" }).bindTools([searchWeb]);

// Build graph — identical pattern to Python
const graph = new StateGraph<AgentState>({ channels: messagesStateReducer })
  .addNode("agent", async (state) => ({
    messages: [await llm.invoke(state.messages)],
  }))
  .addNode("tools", new ToolNode([searchWeb]))
  .addEdge("__start__", "agent")
  .addConditionalEdges("agent", shouldContinue)
  .addEdge("tools", "agent");

const app = graph.compile();

L'SDK JS/TS supporta gli stessi checkpointer (in memoria per lo sviluppo, PostgreSQL per la produzione), la stessa API di streaming (streamEvents) e la stessa integrazione di traccia LangSmith. Il modello mentale si trasferisce direttamente tra le lingue.

Architetture multi-agente: orchestratori e sottografi

I sistemi ad agente singolo raggiungono rapidamente i limiti: le finestre di contesto si traboccano, la specializzazione ne risente e le attività complesse richiedono coordinamento. Nel 2026, le distribuzioni di produzione LangGraph utilizzano quasi sempre modelli multi-agente.

I tre modelli fondamentali

Supervisore

Un LLM dell'orchestratore decide quale agente specializzato invocare successivamente. Buono per compiti con chiari confini di ruolo (ricercatore, scrittore, critico).

Sciame

Gli agenti si scambiano direttamente i compiti in base al contesto dell'attività. Nessun coordinatore centrale. Ottimo per flussi di lavoro dinamici e imprevedibili.

Gerarchico

Sottografi nidificati in cui i grafici principali delegano intere attività secondarie ai grafici secondari. Ideale per componenti di agenti modulari e riutilizzabili.

LangGraph implementa sistemi multi-agente attraverso composizione del sottografo. Ogni agente specializzato è un grafico compilato che viene incorporato come nodo nel grafico dell'orchestratore padre. Lo stato può fluire tra i livelli e ogni sottografo può avere il proprio checkpoint e la propria memoria.

Quando utilizzare Multi-Agent

Regola empirica: se la tua richiesta per un singolo agente supera i ~ 4.000 token del contesto di sistema o se disponi di più di ~ 6 strumenti distinti, valuta la possibilità di suddividerli in agenti specializzati. Su quella scala, il sovraccarico di coordinamento vale la pena.

Production Patterns: quali demo di giocattoli non ti mostrano

Far funzionare un agente LangGraph in un notebook Jupyter è una cosa. Gestirlo in modo affidabile su larga scala è un altro. Ecco i modelli che separano il prototipo dalla produzione.

Error Handling and Retry Logic

I guasti degli strumenti sono inevitabili: limiti di velocità, timeout di rete, output non validi. LangGraph offre due leve: try/catch a livello di nodo che restituisce un messaggio di errore a LLM (permettendogli di eseguire il ripristino senza problemi) e policy di ripetizione dei tentativi a livello di grafico sui bordi.

Iteration Limits

Imposta sempre recursion_limit durante la compilazione. Senza di esso, un LLM confuso può ripetersi indefinitamente e bruciare il budget API. Un valore predefinito ragionevole è 25 iterazioni per la maggior parte delle attività.

app = graph.compile(checkpointer=checkpointer)
# Invoke with recursion limit
result = app.invoke(
    {"messages": [("human", query)]},
    config={"recursion_limit": 25, "configurable": {"thread_id": thread_id}}
)

Interruzioni Human-in-the-Loop

Le opzioni di compilazione interrupt_before e interrupt_after di LangGraph ti consentono di sospendere l'esecuzione su nodi specifici, mostrare lo stato corrente a un essere umano, raccogliere input e riprendere. Ciò è indispensabile per i flussi di lavoro di approvazione, i controlli di revisione dei contenuti e le chiamate a strumenti ad alto rischio.

Streaming per UX in tempo reale

Per le applicazioni rivolte agli utenti, lo streaming non è negoziabile. astream_events di LangGraph fornisce eventi granulari: quale nodo è in esecuzione, quale strumento è stato chiamato e output LLM token per token. Collegalo a Server-Sent Events (SSE) o WebSocket per progressi in tempo reale nella tua interfaccia utente.

Observability with LangSmith

Imposta LANGCHAIN_TRACING_V2=true e ogni esecuzione dell'agente ottiene una traccia completa: quali nodi sono stati attivati, cosa ha visto LLM, cosa ha restituito ciascuno strumento, latenza totale e costi dei token. In questo modo è possibile eseguire il debug del messaggio "perché ha chiamato lo strumento sbagliato?" classe di bug di produzione - non istruzioni di stampa.

Errori comuni di produzione

  • Nessun limite di ricorsione (loop infiniti)
  • Nessun checkpoint in produzione (stato perso al riavvio)
  • Strumenti che lanciano invece di restituire stringhe di errore
  • Descrizioni degli strumenti eccessivamente vaghe (LLM sceglie lo strumento sbagliato)
  • Nessuna limitazione della velocità sulle chiamate agli strumenti

Lista di controllo della produzione

  • Imposta ricorsione_limit (25–50)
  • Checkpointer di Postgres per la persistenza
  • Gli strumenti restituiscono stringhe in caso di errore
  • Docstring di strumenti specifici e ricchi di esempi
  • Tracciamento LangSmith abilitato

Real-World LangChain Agent Use Cases in 2026

I modelli sopra indicati sbloccano un'ampia gamma di applicazioni di produzione. Ecco le categorie in cui gli agenti LangGraph offrono oggi valore reale.

🔍Automazione della ricerca

Agenti che effettuano ricerche sul Web, leggono documenti, sintetizzano risultati e producono report strutturati, sostituendo ore di ricerca manuale per analisti e team di contenuti.

💻 Pipeline di generazione del codice

Agenti in più fasi che scrivono codice, eseguono test, osservano errori, correggono bug ed eseguono iterazioni, con controlli umani prima della fusione. GitHub Copilot Workspace si basa su questo modello.

📊 Agenti di analisi dei dati

Agenti con accesso allo strumento SQL che traducono le domande in linguaggio naturale in query, le eseguono, interpretano i risultati e forniscono informazioni dettagliate, senza toccare il team BI.

📝 Produzione di contenuti

Ricerca → struttura → bozza → ottimizzazione SEO → pubblicazione pipeline. Sistemi multi-agente in cui ogni fase è un nodo specializzato, con l'approvazione umana ai punti di controllo chiave.

🎧 Automazione dell'assistenza clienti

Agenti in grado di cercare ordini, elaborare rimborsi, aggiornare ticket e passare agli utenti umani, mantenendo al contempo il contesto completo della conversazione tra le sessioni tramite checkpoint.

⚙️ DevOps e agenti Ops

Agenti di monitoraggio che rilevano anomalie, diagnosticano le cause principali interrogando log e parametri e riparano automaticamente o avvisano i reperibili con un report diagnostico completo.

Perché EasyClaw è il modo migliore per eseguire gli agenti LangGraph

Comprendere LangGraph dal punto di vista architettonico è una cosa. L'esecuzione affidabile di una pipeline di produzione di contenuti multi-agente, con LLM locali, strumenti personalizzati, output di streaming e stato persistente, è il punto in cui la maggior parte dei team rimane bloccata. EasyClaw risolve l'intero stack.

  • Desktop-native, no cloud lock-in. EasyClaw esegue i tuoi agenti LangGraph localmente. I tuoi dati, i tuoi modelli, la tua infrastruttura: nessuna fuga di chiavi API su piattaforme di terze parti.
  • Built-in checkpointing and session memory. Ogni esecuzione dell'agente viene mantenuta. Riprendi qualsiasi lavoro, esamina qualsiasi istantanea dello stato, riproduci qualsiasi ramo, senza creare un livello di persistenza personalizzato.
  • Real-time streaming UI. Guarda il tuo agente pensare, agire e ripetere in tempo reale. I progressi a livello di nodo, i risultati degli strumenti e il ragionamento LLM sono tutti emersi nel feed degli eventi live di EasyClaw.
  • Orchestrazione multi-agente pronta all'uso. Il grafico dell'agente di EasyClaw supporta modelli supervisore, sciame e gerarchici con instradamento visivo, senza cablaggio manuale del sottografo.
  • SEO-native content agents. Agenti predefiniti per la ricerca di parole chiave, la stesura di contenuti, l'inserimento di schemi e la pubblicazione, basati sugli stessi modelli LangGraph trattati in questa guida.
Prova EasyClaw gratuitamente →

Come scegliere l'architettura dell'agente giusta per il tuo caso d'uso

Non tutti i problemi necessitano di un grafico multi-agente complesso. Ecco un quadro decisionale basato su ciò che stai effettivamente cercando di costruire.

La tua situazione Modello consigliato Motivo chiave
Da 1 a 5 strumenti, tipo di attività singola Single ReAct agent Simplest, lowest latency
Necessita di controlli di approvazione o di revisione umana ReAct + interrupt_before Human-in-the-loop senza riprogettazione
6+ strumenti o 2+ ruoli distinti Supervisor multi-agent Specialization improves tool accuracy
Unpredictable task routing Swarm / handoffs Dynamic routing without a central bottleneck
Reusable agent modules across projects Hierarchical subgraphs Isolamento Composability and
Long-running background jobs Any pattern + Postgres checkpointer State survives restarts and crashes

Un’euristica pratica: inizia con il modello più semplice che potrebbe funzionare, strumentalo con LangSmith, quindi identifica il collo di bottiglia. Gli ingegneri che progettano in anticipo tenendo conto della complessità quasi sempre sovraccaricano il loro primo sistema ad agente. I modelli in LangGraph facilitano il passaggio ad architetture più complesse man mano che i requisiti diventano chiari.

Frequently Asked Questions

D: LangChain è ancora rilevante nel 2026 o qualcosa lo ha sostituito?

R: LangChain è molto vivo, ma si è evoluto in modo significativo. Il valore fondamentale nel 2026 è LangGraph per l’orchestrazione degli agenti e LangSmith per l’osservabilità, non le astrazioni a catena dell’era del 2023. La libreria di integrazioni (langchain-community) rimane utile per connettersi a decine di provider LLM e archivi vettoriali. Progetti come CrewAI e AutoGen offrono alternative, ma LangGraph ha il maggior numero di implementazioni di produzione e la migliore toolchain di osservabilità.

D: Devo comprendere i grafici/le macchine a stati per utilizzare LangGraph?

R: Hai bisogno del modello mentale, ma non della teoria informatica approfondita. Se riesci a pensare al flusso di lavoro del tuo agente come a "scatole collegate da frecce, in cui ogni casella fa qualcosa e ogni freccia decide dove andare dopo", hai abbastanza. L'API LangGraph si associa direttamente a quel modello mentale. La maggior parte degli sviluppatori lo impara in poche ore seguendo i tutorial ufficiali.

D: In che modo gli agenti LangGraph gestiscono attività di lunga durata che durano ore o giorni?

R: È qui che brilla il checkpointer di LangGraph. Ogni passaggio salva lo stato in un archivio durevole (SQLite, Postgres, Redis). Se il processo si arresta in modo anomalo, si riavvia o metti deliberatamente in pausa per la revisione umana, l'agente riprende esattamente da dove si era interrotto utilizzando thread_id. Questa è l'architettura alla base di qualsiasi flusso di lavoro agente che sopravvive a una singola richiesta HTTP.

D: Qual è il miglior LLM da utilizzare con gli agenti LangGraph nel 2026?

R: Per gli agenti di produzione con utilizzo di strumenti complessi, GPT-4o, Claude 3.7 Sonnet ed Gemini 2.5 Pro sono quelli con le migliori prestazioni. Per carichi di lavoro sensibili alla latenza o ai costi, GPT-4o-mini e Claude 3.5 Haiku raggiungono un buon equilibrio. Per distribuzioni completamente locali/private, Llama 3.3 70B e Qwen 2.5 72B gestiscono l'utilizzo degli strumenti in modo affidabile se eseguiti su hardware sufficiente. Il modello migliore è quello più economico che sceglie in modo affidabile lo strumento giusto: profila il tuo agente con LangSmith prima di impegnarti in un livello di modello.

D: In che modo LangGraph è diverso da Temporal o Prefect per l'orchestrazione del flusso di lavoro?

R: Temporal e Prefect sono motori di flusso di lavoro generici in cui Voi scrivere esplicitamente il flusso di controllo. LangGraph è diverso: il LLM guida le decisioni sul flusso di controllo in modo dinamico in fase di esecuzione. LangGraph è per flussi di lavoro in cui il passaggio successivo non può essere completamente noto in anticipo: dipende da quali sono i motivi LLM migliori dato lo stato attuale. Per flussi di lavoro deterministici e completamente prespecificati, Temporale/Prefetto sono più appropriati. In pratica, molti sistemi di produzione utilizzano entrambi: LangGraph per il livello decisionale dell'agente, Temporal per la pianificazione e l'attivazione dei lavori.

D: Posso utilizzare LangGraph senza le altre astrazioni di LangChain?

R: Sì. LangGraph è progettato per essere utilizzabile con il semplice LangChain Core (le primitive di messaggi/strumenti minimi) senza importare il pacchetto langchain completo. Se preferisci, puoi anche utilizzare LangGraph con chiamate SDK OpenAI/Anthropic non elaborate: il grafico e il macchinario della macchina a stati sono indipendenti dal modo in cui chiami LLM.

D: Qual è l'offerta del cloud/piattaforma LangGraph rispetto al self-hosting?

R: La piattaforma LangGraph (in precedenza LangServe) ti consente di distribuire grafici compilati come API scalabili con runtime gestito, accodamento integrato e ridimensionamento orizzontale. LangSmith è lo strato di osservabilità. Entrambe sono offerte SaaS di LangChain Inc. LangGraph self-hosting è semplice: è solo Python/Nodo in esecuzione nella tua infrastruttura con un database per il checkpoint. La maggior parte dei team inizia con l'hosting autonomo e passa alla piattaforma quando la complessità operativa diventa il collo di bottiglia.

Considerazioni finali: LangGraph sarà l'agente standard nel 2026

Gli "agenti LangChain" che dovresti creare nel 2026 sono macchine a stati LangGraph. L'era deprecata AgentExecutor è finita. Lo stato esplicito di LangGraph, il routing condizionale, il checkpoint persistente e la composizione multi-agente nativa non sono piacevoli da avere: sono prerequisiti per qualsiasi cosa di cui ti fidi nella produzione.

Il modello ReAct rimane il giusto punto di partenza per la maggior parte delle attività. Aggiungi la complessità multi-agente solo quando un singolo agente raggiunge in modo dimostrabile i suoi limiti. Gestisci tutto con LangSmith fin dal primo giorno: il debug senza tracce è il modo più veloce per sprecare una settimana su un problema che richiede 10 minuti per essere diagnosticato con visibilità.

Il cambiamento più importante è concettuale: gli agenti LangGraph non sono chatbot con strumenti integrati. Sono sistemi con stato e persistenti in cui un LLM guida il flusso di controllo. Progettali come sistemi distribuiti, con modalità di errore, logica di ripetizione, confini di stato e osservabilità, e ti ricompenseranno con un'affidabilità che sorprenderà anche gli ingegneri esperti.

Dove andare dopo

  • Tutorial ufficiali LangGraph: lavora con il notebook "ReAct from scratch".
  • LangSmith: imposta la traccia sul tuo primo agente prima di scrivere qualsiasi altro codice
  • Documenti sulla piattaforma LangGraph: comprendi subito il modello di distribuzione
  • EasyClaw: vedi i modelli di agente LangGraph in esecuzione in un'app desktop di produzione

Se stai creando automazione dei contenuti, pipeline SEO o flussi di lavoro di ricerca in più fasi, EasyClaw è il modo più veloce per vedere questi modelli in azione, senza spendere settimane a cablare personalmente l'infrastruttura.