Imposición de barreras estrictas para los agentes de IA de OpenClaw: control de aprobación y límites de concurrencia

✍️ OpenClawRadar📅 Publicado: 1 de agosto de 2026🔗 Source
Imposición de barreras estrictas para los agentes de IA de OpenClaw: control de aprobación y límites de concurrencia
Ad

Un desarrollador que ejecuta un bot de OpenClaw en un Mac mini con Ollama (GLM 5.2, con respaldo a Anthropic Sonnet 4.6 y Haiku) se encontró con un problema clásico: el bot viola repetidamente reglas estrictas, como "nunca enviar correos sin aprobación" y "máximo 5 llamadas concurrentes", aunque confirme que las entiende cada vez. La hipótesis del usuario es acertada: esto es reglas como contexto, no reglas como restricciones. El modelo trata las instrucciones como consejos, por lo que ninguna cantidad de indicaciones o refuerzo de memoria lo soluciona.

La solución estándar es mover la aplicación fuera del bucle de razonamiento del modelo. No se puede confiar en un predictor estadístico de texto para aplicar límites estrictos; se necesitan comprobaciones deterministas en la capa de orquestación.

Aprobación para llamadas de herramientas

Para condicionar los correos (o cualquier acción peligrosa) a la aprobación, envuelva la llamada de herramienta en un patrón de humano en el bucle:

  • Cuando el modelo solicite enviar un correo, intercepte la llamada antes de que se ejecute.
  • Presente un mensaje de confirmación en Discord (por ejemplo, botones o una reacción).
  • Solo si el usuario aprueba, ejecute la llamada real a la API.
# Pseudo-código en su manejador de herramientas de OpenClaw
if tool == "send_email":
    message = f"¿Aprobar envío de correo a {to}?"
    if not await discord_approval(message):
        return "Usuario rechazó. No enviar."
    # proceda con la llamada a la API de correo

Esto garantiza que el modelo no pueda eludir la compuerta físicamente, sin importar lo que diga.

Ad

Límites de concurrencia a nivel de orquestación

Para límites de concurrencia como "máximo 5", implemente un semáforo o contador en el despachador de comandos:

import asyncio
semaphore = asyncio.Semaphore(5)

async def handle_tool_call(tool, args): async with semaphore: # ejecutar llamada de herramienta

Cualquier intento que supere el límite espera o falla inmediatamente, independientemente de la intención del modelo.

¿Es este un problema específico de GLM/Ollama?

El usuario pregunta si esto es específico de GLM o general a los modelos locales. Según la discusión en r/openclaw, esta es una limitación general de los LLM: todos los modelos tratan las instrucciones como contexto, no como restricciones. La sola indicación no puede imponer límites estrictos. La solución siempre requiere aplicación a nivel de infraestructura.

Recomendación

Deje de repetir reglas en memoria o habilidades. En su lugar, construya comprobaciones explícitas en su capa de llamada de herramientas. Trate al modelo como un motor de sugerencias, no como un aplicador de políticas.

📖 Lee la fuente completa: r/openclaw

Ad

👀 Ver también