Ho estratto l’API GitHub il 18 marzo 2026. Ho letto dei thread su Reddit con un totale di oltre 1.500 upvotes. Ho controllato le pagine di pricing, le cronologie delle versioni, i grafici dei commit.
Niente fronzoli. Dati.
I Numeri
| LangChain | CrewAI | AutoGen | |
|---|---|---|---|
| Stars GitHub | 130.068 | 46.455 | 55.836 |
| Forks | 21.444 | 6.268 | 8.414 |
| Domande Aperte | 505 | 494 | 684 |
| Licenza | MIT | MIT | CC-BY-4.0 |
| Ultima Versione Stabile | 17 marzo 2026 | 18 marzo 2026 (v1.11.0) | 30 settembre 2025 (v0.7.5) |
| Commit (ultime 4 settimane) | 187 in totale | 3 RC in 3 giorni | Praticamente zero |
| Nato | Ott 2022 | Ott 2023 | Agosto 2023 |
Fonte: API GitHub, estratta il 18 marzo 2026.
LangChain: 130K stelle, 47 commit/settimana, tre anni e mezzo di vita e sta accelerando ancora. Dite quello che volete sulla DX — il team consegna.
CrewAI: 46K stelle in due anni e mezzo. Tre versioni candidate in tre giorni consecutivi prima che v1.11.0 diventasse stabile. Energia di un piccolo team. Avanza rapidamente, probabilmente rompendo qualcosa, ma almeno stanno progredendo.
AutoGen: qui le cose diventano scomode. Ultima versione stabile? Settembre 2025. Sei mesi di silenzio da un progetto sostenuto da Microsoft. 684 domande aperte che si accumulano. La riscrittura v0.4 ha diviso la comunità tra coloro che utilizzano la vecchia API e quelli che cercano di comprendere la nuova. Nessuno dei due gruppi sembra soddisfatto.
Mostrami il Codice
Abbastanza parole. Ecco la stessa attività — un agente controllore del meteo — in ciascun framework più il SDK standard. Giudicate voi stessi.
SDK OpenAI Grezzo (senza framework)
from openai import OpenAI
import json
client = OpenAI()
def get_weather(city: str) -> str:
return f"72°F and sunny in {city}" # il tuo vero chiamata API qui
tools = [{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get current weather for a city",
"parameters": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"]
}
}
}]
messages = [{"role": "user", "content": "What's the weather in Tokyo?"}]
response = client.chat.completions.create(
model="gpt-4o", messages=messages, tools=tools
)
# Gestire la chiamata dello strumento
tool_call = response.choices[0].message.tool_calls[0]
result = get_weather(json.loads(tool_call.function.arguments)["city"])
messages.append(response.choices[0].message)
messages.append({"role": "tool", "content": result, "tool_call_id": tool_call.id})
final = client.chat.completions.create(model="gpt-4o", messages=messages)
print(final.choices[0].message.content)
25 righe. Zero magia. Vedi ogni messaggio in ingresso e in uscita. Quando si rompe — e si romperà — saprai esattamente dove guardare.
Questo è ciò di cui parlava quel post Reddit con 685 upvotes quando ha detto “costruisci il tuo primo in grezzo.”
LangChain
from langchain.agents import create_agent
def get_weather(city: str) -> str:
"""Get current weather for a city."""
return f"72°F and sunny in {city}"
agent = create_agent(
model="gpt-4o",
tools=[get_weather],
system_prompt="You are a helpful weather assistant."
)
response = agent.invoke("What's the weather in Tokyo?")
print(response)
Pulito. Breve. E completamente opaco. Cosa succede all’interno di agent.invoke()? Ciclo di chiamata dello strumento, formattazione del messaggio, logica di ripristino, forse un po’ di modellazione del prompt. Tutto è gestito per te. Meraviglioso — fino alle 2 del mattino quando il tuo agente inizia a restituire assurdità e tu devi passare attraverso cinque strati di astrazione per cercare di capire quale ha mangiato la tua risposta dello strumento.
Il vero valore di LangChain non è nell’astrazione dell’agente. Sono le oltre 150 integrazioni (tutti i negozi di vettori, tutti i fornitori di LLM, tutti i caricamenti di documenti che puoi immaginare) e LangSmith, che è veramente il miglior strumento di debug per agenti disponibile al momento. Di più su questo più tardi.
CrewAI
from crewai import Agent, Task, Crew
from crewai.tools import tool
@tool
def get_weather(city: str) -> str:
"""Get current weather for a city."""
return f"72°F and sunny in {city}"
weather_agent = Agent(
role="Weather Reporter",
goal="Provide accurate weather information",
backstory="You are a meteorologist who gives concise weather reports.",
tools=[get_weather]
)
task = Task(
description="What's the weather in Tokyo?",
expected_output="A brief weather report",
agent=weather_agent
)
crew = Crew(agents=[weather_agent], tasks=[task])
result = crew.kickoff()
print(result)
Più righe, un’atmosfera completamente diversa. Non stai scrivendo uno script, stai dirigendo un film. role, goal, backstory — l’agente ha un arco di personaggio anche prima di aver fatto qualcosa.
Per controllare il meteo? Un extra ridicolo. Per un pipeline di contenuti in cui un “Ricercatore” scava fonti, un “Analista” trova modelli e uno “Scrittore” scrive l’articolo? Ora la metafora è giustificata. CrewAI brilla quando il problema assomiglia effettivamente a un lavoro di squadra.
AutoGen
import os
from autogen import AssistantAgent, UserProxyAgent
llm_config = {
"model": "gpt-4",
"api_key": os.environ["OPENAI_API_KEY"]
}
assistant = AssistantAgent("assistant", llm_config=llm_config)
user_proxy = UserProxyAgent("user_proxy", code_execution_config=False)
user_proxy.initiate_chat(assistant, message="What's the weather in Tokyo?")
Due agenti. Che si parlano l’un l’altro. Questo è il fulcro di AutoGen — lo schema conversazionale. UserProxyAgent finge di essere te, AssistantAgent risponde. Per il brainstorming o la revisione del codice, è un paradigma interessante.
Per “dammi solo il meteo a Tokyo”? È come assumere due persone per avere una riunione sulla verifica dell’app meteo.
Inoltre: il modello nel loro esempio ufficiale è sempre gpt-4, non gpt-4o. La documentazione non è stata aggiornata. È un piccolo dettaglio. Non è nemmeno un piccolo dettaglio.
Cosa Pensa Reddit Davvero
Citazioni dirette. Account di upvotes inclusi in modo da poterli pesare tu stesso.
La voce più forte nella stanza dice: evita i framework
Da parte di uno sviluppatore che ha costruito agenti per oltre 20 aziende (685 upvotes) :
“Non iniziare con LangChain o CrewAI o qualsiasi cosa sia di moda questa settimana. Nascondono troppe cose. Devi capire cosa succede sotto il cofano. Scrivi uno script Python grezzo che interroga l’API OpenAI o Anthropic. Invia un messaggio. Ricevi una risposta. È tutto.”
Da parte di qualcuno che costruisce agenti per clienti da due anni (378 upvotes) :
“Coloro che guadagnano realmente soldi e non si bloccano ogni settimana? Sono imbarazzantemente semplici. Un agente unico che legge le e-mail e aggiorna i campi CRM (200 $/mese, funziona 24/7). Un parseur di CV che estrae le informazioni chiave per i reclutatori (50 $/mese). Nessuno di questi ha bisogno di orchestrazione dell’agente. Nessuno ha bisogno di sistemi di memoria. Non hanno certamente bisogno di squadre di agenti che si riuniscano su cosa fare.”
La sua pila di produzione: API OpenAI, n8n, un webhook, forse Supabase. È tutto. Guadagna soldi. Il tizio con il sistema CrewAI di 47 agenti fa post su LinkedIn.
Il controargomento che merita di essere ascoltato
Un commentatore che ha davvero distribuito un agente in un ospedale (solo 4 upvotes, ma leggi comunque) :
“Ho recentemente distribuito un agente vocale IA in un ospedale che classifica lo stato dei pazienti in modo misurabile più preciso rispetto al personale. Ci è voluto un enorme aggiustamento e un ottimo messaggio di sistema che lo ha formato per fare il triage dei pazienti, ma funziona molto bene.”
Nessun riferimento al framework. Perché non ha importanza. Ha passato il suo tempo sul prompt e sull’aggiustamento, non su quale scegliere tra LangChain e CrewAI.
Cosa Nessuno Vuole Dire Ad Alta Voce
Il commento principale (75 upvotes) su un post popolare “Ho passato 8 mesi a costruire agenti IA” ?
“Grazie. È stato davvero un buon ChatGPT.”
Secondo commento (49 upvotes) : “I post scritti da Chat GPT sono ovunque, ma ecco cosa ho imparato. Nulla, perché non ho messo impegno.”
Metà dei “rapporti di esperienza” sui framework di agenti IA sono generati dallo stesso IA. Siamo in una sala di specchi. Tenetelo a mente quando leggete articoli di confronto. Inclusi, potenzialmente, questo — anche se mi piace pensare che i timestamp API di GitHub e i link Reddit mi diano un po’ di credibilità.
La Parte Argento
| LangSmith | Piattaforma CrewAI | AutoGen | |
|---|---|---|---|
| Gratuito | 5K tracce/mese, 1 posto | 50 esecuzioni/mese | Nessuna piattaforma esiste |
| Pagato | 39 $/posto/mese | 25 $/mese (100 esecuzioni) | — |
| Enterprise | Personalizzato | Personalizzato | — |
| Cosa paghi | Osservabilità & debug | Hosting & orchestrazione | Il tuo tempo |
Questi numeri sono quasi irrilevanti. Ecco perché.
Un sistema multi-agente dove tre agenti discutono un problema consuma 30-50K token per esecuzione. Con il prezzo di GPT-4o (2,50 $/1M di input, 10 $/1M di output), ciò si traduce in 0,15-0,75 $ per esecuzione. Se lo facciamo 1.000 volte al mese: 150-750 $ in spese API. I 25 $/mese della piattaforma CrewAI sono una bazzecola a confronto.
Nel frattempo, il bot email a 200 $/mese di questo tizio di Reddit? Probabilmente 5-10 $/mese in chiamate API. Un solo agente, un solo prompt, una sola chiamata di strumento. I conti sono spietati per le architetture multi-agenti.
Il Diagramma di Flusso

In parole, perché non tutti caricano immagini :
Una chiamata LLM con un buon prompt può risolvere il problema? → Usa il SDK. Fermati qui. La maggior parte dei problemi risiede qui e le persone non vogliono ammetterlo.
Hai bisogno di chiamate di strumenti ma sempre un agente? → Sempre il SDK. Le chiamate di strumenti sono native di ogni API LLM maggiore ora. Non hai bisogno di un framework per chiamare una funzione.
Hai davvero bisogno di più agenti? (Sii onesto con te stesso.)
→ Vuoi velocità per il prototipazione: CrewAI
→ Vuoi controllo totale sull’esecuzione: LangGraph
→ Vuoi agenti che discutono: AutoGen (ma rileggi prima la sezione sui rischi di manutenzione)
Hai bisogno di osservabilità in produzione? → LangSmith. Funziona con tutto, anche senza alcun framework.
Cosa farei davvero
Non quello che raccomanderei in una conferenza. Cosa farei davvero se dovessi consegnare qualcosa la settimana prossima:
- Costruire v1 con chiamate SDK grezze. Brutte, manuali, senza astrazioni. Fai funzionare questo. Osserva mentre fallisce. Comprendere perché fallisce.
- Se un agente non può davvero occuparsene, prototipare la versione multi-agente in CrewAI. Ci vorrà un pomeriggio.
- Se il prototipo CrewAI funziona ma ho bisogno di un controllo più rigoroso per la produzione, riscrivere i percorsi critici in LangGraph. Mantenere CrewAI per le parti dove “abbastanza buono” è sufficiente.
- LangSmith dal primo giorno. Non negoziabile. Essere nella confusione con agenti in produzione è come ricevere notifiche alle 3 del mattino.
Il quinto punto è quello che nessuno segue: non aggiungere complessità finché la versione semplice non si rompe in produzione. Né durante i test. Né nella tua testa. In produzione, con veri utenti, che fanno cose vere. La maggior parte delle persone non va mai oltre il primo passo perché il primo passo funziona davvero.
Il framework è il 10% del risultato. Il prompt, le definizioni degli strumenti, la gestione degli errori, la valutazione — sono i restanti 90%. È lì che il tizio dell’ospedale ha trascorso il suo tempo. È lì che il tizio del bot email a 200 $/mese ha passato il suo tempo.
È lì che dovresti passare il tuo.
Dati: API GitHub (18 marzo 2026), tariffe LangSmith, tariffe CrewAI. Discussioni Reddit su r/AI_Agents e r/LangChain. Aggiornato il 19 marzo 2026.
Articoli Correlati
- Mastering Agent Testing: Un Tutorial Pratico con Esempi
- Migliori Strumenti di Completamento Codice AI 2025: Aumentare la Produttività degli Sviluppatori
- Make vs Activepieces: Quale per le Piccole Squadre
🕒 Published: