In questo articolo

🎼 Dall'agente singolo all'orchestra

L'orchestrazione di agenti AI è il livello che coordina più agenti specializzati per portare a termine compiti che nessun agente singolo gestisce da solo. È il direttore d'orchestra: ogni agente suona il suo strumento, l'orchestrazione fa in modo che suonino insieme. Non è teoria — le richieste sui sistemi multi-agente sono cresciute del 1.445% nel 2025 e il 57% delle organizzazioni ha già workflow multi-step in produzione.

Il motivo è pratico. Le sessioni degli agenti di coding sono passate da 4 a 23 minuti di media, con il 78% che tocca più file. Un solo agente su questa complessità perde il filo; dividere le responsabilità tra agenti con confini chiari è ciò che rende il risultato robusto. Non a caso si parla di un 90% di ingegneri che stanno spostando il baricentro dallo scrivere codice al dirigere, rivedere e ottimizzare agenti.

Perché il multi-agente è diventato mainstream (2025-2026)
Organizzazioni con workflow multi-step in produzione+57%Sessioni agent con edit su più file+78%Ingegneri orientati all'orchestrazione+90%Sviluppatori che si fidano del codice AI “as-is”+29%

Dati indicativi da report di settore su adozione e produttività degli agenti di coding.

🧩 I 4 pattern di orchestrazione

Non tutti i sistemi multi-agente sono uguali: l'architettura dipende dal caso d'uso. Nel 2026 dominano quattro pattern, e riconoscerli è il primo passo per non montare un castello dove basterebbe una pipeline.

La regola pratica che seguo: parti dal gerarchico (delega ordinata) e aggiungi complessità solo quando serve. Il collaborativo brilla sui problemi creativi, il competitivo quando vuoi il migliore tra più tentativi, l'ibrido è ciò che finisce in produzione perché mescola i tre a seconda del sotto-task.

  • Gerarchico: un planner scompone il task e delega a worker specializzati (code, test, review). È il più comune nello sviluppo software.
  • Collaborativo: agenti pari che condividono stato e si migliorano a vicenda, come una design review tra backend, frontend e DevOps.
  • Competitivo: più agenti tentano lo stesso task e un valutatore sceglie il risultato migliore per performance, leggibilità o sicurezza.
  • Ibrido: i sistemi reali combinano i pattern — un planner gerarchico che delega a team collaborativi con valutazione competitiva sugli output critici.
I quattro pattern a confronto
Quattro riquadri con i pattern di orchestrazione: gerarchico (un planner delega a tre worker), collaborativo (tre agenti pari interconnessi), competitivo (tre agenti verso un valutatore che sceglie il migliore) e ibrido (un planner combina un team collaborativo e una valutazione finale).

Gerarchico per la delega, collaborativo per la creatività, competitivo per l'ottimizzazione, ibrido per la produzione.

🛠️ I framework che contano nel 2026

Il panorama si è consolidato. Nel mondo Python comandano LangGraph (grafi di stato, lo standard di fatto per i workflow complessi, in produzione da Klarna a Cisco), CrewAI (agenti a ruoli, curva di apprendimento dolce) e AutoGen (l'approccio conversazionale nato in Microsoft Research). Per chi lavora su piattaforma .NET, invece, il riferimento è il Microsoft Agent Framework.

Il Microsoft Agent Framework è la sintesi ufficiale di AutoGen e Semantic Kernel: ne eredita le astrazioni semplici e le feature enterprise (stato di sessione, type safety, telemetria) e aggiunge workflow a grafo per l'orchestrazione esplicita. È arrivato alla 1.0 (GA) il 3 aprile 2026, quindi è la scelta naturale se il tuo stack è C# e ASP.NET Core.

Ecosistema Python vs piattaforma .NET

Python (LangGraph, CrewAI, AutoGen)

  • Ecosistema più ampio e maturo per la ricerca
  • LangGraph: grafi di stato, molte deployment enterprise
  • CrewAI: agenti a ruoli, prototipazione rapida
  • Ideale se il team vive già in Python/ML

.NET (Microsoft Agent Framework)

  • Un solo stack con la tua Web API ASP.NET Core
  • Sequential, Concurrent e Handoff nativi
  • Type safety, DI, telemetria e sessioni integrate
  • GA 1.0 da aprile 2026, successore di Semantic Kernel

Non c'è un vincitore assoluto: vince il framework che sta nello stack che già mantieni.

🗺️ Un metodo in 6 passi

Prima del codice, il metodo. Le squadre che portano davvero l'orchestrazione in produzione seguono sei mosse ripetibili, indipendenti dal framework. Saltarne una è il modo più comune per restare bloccati in un proof of concept che non scala.

Il cuore sono i passi 5 e 6: senza error recovery e senza observability hai un prototipo, non un sistema. È la differenza tra una demo che stupisce e qualcosa che regge il traffico reale.

Dalla scomposizione al deploy osservabile
  1. 01
    1 · Definisci lo scopeSpezza il lavoro in sotto-task atomici con input, output e criteri di successo chiari.
  2. 02
    2 · Progetta i ruoliUn agente per responsabilità: architettura, implementazione, test, review.
  3. 03
    3 · Scegli il patternGerarchico o ibrido per la maggior parte dei workflow di sviluppo.
  4. 04
    4 · Definisci la comunicazioneMessage passing e stato condiviso: l'output di un agente è l'input del successivo.
  5. 05
    5 · Aggiungi error recoveryAgenti di fallback, retry con backoff, valutatori che filtrano gli output.
  6. 06
    6 · Deploy con observabilityTracing, logging strutturato, metriche di latenza, successo e costo token.

🧰 Preparare il progetto ASP.NET Core

Passiamo alla pratica con il Microsoft Agent Framework. Creo una Web API minimal e aggiungo tre pacchetti: il framework degli agenti, le sue estensioni di hosting per ASP.NET Core e un provider per il modello. Le librerie di hosting registrano gli agenti nel container di dependency injection, così li risolvo come qualunque altro servizio.

Le astrazioni di Microsoft.Extensions.AI (IChatClient) tengono il codice indipendente dal provider: oggi OpenAI, domani Azure OpenAI o un modello locale via Ollama, cambiando una riga. I pacchetti dell'Agent Framework sono in preview, quindi li aggiungo con --prerelease.

Terminale · progetto ASP.NET Core e pacchetti
# nuova Web API minimal
dotnet new web -n DevCrew.Orchestration && cd DevCrew.Orchestration

# Agent Framework + hosting ASP.NET Core + provider del modello
dotnet add package Microsoft.Agents.AI --prerelease
dotnet add package Microsoft.Agents.AI.Hosting --prerelease
dotnet add package Microsoft.Extensions.AI.OpenAI --prerelease

Hosting in ASP.NET Core · Microsoft Learn

Tre pacchetti: il framework degli agenti, l'hosting per ASP.NET Core e il provider del modello.

🧑‍🚀 Registrare gli agenti e il workflow

Ora il cuore dell'orchestrazione. Registro un IChatClient condiviso come keyed singleton, poi quattro agenti specializzati con AddAIAgent: architect, coder, tester, reviewer. Ognuno ha istruzioni mirate e riusa lo stesso modello tramite chatClientServiceKey.

Con AddWorkflow li compongo in una pipeline sequenziale — il pattern gerarchico nella sua forma più diretta: l'output di ogni agente diventa l'input del successivo. La chiamata AddAsAIAgent() espone l'intero workflow come se fosse un singolo agente, pronto da risolvere via DI.

Program.cs · registrare agenti e workflow
using Microsoft.Agents.AI;
using Microsoft.Agents.AI.Workflows;
using Microsoft.Extensions.AI;
using OpenAI;

var builder = WebApplication.CreateBuilder(args);

// 1) Modello condiviso da tutti gli agenti: un IChatClient keyed.
var apiKey = builder.Configuration["OpenAI:ApiKey"]!;
IChatClient chat = new OpenAIClient(apiKey)
    .GetChatClient("gpt-4o-mini")
    .AsIChatClient();
builder.Services.AddKeyedSingleton<IChatClient>("chat-model", chat);

// 2) Quattro agenti specializzati, uno per responsabilita'.
builder.AddAIAgent("architect",
    instructions: "Analizzi la codebase e proponi il piano.", chatClientServiceKey: "chat-model");
builder.AddAIAgent("coder",
    instructions: "Implementi il piano scrivendo il codice.", chatClientServiceKey: "chat-model");
builder.AddAIAgent("tester",
    instructions: "Scrivi ed esegui i test sul codice.", chatClientServiceKey: "chat-model");
builder.AddAIAgent("reviewer",
    instructions: "Rivedi qualita' e sicurezza, restituisci la versione finale.", chatClientServiceKey: "chat-model");

// 3) Workflow gerarchico: pipeline sequenziale dei quattro agenti.
builder.AddWorkflow("dev-crew", (sp, key) =>
{
    var architect = sp.GetRequiredKeyedService<AIAgent>("architect");
    var coder = sp.GetRequiredKeyedService<AIAgent>("coder");
    var tester = sp.GetRequiredKeyedService<AIAgent>("tester");
    var reviewer = sp.GetRequiredKeyedService<AIAgent>("reviewer");
    return AgentWorkflowBuilder.BuildSequential(key, [architect, coder, tester, reviewer]);
}).AddAsAIAgent();

Workflow orchestrations · Microsoft Learn

AddAIAgent registra i ruoli, AddWorkflow + BuildSequential li mette in pipeline, AddAsAIAgent espone tutto come un agente unico.

🔌 Esporre l'orchestrazione con un endpoint

Il workflow è un AIAgent registrato con la chiave dev-crew: lo espongo con un endpoint Minimal API risolvendolo dal container con FromKeyedServices. Nessun controller, nessuna cerimonia — una POST, un task, la risposta orchestrata.

In pratica il client manda l'obiettivo (“aggiungi l'endpoint di login con test”) e sotto al cofano architect, coder, tester e reviewer si passano il lavoro in sequenza. Il chiamante vede un solo risultato finale.

Program.cs · endpoint Minimal API
using Microsoft.Agents.AI;
using Microsoft.Extensions.DependencyInjection;

var app = builder.Build();

// L'orchestrazione e' un AIAgent keyed: la risolvo e la eseguo.
app.MapPost("/orchestrate", async (
    OrchestrationRequest body,
    [FromKeyedServices("dev-crew")] AIAgent crew) =>
{
    var run = await crew.RunAsync(body.Task);
    return Results.Ok(new { output = run.Text });
});

app.Run();

record OrchestrationRequest(string Task);
Minimal API + FromKeyedServices: l'intero team di agenti si invoca come un normale servizio DI.

🔀 Concurrent e handoff: gli altri due pattern

Cambiare pattern costa una riga. Con BuildConcurrent gli stessi input vanno a più agenti in parallelo e i risultati si aggregano: è il pattern competitivo/collaborativo, utile per brainstorming o per confrontare più implementazioni.

Con CreateHandoffBuilderWith costruisci invece il pattern handoff: un agente di triage instrada la richiesta allo specialista giusto, che può restituire il controllo. È il modello tipico del supporto clienti o dei sistemi esperti, dove la delega è dinamica e dipende dal contenuto.

Program.cs · concurrent e handoff
// Concorrente: stessi input a piu' agenti in parallelo, risultati aggregati.
var concurrent = AgentWorkflowBuilder.BuildConcurrent(
    [architect, coder, tester]);

// Handoff: un triage instrada, gli specialisti possono tornare al triage.
var handoff = AgentWorkflowBuilder.CreateHandoffBuilderWith(triage)
    .WithHandoffs(triage, [backendAgent, frontendAgent])
    .WithHandoffs([backendAgent, frontendAgent], triage)
    .Build();

Handoff orchestration · Microsoft Learn

Sequential, Concurrent, Handoff: lo stesso set di agenti, tre topologie diverse cambiando il builder.

🏭 Dalla demo alla produzione

Qui si separa il giocattolo dal sistema. Il primo tema è il costo: gli strumenti agentici possono valere 200-2.000 dollari al mese per ingegnere in token, e il multi-agente moltiplica la spesa perché cinque agenti su un task consumano cinque volte. Servono budget per workflow, tracciamento e contesti ottimizzati; il ROI c'è (2,5-3,5x in media, fino a 4-6x per i migliori) ma solo con i controlli giusti.

Il secondo è la sicurezza: il codice generato dall'AI ha 2,74 volte più vulnerabilità di quello umano, e nei sistemi multi-agente i difetti si compongono mentre gli agenti costruiscono l'uno sull'output dell'altro. Scanning nel pipeline, review umana sui cambiamenti critici, ambienti sandbox. E infine gli MCP server: sono lo strato di capacità (database, API, ricerca) che gli agenti usano senza sapere come funziona ogni tool — con oltre 5.000 server disponibili, sono diventati fondamentali.

Prototipo vs sistema di produzione

Prototipo

  • Nessun controllo di costo sui token
  • Output degli agenti usati senza validazione
  • Zero tracing: impossibile capire cosa è successo
  • Un fallimento blocca l'intero workflow

Produzione

  • Budget per workflow e ottimizzazione del contesto
  • Valutatori e review umana sugli output critici
  • Tracing, logging e metriche end-to-end
  • Fallback, retry con backoff, tassi di errore monitorati

I tassi di fallimento reali degli agenti stanno tra il 5% e il 15%: la produzione li mette in conto, il prototipo li ignora.

✅ In sintesi

L'orchestrazione di agenti AI non è un concetto futuro: è il modo in cui si costruisce software complesso nel 2026. Scegli il pattern in base al task, dai a ogni agente un confine chiaro, e investi in observability dal primo giorno. In .NET il Microsoft Agent Framework rende tutto questo poche righe dentro la tua Web API.

Il resto è ingegneria di sempre: misura, limita il blast radius di ogni agente, tieni l'umano in cabina di regia sulle decisioni critiche. Meno magia, più metodo.

Orchestrare agenti in ASP.NET Core: le mosse
  1. 01
    Scegli il patterngerarchico, collaborativo, competitivo o ibrido
  2. 02
    Progetto + NuGetAgent Framework + Hosting + provider
  3. 03
    Registra gli agentiAddAIAgent per ogni ruolo, IChatClient keyed
  4. 04
    Componi il workflowBuildSequential / Concurrent / Handoff
  5. 05
    Esponi l'endpointAddAsAIAgent + Minimal API MapPost
  6. 06
    Osserva e limitatracing, budget token, review umana

Domande frequenti su orchestrazione agenti AI

Quando conviene un sistema multi-agente invece di un singolo agente?

Quando il task richiede capacità distinte (scrivere codice + testare + revisionare), elaborazione parallela, error recovery con fallback, o coordinamento tra domini diversi. Per compiti isolati e ben definiti, un singolo agente resta la scelta più semplice ed economica.

Qual è la differenza tra i quattro pattern di orchestrazione?

Gerarchico: un planner delega a worker specializzati. Collaborativo: agenti pari che condividono stato. Competitivo: più agenti tentano lo stesso task e un valutatore sceglie. Ibrido: combina i tre a seconda del sotto-task ed è ciò che di solito finisce in produzione.

Che framework scelgo se lavoro in .NET?

Il Microsoft Agent Framework: è la sintesi ufficiale di AutoGen e Semantic Kernel, con orchestrazioni Sequential, Concurrent e Handoff native, dependency injection e telemetria. È GA dalla 1.0 (aprile 2026) e vive nello stesso stack della tua Web API ASP.NET Core, senza uscire da C#.

Posso orchestrare agenti dentro un'app ASP.NET Core esistente?

Sì. Le librerie di hosting registrano agenti e workflow nel container di dependency injection: registri gli agenti con AddAIAgent, componi il workflow con AddWorkflow e lo esponi come AIAgent con AddAsAIAgent. Da lì lo risolvi in un endpoint Minimal API come un normale servizio.

Come gestisco i fallimenti degli agenti in produzione?

Con circuit breaker, agenti di fallback e retry con backoff esponenziale, più valutatori che controllano gli output prima di passarli a valle. I tassi di fallimento reali stanno tipicamente tra il 5% e il 15%: vanno messi in conto e loggati per l'analisi.

Quanto costa un sistema multi-agente?

Il costo scala con il numero di agenti, perché ognuno consuma token: gli strumenti agentici possono valere 200-2.000 dollari al mese per ingegnere. Il ROI riportato è 2,5-3,5x in media e fino a 4-6x per i team migliori, ma solo con budget per workflow e ottimizzazione del contesto.

Parliamone

Se questo tema ti riguarda, scrivimi: confrontarsi su codice e AI è sempre tempo speso bene.