Naar hoofdinhoud gaan

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

OpenClaw kan voorkomen dat agents vastlopen in herhaalde tool-call-patronen. De guard is standaard uitgeschakeld. Schakel deze alleen in waar nodig, omdat strikte instellingen legitieme herhaalde calls kunnen blokkeren.

Waarom dit bestaat

  • Detecteer repetitieve reeksen die geen voortgang maken.
  • Detecteer hoogfrequente no-result-loops (dezelfde tool, dezelfde invoer, herhaalde fouten).
  • Detecteer specifieke repeated-call-patronen voor bekende pollingtools.

Configuratieblok

Globale standaardinstellingen:
{
  tools: {
    loopDetection: {
      enabled: false,
      historySize: 30,
      warningThreshold: 10,
      criticalThreshold: 20,
      globalCircuitBreakerThreshold: 30,
      detectors: {
        genericRepeat: true,
        knownPollNoProgress: true,
        pingPong: true,
      },
    },
  },
}
Per-agent-override (optioneel):
{
  agents: {
    list: [
      {
        id: "safe-runner",
        tools: {
          loopDetection: {
            enabled: true,
            warningThreshold: 8,
            criticalThreshold: 16,
          },
        },
      },
    ],
  },
}

Gedrag van velden

  • enabled: Hoofdschakelaar. false betekent dat er geen loopdetectie wordt uitgevoerd.
  • historySize: aantal recente tool-calls dat voor analyse wordt bewaard.
  • warningThreshold: drempel voordat een patroon als alleen-waarschuwing wordt geclassificeerd.
  • criticalThreshold: drempel voor het blokkeren van repetitieve looppatronen.
  • globalCircuitBreakerThreshold: globale no-progress-breakerdrempel.
  • detectors.genericRepeat: detecteert herhaalde patronen met dezelfde tool + dezelfde parameters.
  • detectors.knownPollNoProgress: detecteert bekende pollingachtige patronen zonder statuswijziging.
  • detectors.pingPong: detecteert afwisselende pingpongpatronen.
Voor exec vergelijken no-progress-controles stabiele opdrachtresultaten en negeren ze vluchtige runtimemetadata zoals duur, PID, sessie-ID en werkdirectory. Wanneer een run-id beschikbaar is, wordt recente tool-call-geschiedenis alleen binnen die run geëvalueerd, zodat geplande Heartbeat-cycli en nieuwe runs geen verouderde looptellingen uit eerdere runs erven.

Aanbevolen instelling

  • Begin met enabled: true, standaardinstellingen ongewijzigd.
  • Houd drempels geordend als warningThreshold < criticalThreshold < globalCircuitBreakerThreshold.
  • Als er false positives optreden:
    • verhoog warningThreshold en/of criticalThreshold
    • verhoog (optioneel) globalCircuitBreakerThreshold
    • schakel alleen de detector uit die problemen veroorzaakt
    • verlaag historySize voor minder strikte historische context

Logs en verwacht gedrag

Wanneer een loop wordt gedetecteerd, meldt OpenClaw een loopevent en blokkeert of dempt het de volgende toolcyclus, afhankelijk van de ernst. Dit beschermt gebruikers tegen uit de hand lopende tokenkosten en vastlopers, terwijl normale tooltoegang behouden blijft.
  • Geef eerst de voorkeur aan waarschuwingen en tijdelijke onderdrukking.
  • Escaleer alleen wanneer herhaald bewijs zich opstapelt.

Opmerkingen

  • tools.loopDetection wordt samengevoegd met overrides op agentniveau.
  • Per-agent-configuratie overschrijft of breidt globale waarden volledig uit.
  • Als er geen configuratie bestaat, blijven guardrails uit.

Gerelateerd