Tool-Loop-Erkennung
OpenClaw kann verhindern, dass Agents in wiederholten Tool-Call-Mustern steckenbleiben. Der Schutz ist standardmäßig deaktiviert.
Aktiviere ihn nur dort, wo er gebraucht wird, da er bei strengen Einstellungen auch legitime wiederholte Aufrufe blockieren kann.
Warum es das gibt
- Repetitive Sequenzen erkennen, die keinen Fortschritt machen.
- Hochfrequente No-Result-Loops erkennen (gleiches Tool, gleiche Eingaben, wiederholte Fehler).
- Bestimmte wiederkehrende Aufrufmuster für bekannte Polling-Tools erkennen.
Konfigurationsblock
Globale Defaults:
{
tools: {
loopDetection: {
enabled: false,
historySize: 30,
warningThreshold: 10,
criticalThreshold: 20,
globalCircuitBreakerThreshold: 30,
detectors: {
genericRepeat: true,
knownPollNoProgress: true,
pingPong: true,
},
},
},
}
Pro-Agent-Override (optional):
{
agents: {
list: [
{
id: "safe-runner",
tools: {
loopDetection: {
enabled: true,
warningThreshold: 8,
criticalThreshold: 16,
},
},
},
],
},
}
Feldverhalten
enabled: Master-Schalter.falsebedeutet, keine Loop-Erkennung wird durchgeführt.historySize: Anzahl der aufbewahrten letzten Tool-Calls für die Analyse.warningThreshold: Schwellenwert, bevor ein Muster nur als Warnung klassifiziert wird.criticalThreshold: Schwellenwert für die Blockierung repetitiver Loop-Muster.globalCircuitBreakerThreshold: globaler No-Progress-Breaker-Schwellenwert.detectors.genericRepeat: erkennt wiederholte Muster mit gleichem Tool + gleichen Parametern.detectors.knownPollNoProgress: erkennt bekannte Polling-artige Muster ohne Zustandsänderung.detectors.pingPong: erkennt alternierende Ping-Pong-Muster.
Empfohlenes Setup
- Starte mit
enabled: true, Standardwerte unverändert. - Halte die Schwellenwerte in der Reihenfolge
warningThreshold < criticalThreshold < globalCircuitBreakerThreshold. - Bei False Positives:
- erhöhe
warningThresholdund/odercriticalThreshold - (optional) erhöhe
globalCircuitBreakerThreshold - deaktiviere nur den verursachenden Detektor
- reduziere
historySizefür weniger strikten historischen Kontext
- erhöhe
Logs und erwartetes Verhalten
Wenn ein Loop erkannt wird, meldet OpenClaw ein Loop-Ereignis und blockiert oder dämpft den nächsten Tool-Zyklus je nach Schweregrad. Das schützt Benutzer vor unkontrolliertem Token-Verbrauch und Blockaden, während normaler Tool-Zugang erhalten bleibt.
- Bevorzuge zuerst Warnung und temporäre Unterdrückung.
- Eskaliere nur, wenn sich wiederholte Hinweise ansammeln.
Hinweise
tools.loopDetectionwird mit Agent-Level-Overrides zusammengeführt.- Pro-Agent-Konfiguration überschreibt oder erweitert globale Werte vollständig.
- Wenn keine Konfiguration existiert, bleiben die Schutzmaßnahmen aus.