Rilevamento dei loop degli strumenti
OpenClaw può impedire agli agenti di restare bloccati in schemi ripetuti di chiamate agli strumenti. La protezione è disabilitata per impostazione predefinita. Abilitala solo dove serve, perché con impostazioni rigide può bloccare chiamate ripetute legittime.Perché esiste
- Rilevare sequenze ripetitive che non fanno progressi.
- Rilevare loop ad alta frequenza senza risultati (stesso strumento, stessi input, errori ripetuti).
- Rilevare specifici pattern di chiamate ripetute per strumenti di polling noti.
Blocco di configurazione
Valori predefiniti globali:Comportamento dei campi
enabled: interruttore principale.falsesignifica che non viene eseguito alcun rilevamento dei loop.historySize: numero di chiamate recenti agli strumenti mantenute per l’analisi.warningThreshold: soglia prima di classificare un pattern come solo avviso.criticalThreshold: soglia per bloccare i pattern di loop ripetitivi.globalCircuitBreakerThreshold: soglia globale dell’interruttore di sicurezza per assenza di progressi.detectors.genericRepeat: rileva pattern ripetuti stesso strumento + stessi parametri.detectors.knownPollNoProgress: rileva pattern simili al polling noti senza cambiamento di stato.detectors.pingPong: rileva pattern alternati di tipo ping-pong.
Configurazione consigliata
- Inizia con
enabled: true, lasciando invariati i valori predefiniti. - Mantieni le soglie ordinate come
warningThreshold < criticalThreshold < globalCircuitBreakerThreshold. - Se si verificano falsi positivi:
- aumenta
warningThresholde/ocriticalThreshold - (facoltativamente) aumenta
globalCircuitBreakerThreshold - disabilita solo il detector che causa problemi
- riduci
historySizeper un contesto storico meno rigido
- aumenta
Log e comportamento previsto
Quando viene rilevato un loop, OpenClaw segnala un evento di loop e blocca o attenua il ciclo successivo dello strumento a seconda della gravità. Questo protegge gli utenti da un consumo incontrollato di token e da blocchi, preservando al tempo stesso il normale accesso agli strumenti.- Preferisci prima avvisi e soppressione temporanea.
- Escala solo quando si accumulano prove ripetute.
Note
tools.loopDetectionviene unito con gli override a livello agente.- La configurazione per agente sostituisce completamente o estende i valori globali.
- Se non esiste alcuna configurazione, i guardrail restano disattivati.