Salta al contenuto
Neaptidestudio
blog

Più agenti nello stesso progetto: usare Git worktree

Neaptide · 20 settembre 2026 · 8 min di lettura

Separa i compiti degli agenti con Git worktree: cartelle, rami, ambienti, verifica e integrazione delle modifiche.

In questo articolo
Due spazi di lavoro sui rami dello stesso progetto.

Il lavoro parallelo diventa difficile quando due agenti modificano la stessa cartella. Uno corregge un modulo, l'altro riorganizza un componente e i test controllano un insieme di modifiche incomplete. Git worktree separa i file: ogni attività ottiene una propria cartella e un branch.

Un worktree è una copia di lavoro aggiuntiva dello stesso repository Git. La cronologia è condivisa, mentre il branch estratto e i file di lavoro sono separati. Si possono così sviluppare più modifiche contemporaneamente. Il manuale Git descrive funzionamento e comandi.

Quali attività svolgere in parallelo

Partite da due modifiche indipendenti: correggere la gestione degli errori di un modulo e aggiornare un testo di aiuto. Se entrambe toccano uno schema dati o un componente condiviso, concordate prima l'interfaccia e risolvete la dipendenza in sequenza.

Attività adatte alla separazione
Attività adatte alla separazioneOrdine da stabilire prima
Correzione del modulo e documentazioneModifica API e interfaccia che ne dipende
Test di moduli indipendentiDue refactoring dello stesso componente
Analisi di un bug e modifica di testo separataMigrazione dei dati e codice per il nuovo schema

Le cartelle separate evitano di mescolare file incompleti, ma non risolvono contraddizioni funzionali. Due modifiche possono essere unite senza conflitti Git e comunque compromettere l'applicazione insieme.

Creare due copie di lavoro

L'esempio presuppone un repository esistente con almeno un commit. Eseguite i comandi dalla cartella principale. I nomi dei branch e delle cartelle adiacenti devono essere disponibili.

git status --short
git worktree add -b ai/form-fix ../project-form HEAD
git worktree add -b ai/docs-update ../project-docs HEAD
git worktree list

Entrambe le copie partono dal commit HEAD corrente. Le modifiche non committate nella cartella originale non vengono trasferite. Se servono a entrambe le attività, preparate prima una versione di partenza concordata. Non committate il lavoro incompleto di altri soltanto per seguire l'esempio.

In due terminali distinti, aprite le nuove cartelle e avviate l'agente. Per Claude Code:

cd ../project-form
claude

Nel secondo terminale aprite `../project-docs`. Claude Code offre anche un avvio diretto in worktree, descritto nella guida alle sessioni parallele. Il metodo manuale rende visibili cartelle e branch indipendentemente dal client.

Dare istruzioni a ciascun agente

Definite risultato e confini. Per il primo agente:

Correggi il messaggio di errore dell'invio del modulo nel worktree corrente. Individua il modulo e i relativi test, preservando l'invio riuscito. Non modificare la struttura dell'API o la documentazione. Mostra il diff e i risultati delle verifiche. Non unire i branch.

Assegnate al secondo la documentazione, chiedendo di non modificare il codice del modulo. Sono esempi didattici: usate percorsi, comandi e criteri effettivi del progetto.

Controllate l'ambiente di ogni copia. Dipendenze e configurazioni personali possono richiedere preparazione separata. Due server di sviluppo devono usare porte diverse. Se condividono il database di test, separate i dati oppure evitate scenari concorrenti che lo modificano.

Accettare il risultato

Esaminate ciascun diff separatamente: prima la conformità all'incarico, poi i test. Salvate le modifiche verificate con commit nei rispettivi branch.

Unite i branch uno alla volta nel branch di integrazione scelto. Dopo la seconda unione, verificate di nuovo il percorso utente complessivo. Test riusciti su due branch separati non dimostrano che le modifiche funzionino insieme.

Se emergono conflitti, stabilite quale comportamento preservare. Accettare meccanicamente tutte le modifiche di un lato può eliminare parte dell'altra attività.

Quando rimuovere il worktree

Verificate che le modifiche utili siano salvate e accettate e che non restino file non salvati. Dalla copia principale:

git worktree remove ../project-form
git worktree remove ../project-docs

Senza forzatura, Git rifiuta di rimuovere un normale worktree con modifiche non committate. Non aggiungete `--force` soltanto per eliminare l'errore. I branch rimangono dopo la rimozione delle copie: gestiteli separatamente. Comandi worktree.

faq

L'essenziale in breve

Il worktree protegge da qualsiasi azione di un altro agente?

No. Organizza le copie di lavoro, ma non è una macchina virtuale isolata. Servizi condivisi, risorse e percorsi accessibili richiedono controlli distinti.

Quanti agenti avviare insieme?

Iniziate con due. Se le modifiche arrivano più rapidamente della vostra revisione, aumenta la coda in attesa. Misurate il tempo fino al risultato accettato, non il numero di sessioni aperte.

Dove mettere le regole comuni?

Conservate le istruzioni del team nel repository, per esempio in CLAUDE.md (/it/blog/claude-md-guide). Le nuove copie riceveranno la versione presente nel commit iniziale.