Framework open-source per agenti AI
Una volta che hai costruito qualche agente a mano, la stessa struttura di base continua a ripresentarsi: un loop che chiama il modello, esegue lo strumento richiesto, reintroduce il risultato e si ferma quando il lavoro è finito. I framework per agenti impacchettano quella struttura — più stato, memoria e coordinamento multi-agente — così scrivi meno codice di collegamento. Questa pagina è una mappa duratura e neutrale rispetto al provider delle principali opzioni open-source, di cosa ti offrono davvero e di come scegliere. Quasi tutti sono agnostici rispetto al modello: funzionano con Claude, GPT, Gemini e modelli locali a pesi aperti.
- Sapere cosa ti dà un framework per agenti rispetto a un loop scritto a mano — e cosa no
- Riconoscere i tre archetipi: grafi con stato, crew basate sui ruoli e loop minimali
- Usare una procedura ripetibile per sceglierne uno — barattando complessità per controllo
- Ricordare che sono per lo più agnostici rispetto al modello — il framework raramente ti vincola a un solo provider
Cosa ti dà davvero un framework per agenti
Togli il branding e un framework ti offre un sottoinsieme di quattro cose:
- Orchestrazione — il control loop. Passi sequenziali, ramificazioni, retry, loop-fino-al-completamento e (sempre più) esecuzione durevole che sopravvive a un crash e riprende da dove si era fermata.
- Strumenti — un modo standard per dichiarare una funzione che il modello può chiamare, validarne gli argomenti, eseguirla e restituire il risultato. Lo stesso loop descrivi→chiama→esegui→restituisci che già conosci dal tool use.
- Memoria e stato — un posto dove conservare la cronologia della conversazione, i fatti da appunti e i documenti recuperati attraverso i turni, così l'agente non è amnesico tra un passo e l'altro.
- Multi-agente — pattern per più agenti specializzati che si passano il lavoro l'un l'altro: un supervisore che delega ai worker, o pari che collaborano su un compito. (Concettualmente la stessa idea dei subagenti di Claude Code.)
Un framework vale la pena quando altrimenti dovresti scrivere e mantenere a mano tutte e quattro le cose. Non vale la pena quando il tuo compito è "chiama il modello, esegui uno o due strumenti, restituisci una risposta" — lì il framework è overhead che passerai il tempo a combattere.
I tre archetipi
I framework differiscono meno di quanto suggerisca il loro marketing. In realtà ci sono tre forme, e la maggior parte dei progetti è una variazione di una di queste:
- Grafo/workflow con stato. Modelli l'agente come un grafo esplicito di nodi e archi (o passi e transizioni). Massimo controllo, stato ispezionabile, ottimo per flussi a lunga esecuzione e con human-in-the-loop. Più cose da imparare all'inizio. → LangGraph, LlamaIndex Workflows.
- Crew basata sui ruoli. Descrivi gli agenti per ruolo ("ricercatore", "scrittore", "revisore") e li lasci collaborare o eseguire un processo. Rapido nell'esprimere un team multi-agente; baratti un po' di controllo fine per l'astrazione ad alto livello. → CrewAI, e lo stile conversazionale multi-agente di AutoGen.
- Loop minimale / poche astrazioni. Uno strato sottile sopra il tool-calling nativo del modello, con handoff tra pochi agenti e non molto altro. Facile da leggere dall'inizio alla fine, facile da abbandonare. → OpenAI Agents SDK (il successore di produzione dello sperimentale Swarm), e il loop semplice che scrivi tu stesso.
- Parti dalla cosa più semplice che funziona — spesso un semplice loop di tool-calling batte un framework pesante.
Un rapido tour (verifica il posizionamento prima di impegnarti)
Questi sono i progetti aperti che vale la pena conoscere. Nominati solo perché il repo reale di ciascuno è stato verificato; tutto ciò che è volatile vive dietro la VerifyNote qui sopra.
- LangGraph — un framework di orchestrazione a basso livello per agenti a lunga esecuzione e con stato, modellati come grafi; esecuzione durevole e human-in-the-loop sono di prima classe. Utilizzabile in autonomia o con l'ecosistema più ampio LangChain. Agnostico rispetto al modello.
- LlamaIndex — nato come framework per dati/RAG (connettori, indici, retrieval) e ora offre anche uno strato Workflows event-driven per gli agenti. Forte quando il tuo agente è fondamentalmente retrieval sui tuoi documenti.
- Microsoft AutoGen — un framework per sistemi multi-agente conversazionali. A metà 2026 è in maintenance mode; Microsoft indirizza i nuovi progetti verso un successore unificato (Microsoft Agent Framework, che fonde AutoGen + Semantic Kernel). Controlla lo stato attuale prima di iniziare.
- CrewAI — un framework basato sui ruoli: definisci gli agenti per ruolo e obiettivo, organizzali in Crew (collaborazione autonoma) o Flow (controllo event-driven). Percorso rapido verso un team multi-agente.
- OpenAI Agents SDK — un framework deliberatamente leggero, a poche astrazioni, per workflow multi-agente con handoff. Nonostante il nome è agnostico rispetto al provider (la sua documentazione dichiara il supporto per oltre 100 LLM), ed è il successore pronto per la produzione dello sperimentale Swarm.
- Il semplice agent loop — nessun framework: il tuo
whileloop attorno al tool-calling nativo del modello. Il default giusto per agenti semplici, e la cosa che ogni framework qui sopra sta in fondo avvolgendo.
Come scegliere un framework
- Una frase su cosa fa l'agente, più gli aspetti non negoziabili: latenza, tetto di costo, privacy dei dati, se le esecuzioni devono sopravvivere a un crash e se un umano deve approvare i passi.
- Se è un agente che chiama uno o due strumenti, scrivi un loop semplice. Molti agenti di produzione non hanno mai bisogno di più. Adotta un framework solo quando altrimenti ri-implementeresti da solo orchestrazione, memoria E multi-agente.
- A lunga esecuzione / human-in-the-loop / stato ispezionabile → un grafo con stato (LangGraph, LlamaIndex Workflows). Un team di specialisti → una crew basata sui ruoli (CrewAI). Pochi agenti che si passano il lavoro, tenuto semplice → un loop minimale (OpenAI Agents SDK, o il tuo).
- Conferma che il repo sia mantenuto attivamente (non in maintenance mode) e che supporti in modo pulito il modello che usi davvero — Claude, GPT, Gemini o un modello locale. La maggior parte è neutrale rispetto al provider; verifica, non dare per scontato.
- Costruisci il singolo passo più difficile — lo strumento complicato, l'handoff, il riprendere-dopo-un-guasto — in due candidati. L'astrazione che rende leggibile quel passo è la tua vincitrice.
- Tieni i tuoi strumenti e prompt come semplici funzioni e stringhe, così il framework avvolge la tua logica invece di possederla. Cambiare framework dovrebbe significare ricablare l'orchestrazione, non riscrivere tutto.
La cosa che ogni framework avvolge
Prima di ricorrere a qualsiasi libreria, aiuta vedere il loop su cui sono tutte costruite. Questa è l'intera idea — il modello decide, tu esegui, ripeti fino al completamento:
# Provider-neutral agent loop — the core every framework wraps.
# `model_call` and `run_tool` are yours; swap in Claude, GPT, Gemini, or a local model.
def agent_loop(task, tools, max_steps=10):
messages = [{"role": "user", "content": task}]
for _ in range(max_steps):
# 1. Ask the model what to do next (it sees the tool schemas).
response = model_call(messages, tools=tools)
# 2. No tool requested → the model is done. Return its answer.
if not response.tool_calls:
return response.text
# 3. Run each requested tool and feed results back in.
messages.append(response.as_message())
for call in response.tool_calls:
result = run_tool(call.name, call.arguments)
messages.append({
"role": "tool",
"tool_call_id": call.id,
"content": result,
})
return "Stopped: hit max_steps without finishing."
Se sai leggere questo, capisci cosa sta facendo sotto il cofano ogni framework di questa pagina. I grafi aggiungono stato e ramificazione espliciti; le crew aggiungono ruoli e delega; gli SDK minimali aggiungono handoff ordinati — ma il battito cardiaco è sempre questo loop.
System prompt minimale per un agente (si abbina al loop qui sopra)
You are a task-completing agent with access to tools.
Loop:
1. Think briefly about the next single step toward the goal.
2. If a tool would help, call exactly ONE tool with valid arguments.
3. When you have enough to answer, stop calling tools and give the final answer.
Rules:
- Prefer the fewest tool calls that get the job done.
- If a tool fails, read the error and adjust — do not repeat the same call.
- Never invent tool results; use only what tools actually returned.
- If the goal is impossible with the available tools, say so and stop.
Goal: {one-sentence task}Una nota sull'hype
Nessun framework qui è "il migliore" — quella domanda è mal posta. I framework a grafo vincono sul controllo e la durabilità; i framework a crew vincono sull'esprimere rapidamente un team; quelli minimali vincono sulla leggibilità e sul basso lock-in; e un loop semplice vince più spesso di quanto i README dei framework ammettano. La scelta giusta è lo strumento più piccolo che rende chiaro il tuo passo più difficile. Come per la scelta di un modello, lascia decidere il tuo compito — non un numero di stelle. La stessa disciplina che applicheresti con le eval vale anche qui: prototipa, misura su casi reali, tieni una via di uscita.
Mettiti alla prova
0/3- Un framework per agenti impacchetta orchestrazione, strumenti, memoria e coordinamento multi-agente — adottane uno solo quando altrimenti costruiresti tutte e quattro le cose da solo.
- Tre archetipi coprono il campo: grafi con stato (controllo/durabilità), crew basate sui ruoli (team rapidi) e loop minimali (leggibilità, basso lock-in).
- Quasi tutti sono agnostici rispetto al modello — girano su Claude, GPT, Gemini e modelli locali; verifica progetto per progetto invece di dare per scontato.
- Nessun framework è universalmente 'il migliore'; scegli lo strumento più piccolo che rende chiaro IL TUO passo più difficile e tieni una via di uscita.
- Il semplice loop di tool-calling è il default onesto — ed è esattamente ciò che ogni framework avvolge.
- Lo stato di manutenzione cambia (es. AutoGen → un successore); conferma che un progetto sia mantenuto attivamente nel suo repo prima di impegnarti.
Fonti e approfondimenti
- LangGraph — GitHub — framework di orchestrazione a basso livello per agenti a lunga esecuzione e con stato.
- Panoramica di LangGraph — documentazione LangChain — concetti, esecuzione durevole e human-in-the-loop.
- LangChain — GitHub — l'ecosistema più ampio con cui LangGraph si integra.
- LlamaIndex — GitHub — framework per dati/RAG con uno strato Workflows event-driven per gli agenti.
- Documentazione LlamaIndex — RAG, query engine, agenti e Workflows.
- Microsoft AutoGen — GitHub — framework multi-agente conversazionale (controlla lo stato di manutenzione).
- Microsoft Agent Framework — GitHub — il successore unificato (AutoGen + Semantic Kernel) per costruire e orchestrare agenti.
- CrewAI — GitHub — framework multi-agente basato sui ruoli con Crew e Flow.
- Documentazione CrewAI — agenti, task, crew, flow e strumenti.
- OpenAI Agents SDK — GitHub — framework multi-agente leggero e agnostico rispetto al provider con handoff.
- Documentazione OpenAI Agents SDK — il modello di agente a poche astrazioni.
- OpenAI Swarm — GitHub — il predecessore sperimentale che l'Agents SDK sostituisce (educativo, ora superato).
Prossimi passi
- Il modo neutrale rispetto al provider per scegliere un modello → Scegliere un modello
- Il loop che questi framework avvolgono → Tool Use
- Il multi-agente alla maniera di Claude Code → Subagenti
- Come confrontare davvero i candidati → Eval