Articoli

Riserva dei file: Come evitare conflitti tra più agenti IA sullo stesso repository

Più agenti non coordinati nello stesso repository causano sovrascritture distruttive. Separarli in branch isolati impedisce la condivisione del codice. La soluzione sono le prenotazioni di file gestite dal server.

Mettere tre agenti sullo stesso codice senza regole porta a sovrascritture in meno di un minuto. Isolarli in rami separati danneggia lo sviluppo collaborativo di nuove applicazioni.

Two agents reach for the same file. One reservation is granted; the other is refused at the board.the boardclaude-1codex-2src/types/order.tsrefused
Un solo titolare per file. I conflitti vengono bloccati dal tabellone prima di toccare il disco.

I limiti dell’isolamento su branch separati

Branch separati impediscono agli agenti di visualizzare tipi e funzioni appena creati.

I file comuni subiscono conflitti di merge non risolvibili automaticamente.

L’anteprima live risulta parziale e incompleta.

La risoluzione manuale comporta spreco di tempo e token.

Per questo motivo gli agenti condividono la stessa cartella.

Lease temporanei senza deadlock

La prenotazione definisce percorsi, identificativo dell’agente, modalità e scadenza.

Modalità esclusiva per scrittura e condivisa per lettura con notifiche di modifica.

export interface ClaimDenial {
  path: string;
  holder: string;
  holderTask: string;
  expiresInS: number;
  hint: string;
}

Le richieste respinte restituiscono i dati del titolare attuale per riorientare il lavoro.

I lease si rinnovano a ogni scrittura effettiva e si liberano alla chiusura del processo.

La cooperazione del modello è ottimizzazione; il controllo del server è certezza.

Monitoraggio attivo del file system

Il server controlla ogni scrittura su disco e respinge modifiche non autorizzate.

classifyWrite(rawPath: string, hintedAgentId?: string): WriteClassification

In caso di violazione, viene creato uno snapshot prima che il file venga alterato.

L’agente responsabile viene arrestato e il titolare legittimo avvisato.

Attribuzione trasparente

Ogni commit su Git viene attribuito automaticamente all’agente responsabile della modifica.

L’architettura complessiva è descritta in più agenti IA su un unico repository, e i terminali in osservare un terminale remoto.

Risposte dirette

Più agenti IA possono lavorare contemporaneamente nello stesso repository?

Sì, attraverso un meccanismo di controllo delle scritture. Su Murmell gli agenti prenotano i file prima di modificarli.

Perché non assegnare a ciascun agente un worktree separato?

Perché impedisce agli agenti di vedere il codice appena scritto dai colleghi, causando duplicazioni e conflitti di merge.

La prenotazione è imposta dal server o suggerita dal prompt?

È imposta a livello di server sul file system.