Gestire una flotta di agenti IA su un'unica bacheca
Come far lavorare più di un agente IA sulla stessa coda di attività senza che due di loro prendano lo stesso lavoro: prese in carico atomiche, stato delle prese in carico in tempo reale ed esecuzioni verificabili.

Di Alejandro Rioja6 min di lettura
Nel momento in cui fai lavorare più di un agente IA sulla stessa lista di attività, compare un problema nuovo, che un agente solo non incontra mai: due agenti possono vedere entrambi la stessa attività pronta e provare entrambi a prenderla in carico. Un'app di cose da fare costruita per un solo utente che spunta le voci non ha motivo di risolverlo. Un'app di cose da fare per agenti IA deve farlo.
Il problema della doppia presa in carico
Se “prendere in carico un'attività” è solo un aggiornamento di stato, due agenti che interrogano la stessa coda nello stesso momento possono leggerla entrambi come disponibile e cominciare entrambi a lavorarci: nel migliore dei casi lavoro sprecato, nel peggiore risultati in conflitto. La soluzione non è una convenzione che gli agenti dovrebbero rispettare: è rendere atomica la presa in carico stessa, così il tentativo del secondo agente semplicemente non trova nulla.
Come Done evita che una flotta si pesti i piedi
- next_task: un'estrazione atomica dalla coda. Prende in carico la singola attività pronta con la priorità più alta e la restituisce; un secondo agente che lo chiama un istante dopo riceve quella successiva, mai la stessa.
- release_task: restituisce alla coda un'attività presa in carico se un agente non può finirla subito, invece di lasciarla bloccata nel limbo.
- fleet_status: un'istantanea in tempo reale di tutte le attività che un agente ha in carico, da quanto tempo e se la presa in carico è scaduta.
- Budget delle esecuzioni: start_run, check_budget ed end_run delimitano quanto può fare una singola sessione, così un agente non può consumare in silenzio l'intera coda.
Che cosa mostra davvero fleet_status
Prima di prendere un'attività, un agente (o tu) può chiamare fleet_status per vedere esattamente che cosa è già in carico in tutta la flotta: quale attività, quale agente, da quanto tempo e se la presa in carico è scaduta (cioè chi la teneva non si è più fatto sentire e l'attività è di nuovo libera). È la stessa visibilità che vorresti entrando in una stanza in cui più persone stanno già lavorando.
Progettare un flusso di lavoro per una flotta
Non esiste una sola forma giusta. Alcune configurazioni usano un unico agente generalista che chiama next_task in ciclo finché la coda non è vuota. Altre dividono per progetto o per ruolo (un agente per gli arretrati di un progetto preciso, un altro per una coda di manutenzione ricorrente), usando token con ambito limitato per tenere la visuale di ciascuno entro la propria corsia. I team che mettono insieme su una bacheca gli agenti di più persone tendono a usare soprattutto fleet_status, perché è proprio il problema di visibilità che le bacheche condivise creano.
Verificare che cosa ha fatto la flotta
Ogni sessione di un agente è un'esecuzione, registrata con il proprio budget di chiamate agli strumenti e di tempo: start_run la apre, end_run la chiude con un riepilogo e un esito, e check_budget dice a un agente (o a te) quanto resta del margine di quella sessione prima che venga rifiutata del tutto. A parte, list_claude_shipped ti dà un elenco pulito di tutto ciò che un agente ha davvero segnato come completato, dalle cose più recenti: utile per un punto della situazione, una retrospettiva o semplicemente per rispondere a “quanto hanno smaltito gli agenti questa settimana”.
Quando una flotta non è la forma giusta
Alla maggior parte delle persone tutto questo non serve. Un solo agente collegato che smaltisce una coda in ordine di priorità copre benissimo il caso comune, e fleet_status e l'atomicità di next_task non ti costano nulla se non usi mai un secondo agente. Questo meccanismo si guadagna il suo posto proprio quando fai lavorare più agenti in parallelo, o quando sulla bacheca di un team con il piano Teams gli agenti di più persone lavorano sullo stesso spazio di lavoro condiviso.
Domande frequenti
Che cos'è una flotta di agenti IA in un'app di cose da fare?
Più di un agente IA collegato alla stessa bacheca e al lavoro su di essa: più agenti che usi tu, oppure gli agenti di più collaboratori che condividono uno spazio di lavoro Teams. Il problema di coordinamento che ne nasce è che gli agenti possono prendere in carico per errore la stessa attività.
Come fanno due agenti IA a non prendere la stessa attività?
Con una presa in carico atomica. Lo strumento next_task di Done estrae dalla coda, in una sola chiamata, la singola attività pronta con la priorità più alta: un secondo agente che lo chiama un istante dopo riceve un'altra attività, o nessuna, ma mai la stessa.
Posso vedere che cosa stanno facendo in questo momento i miei agenti IA?
Sì: fleet_status mostra tutte le attività che un agente ha in carico, da quanto tempo e se la presa in carico è scaduta, e list_claude_shipped mostra tutto ciò che è già stato completato, dalle cose più recenti.