これが存在する理由
- 進行しない反復シーケンスを検出します。
- 高頻度の結果のないループ (同じツール、同じ入力、繰り返されるエラー) を検出します。
- 既知のポーリング ツールの特定の繰り返し通話パターンを検出します。
構成ブロック
グローバルデフォルト:フィールドの動作
enabled: マスター スイッチ。falseは、ループ検出が実行されないことを意味します。historySize: 分析のために保存されている最近のツール呼び出しの数。warningThreshold: パターンを警告のみとして分類する前のしきい値。criticalThreshold: 反復ループ パターンをブロックするためのしきい値。globalCircuitBreakerThreshold: グローバルな進行状況なしブレーカーのしきい値。detectors.genericRepeat: 繰り返される同じツール + 同じパラメータのパターンを検出します。detectors.knownPollNoProgress: 状態変化のない既知のポーリングのようなパターンを検出します。detectors.pingPong: 交互のピンポン パターンを検出します。
推奨されるセットアップ- enabled: true で始まり、デフォルトは変更されません
- しきい値を
warningThreshold < criticalThreshold < globalCircuitBreakerThresholdとして順序付けします。 - 誤検知が発生した場合:
warningThresholdおよび/またはcriticalThresholdを発生させます- (オプションで)
globalCircuitBreakerThresholdを発生させます - 問題の原因となっている検出器のみを無効にします
- 厳密性の低い歴史的コンテキストのために
historySizeを削減します
ログと予期される動作
ループが検出されると、OpenClaw はループ イベントを報告し、重大度に応じて次のツール サイクルをブロックまたは抑制します。 これにより、通常のツールへのアクセスを維持しながら、ユーザーをトークンの暴走やロックアップから保護します。- 警告と一時的な抑制を優先します。
- 繰り返しの証拠が蓄積された場合にのみエスカレーションします。
注意事項
tools.loopDetectionはエージェント レベルのオーバーライドとマージされます。- エージェントごとの設定は、グローバル値を完全に上書きまたは拡張します。
- 構成が存在しない場合、ガードレールはオフのままになります。