SKIP TO CONTENT
Tutti gli articoli
GUIDE·July 4, 2026·4 MIN DI LETTURA

Come sbloccare il tuo agente di coding IA quando continua a ripetere lo stesso errore

Di VCA Newsroom

Questo articolo è stato tradotto automaticamente e potrebbe contenere errori. Visualizza l'originale in inglese

Dici al tuo agente di coding IA di smettere di usare una funzione deprecata. Si scusa, riscrive il codice — e usa di nuovo la stessa funzione deprecata. Lo correggi una terza volta. Stesso risultato. Questo è il "doom loop", e prima o poi ci finisce ogni sviluppatore. La buona notizia: una volta capito perché accade, la soluzione è rapida e ripetibile.

Perché gli agenti si bloccano

Un agente di coding IA non ricorda la tua ultima correzione come farebbe una persona. Lavora a partire dal suo contesto — la trascrizione in corso della vostra conversazione più i file che ha letto. In una sessione lunga due cose vanno storte:

  • Gli errori si sommano. Se un'assunzione sbagliata entra presto nel contesto, ogni risposta successiva ci si costruisce sopra. La tua correzione è solo un altro messaggio che compete con tutto il testo precedente che continua a dire la cosa sbagliata.
  • Marcescenza del contesto (context rot). Man mano che la finestra si riempie durante una sessione lunga, la qualità dell'output degrada gradualmente. L'agente inizia a perdere di vista le istruzioni che gli hai dato venti messaggi fa.

Quindi, quando un agente ripete un errore, di solito non è testardaggine — sta annegando in un contesto inquinato. Correggi il contesto, non l'atteggiamento dell'agente.

Passo 1: Ripristina invece di rispiegare

Il tuo istinto è spiegare la correzione con più forza. Resisti. Ogni messaggio in più si aggiunge al contesto inquinato. Piuttosto, taglia via il contesto compromesso:

  • In Claude Code, /rewind riporta la conversazione e le modifiche ai file a un checkpoint precedente — usalo quando gli ultimi passaggi sono andati male ma il lavoro precedente vale la pena di essere conservato (doppio tocco su Esc per lo stesso menu). /clear cancella completamente la conversazione e riparte da zero lasciando intatto il codice — usalo quando l'intera sessione è deragliata. /compact riassume la cronologia in una forma più breve quando vuoi proseguire con un'impronta più leggera. (Vedi le best practice di Claude Code.)
  • In Cursor o in uno strumento basato su chat, avvia una nuova chat per l'attività bloccata invece di continuare quella compromessa.

Un contesto pulito con un'unica istruzione chiara batte un contesto lungo con cinque istruzioni sempre più frustrate.

Passo 2: Dai alla correzione una casa permanente

Una correzione digitata nella chat svanisce alla fine della sessione. Alla sessione successiva l'agente commette lo stesso errore — perché hai rimosso la soluzione dalla sua memoria chiudendo la finestra. Metti le regole durature dove l'agente le legge ogni volta:

  • Claude Code: un file CLAUDE.md nella radice del tuo repository.
  • Cursor: un file di regole (ad es. .cursor/rules/).
  • Qualsiasi agente: un file AGENTS.md, ormai ampiamente supportato.

Scrivi la regola come un'affermazione piana e verificabile. Non "cerca di scrivere codice pulito", ma: "Usa fetch, mai axios. Questo progetto non ha alcuna dipendenza da axios."

Passo 3: Rendi il vincolo impossibile da ignorare

Ecco un esempio concreto. Supponiamo che il tuo agente continui a importare una libreria di date che hai rimosso:

// Agent keeps writing this:
import moment from 'moment'
const now = moment().format('YYYY-MM-DD')

Gli hai detto tre volte di usare invece l'API integrata Intl. Anziché una quarta correzione, aggiungi una riga a CLAUDE.md:

## Dates
Never import `moment` or `dayjs` — they are not installed.
Format dates with the built-in `Intl.DateTimeFormat`. Example:
`new Intl.DateTimeFormat('en-CA').format(new Date())` → "2026-07-04"

La differenza: hai fornito una regola più un esempio funzionante. Gli agenti seguono un esempio copiabile in modo molto più affidabile rispetto a un'istruzione astratta, e ora la regola si carica automaticamente all'inizio di ogni sessione.

Passo 4: Dai all'agente un modo per controllarsi

Gli agenti ripetono gli errori che non riescono a vedere. Chiudi il cerchio dando all'agente un segnale che può leggere:

  • Una regola di linter o un test che fallisce esattamente su quell'errore. Se moment è vietato dal tuo linter, l'agente esegue il linter, vede l'errore e lo corregge — senza che tu debba intervenire.
  • Una rapida checklist di "definizione di completato" nel tuo prompt: "Prima di terminare, esegui npm run lint e npm test e conferma che entrambi passino."

Questo è il salto di qualità più grande. Un errore che l'agente può rilevare da solo smette di essere un errore che devi cogliere tu.

Passo 5: Rimpicciolisci l'attività

Se un agente entra in loop su una richiesta grande e vaga ("rifattorizza il sistema di autenticazione"), spesso si è perso nella portata, non nel dettaglio. Suddividi il lavoro in un unico piccolo passo verificabile alla volta — "estrai la logica di refresh del token in una funzione a sé, non cambiare il comportamento" — e conferma ciascun passo prima di procedere. Le attività piccole lasciano meno spazio per andare fuori strada.

Lo schema

Quando il tuo agente non smette di ripetere un errore, scorri la lista: ripristina il contesto, scrivi la regola dove persiste, mostra un esempio, dagli un controllo che può eseguire da solo e restringi l'attività. Noterai il filo conduttore — non stai discutendo con l'agente, stai correggendo ciò che riesce a vedere. Fai così e il doom loop si trasforma in una deviazione di due minuti invece che in un pomeriggio perso.

Auto-generated by Vibe Coding Academy on July 4, 2026, grounded in the real sources linked above. We review for accuracy, but please verify time-sensitive details against the primary sources.

Build Blueprint · Creator

Hai un'idea? Ottieni le specifiche da cui il tuo agente IA può partire.

Descrivi qualsiasi prodotto e ottieni un blueprint di sviluppo completo — stack, modello dati, schermate, API e un prompt pronto da incollare per Claude Code o Cursor. Esporta in PDF.

Apri il Blueprint