Ho dato a un coding agent accesso al mio repo: 3 mesi dopo
Cosa ha funzionato, cosa no, e come ho ristrutturato la review per non perdere il controllo del codice.
Tre mesi fa ho collegato un coding agent al repository principale di un cliente. Non un giocattolo: 180k righe, CI seria, deploy giornalieri. Ecco cosa ho imparato.
Il primo errore: nessun confine
All’inizio gli avevo dato accesso a tutto. Sbagliato. La svolta è stata scrivere un file di istruzioni con confini espliciti su cosa può toccare e cosa no.
# Aree read-only per l'agenteexport AGENT_READONLY="src/legacy,config/production"# Aree dove può proporre patch (mai push diretto su main)export AGENT_WRITABLE="src/features,tests"
agent run --config .agent/rules.json --branch "agent/${TICKET}"Le regole che gli passo
Le regole vivono in un JSON versionato insieme al codice. Cambiano spesso.
{ "review": { "requireHumanApproval": true, "maxFilesPerPatch": 12, "forbidden": ["force-push", "migration:fresh", "secrets"] }, "tests": { "runBeforePatch": true, "command": "npm test -- --changed" }}La lezione più importante
L’agente non ha ridotto il tempo che passo sul codice: lo ha spostato. Meno tempo a scrivere, molto più tempo a leggere diff. La review è diventata il collo di bottiglia — e va bene così, perché è lì che sta il valore.
Un agente veloce con una review lenta è un agente lento. Ho ottimizzato la review, non la generazione.