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

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.
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
👀 See Also

O comando Claude Code /insights fornece dicas de depuração e tarefas autônomas
Um usuário do Reddit compartilha duas técnicas práticas para usar o comando /insights do Claude Code: pedir pelo menos três causas potenciais ao depurar bugs e usar especificações de tarefas abrangentes com --dangerously-skip-permissions para execuções autônomas.

Entradas no CLAUDE.md que desativam o comportamento de ritmo humano do Opus 4.7
Três diretrizes CLAUDE.md que suprimem as sugestões de pausa, superestimativas de tempo e divisão em fases do Opus 4.7 durante longas sessões de codificação.

Correções no Harness de Verificação Resolvem o Problema de Execução do Plano do Claude
Um desenvolvedor criou uma camada de verificação de 30-50 linhas em bash ou Python que verifica se o Claude realmente executa cada etapa de seus próprios planos, confirmando artefatos como existência de arquivos, respostas de API e alterações de configuração.

Use HTML como Linguagem Principal de Chat para Agentes de Codificação de IA para Habilitar Diagramas SVG
Um desenvolvedor trocou os prompts de sistema do agente de codificação de Markdown para HTML, permitindo que os agentes renderizassem diagramas SVG e tabelas ricas diretamente no chat. Usando Qwen3.6-27B com uma interface HTML-first.