Ho estratto l’API GitHub il 18 marzo 2026. Ho letto dei post 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 chiacchiere. Solo 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 Stable | 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 | Ago 2023 |
Fonte: API GitHub, estratto il 18 marzo 2026.
LangChain: 130K stelle, 47 commit/settimana, tre anni e mezzo di età 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. Energetici per un piccolo team. Procedono rapidamente, probabilmente rompendo alcune cose, ma almeno si muovono.
AutoGen: qui le cose diventano scomode. Ultima versione stabile? Settembre 2025. Sei mesi di silenzio da un progetto supportato 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 felice.
Mostrami il Codice
Basta parole. Ecco la stessa attività — un agente verifica meteo — in ogni framework più il SDK standard. Giudicate da soli.
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
)
# Trattare 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 entrata e in uscita. Quando qualcosa si rompe — e si romperà — saprai esattamente dove guardare.
È di questo che parlava questo post su 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 dei messaggi, logica di retry, forse un po’ di modellizzazione del prompt. Tutto è gestito per te. Meraviglioso — fino alle 2 di mattina quando il tuo agente inizia a restituire assurdità e tu devi attraversare cinque strati di astrazione per cercare di capire quale ha mangiato la tua risposta dello strumento.
Il vero valore di LangChain non è l’astrazione dell’agente. Sono le 150+ integrazioni (tutti i negozi di vettori, tutti i fornitori di LLM, tutti i caricamenti di documenti che puoi immaginare) e LangSmith, che è realmente il miglior strumento di debug per agenti disponibile in questo momento. Ne parleremo più avanti.
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 girando un film. role, goal, backstory — l’agente ha un arco di personaggio prima ancora di aver fatto qualcosa.
Per controllare il tempo? Un’aggiunta ridicola. Per una pipeline di contenuti dove un “Ricercatore” estrae fonti, un “Analista” trova schemi, e uno “Scrittore” redige l’articolo? Ora, la metafora è giustificata. CrewAI brilla quando il problema appare realmente come 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 parlano tra di loro. È il tutto di AutoGen — lo schema conversazionale. UserProxyAgent finge di essere te, AssistantAgent risponde. Per brainstorming o 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 è neanche un piccolo dettaglio.
Quello che Reddit Pensa Davvero
Citazioni dirette. Conti di upvote inclusi così puoi giudicare tu stesso.
La voce più forte nella stanza dice: evita i framework
Da un sviluppatore che ha costruito agenti per oltre 20 aziende (685 upvotes):
“Non iniziate con LangChain o CrewAI o qualsiasi cosa alla 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 qui.”
Da 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 unico agente che legge le email e aggiorna i campi del CRM (200 $/mese, funziona 24/7). Un parser 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 sicuramente bisogno di team di agenti che si riuniscano su cosa fare.”
La sua stack di produzione: OpenAI API, n8n, un webhook, forse Supabase. È tutto. Guadagna soldi. Il tipo con il sistema CrewAI di 47 agenti pubblica su LinkedIn.
Il controargomento che merita di essere ascoltato
Un commentatore che ha effettivamente distribuito un agente in un ospedale (solo 4 upvotes, ma leggete ugualmente):
“Ho recentemente distribuito un agente vocale IA in un ospedale che classifica lo stato dei pazienti in modo misurabile più preciso del personale. Ci sono voluti enormi aggiustamenti e un ottimo messaggio di sistema che l’ha formato per effettuare il triage dei pazienti, ma funziona molto bene.”
Nessuna menzione del framework. Perché non importa. Ha speso il suo tempo sul prompt e sull’aggiustamento, non a scegliere tra LangChain e CrewAI.
Quello che 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 buono ChatGPT.”
Secondo commento (49 upvotes): “I post scritti da Chat GPT sono ovunque, ma ecco cosa ho imparato. Niente, perché non ho messo sforzo.”
La metà dei “rapporti di esperienza” sui framework di agenti IA sono a loro volta generati da IA. Siamo in una sala di specchi. Tieni questo a mente quando leggi articoli di confronto. Incluso, potenzialmente, questo — anche se mi piace pensare che i timestamp API di GitHub e i link di Reddit mi diano un po’ di credibilità.
La Parte Prezzi
| LangSmith | Piattaforma CrewAI | AutoGen | |
|---|---|---|---|
| Gratuito | 5K tracce/mese, 1 posto | 50 esecuzioni/mese | Nessuna piattaforma esistente |
| Pagato | 39 $/posto/mese | 25 $/mese (100 esecuzioni) | — |
| Enterprise | Personalizzato | Personalizzato | — |
| Ciò per cui paghi | Osservabilità & debug | Hosting & orchestrazione | Il tuo tempo |
Questi numeri sono quasi privi di importanza. Ecco perché.
Un sistema multi-agente dove tre agenti discutono di un problema consuma 30-50K token per esecuzione. Con la tariffa di GPT-4o (2,50 $/1M di input, 10 $/1M di output), questo 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 un’inezia rispetto a questo.
Nel frattempo, il bot email a 200 $/mese di quel tizio di Reddit? Probabilmente 5-10 $/mese in chiamate API. Un solo agente, un solo prompt, una sola chiamata di strumento. La matematica è brutale 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 si trovano qui e la gente non vuole ammetterlo.
Hai bisogno di chiamate di strumenti ma hai comunque un agente? → Sempre il SDK. Le chiamate di strumenti sono native per ogni API LLM principale 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 prototipaggio: CrewAI
→ Vuoi il 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, incluso senza framework.
Ciò che farei davvero
Non quello che consiglierei in una conferenza. Ciò che farei davvero se dovessi consegnare qualcosa la settimana prossima:
- Costruire v1 con chiamate SDK grezze. Brutte, manuali, senza astrazioni. Fai funzionare questa cosa. Guarda come fallisce. Comprendere perché fallisce.
- Se un agente non può davvero gestirlo, prototipare la versione multi-agente in CrewAI. Questo richiederà 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 fin dal primo giorno. Non negoziabile. Essere nel buio 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 fallisce in produzione. Né durante i test. Né nella tua testa. In produzione, con utenti reali, che fanno cose reali. La maggior parte delle persone non va oltre il primo passo perché il primo passo funziona realmente.
Il framework è il 10% del risultato. Il prompt, le definizioni degli strumenti, la gestione degli errori, la valutazione — sono il restante 90%. È lì che il tizio dell’ospedale ha passato il suo tempo. È lì che il tizio del bot email a 200 $/mese ha passato il suo tempo.
È lì che dovresti spendere 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
- Padroneggiare i Test degli Agenti: Un Tutorial Pratico con Esempi
- Migliori Strumenti di Completamento del Codice AI 2025: Aumentare la Produttività degli Sviluppatori
- Make vs Activepieces: Quale per le Piccole Squadre
🕒 Published: