La documentazione ufficiale OpenAI consiglia infatti di indicare chiaramente al modello quando delegare, quanto delegare e in quali situazioni il lavoro parallelo può offrire un vantaggio concreto. OpenAI – Subagent delegation
Che cos’è un sistema multi-agent
- un agente principale, con il ruolo di coordinatore;
- da uno a tre subagenti, incaricati di attività specifiche;
- un numero complessivo compreso tra due e quattro agenti.
v
Agente principale
|
+-- Subagente 1: attività A
+-- Subagente 2: attività B
+-- Subagente 3: attività C
|
v
Verifica, confronto e integrazione
|
v
Risposta finale unica
L’utente indica l’obiettivo, i vincoli e le priorità. Non è necessario che stabilisca preventivamente come suddividere il lavoro: normalmente è il coordinatore a decidere quali attività possono essere svolte in parallelo.
L’utente può comunque richiedere un numero preciso di agenti o indicare direttamente alcune assegnazioni.
La regola inserita in AGENTS.md
Nel file globale AGENTS.md è stata introdotta una regola dedicata al coordinamento multi-agent.
La regola stabilisce i seguenti principi:
Il lavoro multi-agent viene attivato quando l’utente usa uno dei comandi previsti oppure richiede esplicitamente subagenti, delegazione o lavoro parallelo.
Possono essere utilizzati da due a quattro agenti complessivi:
- un agente principale;
- da uno a tre subagenti.
L’agente principale:
- analizza l’obiettivo complessivo;
- individua attività concrete e indipendenti;
- decide il numero minimo di agenti realmente utile;
- stabilisce quali attività svolgere in parallelo;
- assegna a ogni subagente uno scopo e limiti precisi;
- controlla l’avanzamento;
- verifica le evidenze raccolte;
- risolve eventuali contraddizioni;
- integra tutto in una risposta unica.
I subagenti operano soltanto nel perimetro assegnato. Non possono ampliare autonomamente la richiesta, acquisire nuove autorizzazioni o delegare ulteriormente il lavoro.
Devono essere evitate modifiche concorrenti sullo stesso file, componente, oggetto di database o altra risorsa condivisa.
Tutti gli agenti rispettano le stesse regole relative a:
- autorizzazioni;
- sicurezza e privacy;
- minimizzazione dei dati;
- separazione tra progetti;
- modifiche basate su evidenze;
- accesso ai sistemi esterni;
- operazioni di lettura e scrittura;
- verifiche finali.
L’attivazione dei subagenti non autorizza automaticamente modifiche a file o database, deploy, cancellazioni, invio di comunicazioni o altri cambiamenti di stato.
Se il lavoro non può essere realmente parallelizzato, il coordinatore evita di creare una suddivisione artificiale.
Viene utilizzato il numero minimo di agenti capace di offrire un vantaggio concreto in termini di velocità, qualità, controllo incrociato o affidabilità.
Se il numero richiesto non è disponibile, viene utilizzato il massimo numero consentito dall’ambiente e l’utente viene informato.
I comandi disponibili
Comando automatico --> Usa più agenti
Con questo comando l’agente principale decide:
- se il lavoro può essere parallelizzato;
- come suddividerlo;
- quanti agenti impiegare;
- quali attività assegnare;
- come verificare e integrare i risultati.
Saranno utilizzati da due a quattro agenti complessivi. L’utente non deve indicare preventivamente la divisione del lavoro.
Comando con numero esplicito --> Usa N agenti
N viene sostituita con il numero complessivo desiderato, compreso tra due e quattro.Il numero indicato comprende sempre l’agente principale.
Per esempio, Usa 4 agenti significa:
- un agente principale;
- tre subagenti.
Entrambi i comandi autorizzano esclusivamente l’impiego dei subagenti. Non autorizzano automaticamente scritture o modifiche sui sistemi analizzati.
Un esempio pratico
Consideriamo un’attività di analisi di un database Oracle.
Il coordinatore potrebbe suddividere il lavoro in questo modo:
| Agente | Attività |
|---|---|
| Agente principale | Definizione del perimetro, coordinamento e report finale |
| Subagente 1 | Inventario di schemi, tabelle, indici, vincoli e dipendenze |
| Subagente 2 | Analisi delle prestazioni, query onerose e statistiche |
| Subagente 3 | Verifica di partizionamento, crescita e possibili criticità strutturali |
Al termine, l’agente principale confronta i risultati. Se, per esempio, un subagente propone un nuovo indice e un altro rileva che un indice equivalente è già presente, il coordinatore deve risolvere la contraddizione prima di formulare la raccomandazione.
In questo modo il cliente riceve un’unica analisi coerente, non quattro risposte separate.
I vantaggi
| Vantaggio | Effetto |
|---|---|
| Parallelizzazione | Più attività indipendenti possono procedere contemporaneamente |
| Riduzione del tempo complessivo | Le analisi estese possono terminare più rapidamente |
| Specializzazione | Ogni subagente può concentrarsi su un’area delimitata |
| Controllo incrociato | Un risultato può essere confrontato con analisi indipendenti |
| Maggiore copertura | Diminuisce il rischio di trascurare un’area importante |
| Gestione di grandi quantità di informazioni | File e documenti possono essere distribuiti per gruppi |
| Separazione delle responsabilità | Ogni attività ha uno scopo e un risultato atteso |
| Migliore qualità potenziale | Il coordinatore può integrare prospettive diverse |
| Maggiore tracciabilità | È più semplice ricostruire chi ha analizzato cosa |
| Flessibilità | Il numero di agenti può essere adattato alla complessità |
Il multi-agent è particolarmente utile quando l’attività contiene parti realmente indipendenti, come:
- analizzare gruppi diversi di file;
- confrontare soluzioni alternative;
- esaminare componenti distinti di un sistema;
- ricercare fonti differenti;
- separare analisi tecnica, controllo e documentazione;
- verificare un risultato attraverso un secondo punto di vista.
Gli svantaggi
| Svantaggio | Possibile conseguenza |
|---|---|
| Maggiore consumo di risorse | Ogni agente utilizza contesto e capacità di elaborazione |
| Possibile aumento dei costi | Più elaborazioni possono generare più token o maggiore utilizzo |
| Coordinamento aggiuntivo | Il responsabile deve assegnare, controllare e integrare |
| Risultati duplicati | Una divisione poco precisa può produrre analisi sovrapposte |
| Possibili contraddizioni | Agenti diversi possono raggiungere conclusioni differenti |
| Conflitti sulle modifiche | Due agenti potrebbero intervenire sulla stessa risorsa |
| Perdita di contesto | Un subagente può non ricevere tutte le informazioni necessarie |
| Complessità non giustificata | Per attività semplici il coordinamento può richiedere più tempo del lavoro |
| Qualità non automatica | Più agenti non garantiscono necessariamente una risposta migliore |
| Maggiore superficie di controllo | Permessi, dati e limiti devono essere rispettati da ogni agente |
Per questo motivo la regola stabilisce che non debba essere utilizzato automaticamente il numero massimo di agenti. La scelta corretta è il numero minimo capace di produrre un beneficio verificabile.
Qual è l’impatto sui costi?
L’impiego di più agenti può aumentare il consumo complessivo perché ogni agente deve:
- ricevere istruzioni e contesto;
- analizzare informazioni;
- generare un risultato;
- eventualmente rispondere a richieste di approfondimento;
- trasferire il proprio risultato al coordinatore.
L’aumento non è necessariamente proporzionale al numero degli agenti. Dipende dalla quantità di contesto duplicato, dalla complessità delle attività e dal modello utilizzato.
Il multi-agent può comunque risultare economicamente conveniente quando:
- riduce sensibilmente il tempo necessario;
- evita errori costosi;
- permette di rilevare problemi che una singola analisi potrebbe trascurare;
- assegna attività semplici ad agenti meno costosi;
- evita che un modello molto potente debba eseguire direttamente tutte le elaborazioni.
La soluzione più efficiente consiste generalmente nell’utilizzare:
- un coordinatore adeguato alla complessità del lavoro;
- pochi subagenti con incarichi molto precisi;
- contesti ridotti alle sole informazioni necessarie;
- strumenti deterministici per calcoli e verifiche oggettive;
- agenti aggiuntivi soltanto quando esiste un vantaggio concreto.
Quando conviene utilizzarlo
Il multi-agent è consigliato quando:
- il lavoro contiene almeno due attività indipendenti;
- occorre analizzare numerosi file o fonti;
- è utile un controllo incrociato;
- il risultato deve coprire competenze differenti;
- alcune elaborazioni possono procedere contemporaneamente;
- la riduzione dei tempi compensa il maggiore consumo di risorse.
Quando è meglio un solo agente
Un solo agente è normalmente preferibile quando:
- la richiesta è breve;
- il lavoro è strettamente sequenziale;
- tutte le attività dipendono continuamente dallo stesso risultato;
- occorre modificare un unico file con una variazione limitata;
- il coordinamento richiederebbe più lavoro dell’analisi;
- non esistono parti realmente indipendenti.
Conclusione
Il multi-agent è un metodo di organizzazione del lavoro, non una garanzia automatica di qualità. Il suo valore deriva dalla capacità di distribuire attività indipendenti mantenendo un responsabile unico.
Le regole inserite in AGENTS.md definiscono esattamente chi coordina, chi decide la suddivisione, quanti agenti possono essere utilizzati, quali limiti devono rispettare e come devono essere verificati i risultati.
Il principio fondamentale rimane semplice: utilizzare più agenti quando il parallelismo migliora concretamente velocità, controllo o qualità, mantenendo sempre una responsabilità centrale e una verifica finale.