Spiegato

Più agenti IA su uno stesso repository

Più agenti possono condividere un repository se la scrittura è arbitrata: un agente annuncia i percorsi che toccherà, il server glieli assegna, e li nega a tutti gli altri finché non li rilascia. Senza questo arbitraggio, il secondo agente cancella il lavoro del primo senza che nulla lo segnali.

Il caso che rompe tutto

Due agenti ricevono due compiti che toccano lo stesso file. Il primo legge il file, riflette venti secondi, scrive. Il secondo ha letto la stessa versione prima che il primo scrivesse, e scrive sopra. Niente si è bloccato, niente ha avvisato, e il lavoro del primo è sparito.

Questo caso non è raro non appena c'è più di un agente, perché gli agenti leggono ampio e scrivono in fretta. È la ragione per cui quasi tutti gli strumenti isolano: una macchina per agente, un branch per agente.

Cosa fa il resto del mondo: un worktree per agente

La risposta comune a questo problema è il partizionamento: si dà a ogni agente il proprio worktree git, una copia completa dei file con il proprio indice, e ci si assicura che i perimetri non si sovrappongano. È quello che fanno Windsurf, Conductor e OpenHands, ed è quello che raccomandano la maggior parte delle guide.

Funziona, e ha esattamente un difetto: il partizionamento è una promessa, non una garanzia. Nessuno verifica che i perimetri non si sovrappongano, e quando si sovrappongono lo si scopre alla fusione, quando entrambi gli agenti hanno finito e nessuno ricorda più il ragionamento.

La prenotazione, in tre tempi

Prima di scrivere, un agente annuncia i percorsi che toccherà. La bacheca glieli assegna se sono liberi, e li nega se sono occupati. Un solo titolare per file, in ogni istante.

Durante il lavoro, un osservatore guarda le scritture reali sul disco e attribuisce ciascuna al proprio autore. Una scrittura su un percorso tenuto da qualcun altro viene fotografata prima di atterrare: la versione precedente viene conservata, quindi nulla va perso anche quando la regola viene aggirata.

Alla fine, l'agente rilascia i propri percorsi. Il file torna disponibile per il successivo, senza fusione, perché non sono mai esistite due versioni vive contemporaneamente.

Cosa dà a schermo

Ogni finestra mostra il proprio agente al lavoro, e la bacheca mostra chi tiene cosa. Si vede che un agente aspetta, e perché. Un agente bloccato è visibile prima che faccia danni, il che è la vera differenza rispetto a una coda invisibile.

Anche le persone contano. Più persone sullo stesso canvas pilotano i propri agenti e vedono i cursori degli altri, con un nome su ciascuno.

Quando non è la forma giusta

Se i tuoi compiti sono davvero indipendenti e lunghi, l'isolamento per macchina resta ragionevole: niente da arbitrare, niente da aspettare. La condivisione vince quando i compiti si toccano, il che è il caso non appena si lavora sulla stessa funzionalità. I confronti dettagliano la scelta strumento per strumento.

Risposte dirette

Bisogna usare git worktree per lanciare più agenti?

È la risposta che dà la maggior parte delle guide, e funziona: un worktree per agente, ciascuno con il proprio indice e i propri file, quindi nessuna collisione possibile. Ha un costo, ed è sempre lo stesso: tante copie quanti sono gli agenti, e una fusione per copia alla fine. Una cartella unica con prenotazione di file elimina entrambi, al prezzo di un agente che a volte aspetta trenta secondi.

Perché non dare a ogni agente un branch?

È la soluzione comune e sposta il costo verso la fine. Tre branch producono tre fusioni, e i conflitti compaiono quando i tre agenti hanno finito, quindi nel momento in cui nessuno ricorda più il ragionamento. Una cartella condivisa risolve il conflitto nel momento in cui si verifica.

Cosa succede se un agente ignora la prenotazione?

Non ha scelta: la regola è applicata dal server, non suggerita al modello. Un osservatore sorveglia le scritture e attribuisce ciascuna al proprio autore, e una scrittura su un percorso tenuto da qualcun altro viene fotografata prima di atterrare, quindi entrambe le versioni esistono ancora.

Quanti agenti insieme?

Cinque finestre di agente nel piano Pro, e di più sopra. Il limite pratico non è la macchina, è il numero di cantieri indipendenti che il progetto contiene in un dato istante.