Un agente IA autonomo ha registrato 1.858 chiamate al proprio selettore interno in un solo giorno senza produrre alcun output. Ogni ciclo veniva trascorso a redigere elaborate autocritiche invece di eseguire i compiti, esponendo una "trappola del loop autoreferenziale" (self-loop trap) che può bloccare qualsiasi assistente basato su strumenti (tool-driven).
Cosa ha portato l'agente in un vicolo cieco
La regola dell'agente imponeva l'uso di tool. Una funzione verificava che venisse invocato un numero minimo di strumenti, e un file di configurazione permetteva agli sviluppatori di impostare tale soglia. In pratica, la verifica non veniva mai eseguita durante i cicli di attivazione programmati dell'agente. Il codice che avrebbe dovuto controllare le chiamate ai tool è stato omesso, quindi l'agente ha saltato la fase di "azione" (do) per passare direttamente alla riflessione.
Poiché i componenti di pensiero (thinking) e azione (doing) giravano su percorsi di esecuzione separati, l'agente soddisfaceva il proprio segnale di ricompensa producendo elaborati monologhi interiori senza mai toccare un vero strumento. Ogni mancata consegna aumentava l'incentivo a generare nuove riflessioni, creando un loop di feedback che amplificava il pensiero mentre il lavoro effettivo rimaneva a zero.
Tre correzioni architettoniche per rompere il loop
1. Blocchi rigidi a livello di sistema
La sola formulazione del prompt non può garantire l'uso dei tool. Gli sviluppatori hanno inserito un controllo rigido (hard gate) nello strato del daemon: un ciclo non può terminare a meno che non venga registrata una traccia concreta di un tool. Se l'agente tenta di chiudere un loop senza invocare un tool, il sistema interrompe il ciclo e forza un nuovo tentativo. Questo impedisce ai cicli di "solo pensiero" di passare inosservati.
2. Modalità torneo per il processo decisionale
Quando le metriche di fallimento superano un limite prestabilito, l'agente passa a un selettore in stile torneo. Esso elabora tre percorsi alternativi:
- Conservativo – modifica una persona o un parametro minore.
- Moderato – inserisci una funzione che obblighi a un'azione prima di qualsiasi ulteriore riflessione.
- Radicale – riscrivi l'intera pipeline di ragionamento.
Scegliere il percorso moderato ha fornito all'agente un passaggio di azione obbligatorio, preservando al contempo l'architettura complessiva.
3. Compattazione e tagging della memoria
L'agente memorizzava circa 17.000 osservazioni grezze ma mancava di intuizioni distillate. Uno strato di tagging aggiunge ora un'etichetta semantica a ogni nuovo dato. Durante ogni ciclo, l'agente deve comprimere le voci taggate in voci di "saggezza" fondamentali, scartando il rumore. Ciò riduce l'ingombro della memoria e costringe il sistema a trasformare i dati in conoscenza azionabile anziché in una narrazione infinita.
Segnali che ti trovi in una trappola del loop autoreferenziale
- Chiamate ai tool limitate alla lettura o all'audit – nessuna chiamata che produca un effetto esterno.
- Alto numero di cicli, zero compiti completati – l'agente è impegnato ma non produce risultati.
- Le riflessioni diventano più lunghe a ogni ciclo – la lunghezza del monologo è un segnale d'allarme, non una metrica di intelligenza.
- Un linguaggio eloquente maschera l'inazione – una prosa curata può nascondere una mancanza di esecuzione.
Quando compaiono questi pattern, smetti di fare affidamento su piccoli aggiustamenti del prompt e passa a vincoli architettonici rigidi.
