Reforçando Limites Rígidos para Agentes de IA do OpenClaw: Controle de Aprovação e Limites de Concorrência

✍️ OpenClawRadar📅 Publicado: August 1, 2026🔗 Source
Reforçando Limites Rígidos para Agentes de IA do OpenClaw: Controle de Aprovação e Limites de Concorrência
Ad

Um desenvolvedor executando um bot OpenClaw em um Mac mini com Ollama (GLM 5.2, fallback para Anthropic Sonnet 4.6 e Haiku) encontrou um problema clássico: o bot viola repetidamente regras rígidas—como "nunca envie e-mails sem aprovação" e "máximo de 5 chamadas concorrentes"—mesmo confirmando entendimento a cada vez. A hipótese do usuário está correta: isso é regras-como-contexto, não regras-como-constraints. O modelo trata instruções como aconselhamento, então nenhuma quantidade de prompt ou reforço de memória resolve.

A correção padrão é mover a aplicação para fora do loop de raciocínio do modelo. Você não pode confiar em um preditor estatístico de texto para impor limites rígidos; você precisa de verificações determinísticas na camada de orquestração.

Gate de Aprovação para Chamadas de Ferramentas

Para gate de e-mails (ou qualquer ação perigosa) atrás de aprovação, envolva a chamada de ferramenta em um padrão humano-no-loop:

  • Quando o modelo solicitar o envio de e-mail, intercepte a chamada antes que ela execute.
  • Apresente um prompt de confirmação no Discord (por exemplo, botões ou uma reação).
  • Apenas se o usuário aprovar, execute a chamada de API real.
# Pseudo-código no seu manipulador de ferramentas OpenClaw
if tool == "send_email":
    message = f"Aprovar envio de e-mail para {to}?"
    if not await discord_approval(message):
        return "Usuário rejeitou. Não envie."
    # prossiga com a chamada de API de e-mail

Isso garante que o modelo fisicamente não possa contornar o gate—não importa o que ele diga.

Ad

Limites de Concorrência na Camada de Orquestração

Para limites de concorrência como "máximo 5", implemente um semáforo ou contador no despachante de comandos:

import asyncio
semaphore = asyncio.Semaphore(5)

async def handle_tool_call(tool, args): async with semaphore: # execute a chamada de ferramenta

Qualquer tentativa acima do limite espera ou falha imediatamente, independentemente da intenção do modelo.

Isso é um Problema Específico do GLM/Ollama?

O usuário pergunta se isso é específico do GLM ou geral para modelos locais. Com base na discussão do r/openclaw, isso é uma limitação geral de LLMs—todos os modelos tratam instruções como contexto, não como restrições. Apenas prompts não podem impor limites rígidos. A solução sempre requer aplicação em nível de infraestrutura.

Recomendação

Pare de reafirmar regras na memória ou habilidades. Em vez disso, construa verificações explícitas na sua camada de chamada de ferramentas. Trate o modelo como um motor de sugestões, não um aplicador de políticas.

📖 Leia a fonte completa: r/openclaw

Ad

👀 See Also