Agenti AI e strategia dei branch: automazione sicura con Git
Gli agenti AI non sono guasti, ma sono imprevedibili.
Una recente issue su GitHub ha mostrato un agente che ignorava le istruzioni esplicite di evitare di fare il commit sul branch main. Ha letto le regole, ha concordato con esse, e poi ha comunque effettuato il push su main.
Se il tuo modello di sicurezza si basa sul dire a un agente "non fare questo", non hai un modello di sicurezza. Hai solo speranza.
Non puoi sovrastare un system prompt urlando. Invece, devi costruire un sistema in cui l'agente non possa fisicamente fare la cosa sbagliata.
Ecco come impostare una strategia di automazione sicura:
Usa i Git Worktree per l'isolamento Non permettere agli agenti di lavorare nella tua directory principale. Usa
git worktree addper dare a ogni agente la propria directory e il proprio branch. Un agente non può fare il commit su main se main non è nemmeno in stato di checkout nel suo workspace.Usa una convenzione di denominazione dei branch rigorosa Gli agenti creano molti branch. Se non li nomini correttamente, perderai il controllo. Usa un prefisso a tre parti: • agent/feat/checkout-coupon-stacking • agent/fix/flaky-payment-test • agent/chore/bump-eslint Questo ti permette di filtrare e pulire facilmente i branch automatizzati.
Fai lo squash al momento del merge Gli agenti possono essere disordinati. Potrebbero fare commit troppo spesso o creare un unico commit gigante e illeggibile. Non preoccuparti della loro igiene dei commit. Usa lo squash-merging quando effettui il merge della loro PR. Questo mantiene pulita la cronologia di main, permettendo al contempo all'agente di usare il proprio branch come una bozza.
Implementa una difesa a più livelli Non affidarti a un unico guardrail.
- Istruzioni del prompt: Una prima linea di difesa.
- Hook pre-commit locali: Bloccano i commit accidentali su branch protetti.
- Protezione dei branch lato server: Il livello più importante. Richiedi una pull request sul tuo repository remoto. Questo rende impossibile per un agente fare il push su main senza l'approvazione umana.
L'obiettivo è lasciare che l'agente lavori autonomamente, mentre l'essere umano rientra nel loop solo in fase di pull request.
Smetti di fare da babysitter a ogni modifica. Costruisci una struttura in cui anche un agente distratto produca un risultato sicuro.
Source: https://dev.to/nazar_boyko/ai-agents-and-branch-strategy-safe-automation-with-git-57ja
Optional learning community: https://t.me/GyaanSetuAi