Herramientas integradas
Detección de bucles en herramientas
OpenClaw puede evitar que los agentes se queden atascados en patrones repetitivos de llamadas a herramientas. Esta protección está deshabilitada por defecto. Habilítala solo donde sea necesario, porque con configuraciones estrictas puede bloquear llamadas repetidas legítimas.
Por qué existe esto
- Detectar secuencias repetitivas que no generan progreso.
- Detectar bucles de alta frecuencia sin resultados (misma herramienta, mismos parámetros, errores repetidos).
- Detectar patrones específicos de llamadas repetidas para herramientas de sondeo conocidas.
Bloque de configuración
Valores predeterminados globales:
{
tools: {
loopDetection: {
enabled: false,
historySize: 30,
warningThreshold: 10,
criticalThreshold: 20,
globalCircuitBreakerThreshold: 30,
detectors: {
genericRepeat: true,
knownPollNoProgress: true,
pingPong: true,
},
},
},
}
Anulación por agente (opcional):
{
agents: {
list: [
{
id: "safe-runner",
tools: {
loopDetection: {
enabled: true,
warningThreshold: 8,
criticalThreshold: 16,
},
},
},
],
},
}
Comportamiento de los campos
enabled: Interruptor maestro.falsesignifica que no se realiza ninguna detección de bucles.historySize: número de llamadas a herramientas recientes que se conservan para el análisis.warningThreshold: umbral antes de clasificar un patrón como solo advertencia.criticalThreshold: umbral para bloquear patrones de bucle repetitivos.globalCircuitBreakerThreshold: umbral global del cortacircuitos por falta de progreso.detectors.genericRepeat: detecta patrones repetidos de misma-herramienta + mismos-parámetros.detectors.knownPollNoProgress: detecta patrones de sondeo conocidos sin cambio de estado.detectors.pingPong: detecta patrones alternantes de ping-pong.
Configuración recomendada
- Comienza con
enabled: true, dejando los valores predeterminados sin cambios. - Mantén los umbrales ordenados como
warningThreshold < criticalThreshold < globalCircuitBreakerThreshold. - Si ocurren falsos positivos:
- aumenta
warningThresholdy/ocriticalThreshold - (opcionalmente) aumenta
globalCircuitBreakerThreshold - deshabilita solo el detector que causa problemas
- reduce
historySizepara un contexto histórico menos estricto
- aumenta
Registros y comportamiento esperado
Cuando se detecta un bucle, OpenClaw reporta un evento de bucle y bloquea o atenúa el siguiente ciclo de herramientas dependiendo de la severidad. Esto protege a los usuarios del gasto descontrolado de tokens y bloqueos, preservando el acceso normal a las herramientas.
- Prefiere primero la advertencia y la supresión temporal.
- Escala solo cuando se acumula evidencia repetida.
Notas
tools.loopDetectionse fusiona con las anulaciones a nivel de agente.- La configuración por agente anula o extiende completamente los valores globales.
- Si no existe configuración, las protecciones permanecen desactivadas.