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

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.
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
👀 Ver también

Usando Narrativas de Proyecto para Mantener el Contexto de OpenClaw en Proyectos a Largo Plazo
Un desarrollador comparte una técnica para crear 'narrativas de proyecto' donde un trabajador separado de OpenClaw analiza la base de código después de hitos para documentar la comprensión del sistema, identificar problemas y mantener el contexto.

El enrutamiento reduce el costo máximo de uso de OpenClaw en un 85%: de $200/mes a $30/mes con enrutamiento API
Un usuario rastreó el uso de tokens y descubrió que solo el 15% de las tareas necesitan Opus. Al enrutar el trabajo rutinario a Sonnet a través de la API, el costo mensual se redujo de $200 a $30 con una calidad de salida idéntica.

Consejos de uso de tokens para Claude Code
Consejos prácticos de una publicación de Reddit para reducir el consumo de tokens: iniciar chats nuevos, agrupar preguntas, mantener CLAUDE.md conciso, ser preciso con las referencias a archivos, resumir y reiniciar hilos, y usar modelos más ligeros para tareas simples.
Inferencia de LLM: Técnicas para la Frontera Eficiente
La guía de Baseten para la ingeniería de inferencia de LLM: cómo el tamaño de lote, el paralelismo y la cuantización le permiten intercambiar latencia por rendimiento o expandir la frontera eficiente.