Обеспечение жестких ограничений для ИИ-агентов OpenClaw: управление утверждением и ограничения параллелизма

✍️ OpenClawRadar📅 Опубликовано: 1 августа 2026 г.🔗 Source
Обеспечение жестких ограничений для ИИ-агентов OpenClaw: управление утверждением и ограничения параллелизма
Ad

Разработчик, запускающий бота OpenClaw на Mac mini с Ollama (GLM 5.2, запасной вариант Anthropic Sonnet 4.6 и Haiku), столкнулся с классической проблемой: бот постоянно нарушает строгие правила, такие как «никогда не отправлять электронные письма без одобрения» и «максимум 5 одновременных вызовов», даже несмотря на то, что каждый раз подтверждает понимание. Гипотеза пользователя верна: это правила как контекст, а не как ограничения. Модель воспринимает инструкции как рекомендательные, поэтому никакие подсказки или усиление памяти не решают проблему.

Стандартное решение — вынести контроль за пределы цикла рассуждений модели. Нельзя полагаться на статистический предсказатель текста для обеспечения жестких ограничений; нужны детерминированные проверки на уровне оркестрации.

Ограничение одобрения для вызовов инструментов

Чтобы ограничить отправку электронных писем (или любое опасное действие) одобрением, оберните вызов инструмента в шаблон «человек в цикле»:

  • Когда модель запрашивает отправку электронного письма, перехватите вызов до его выполнения.
  • Отобразите запрос подтверждения в Discord (например, кнопки или реакцию).
  • Только если пользователь одобрит, выполните фактический вызов API.
# Псевдокод в вашем обработчике инструментов OpenClaw
if tool == "send_email":
    message = f"Одобрить отправку письма на {to}?"
    if not await discord_approval(message):
        return "Пользователь отклонил. Не отправлять."
    # продолжить с вызовом API электронной почты

Это гарантирует, что модель физически не сможет обойти ограничение, независимо от того, что она скажет.

Ad

Ограничения параллелизма на уровне оркестрации

Для ограничений параллелизма, таких как «максимум 5», реализуйте семафор или счетчик в диспетчере команд:

import asyncio
semaphore = asyncio.Semaphore(5)

async def handle_tool_call(tool, args): async with semaphore: # выполнить вызов инструмента

Любая попытка превысить лимит ожидает или немедленно завершается с ошибкой, независимо от намерений модели.

Это проблема, специфичная для GLM/Ollama?

Пользователь спрашивает, специфична ли эта проблема для GLM или общая для локальных моделей. Основываясь на обсуждении в r/openclaw, это общее ограничение LLM — все модели воспринимают инструкции как контекст, а не как ограничения. Один лишь промптинг не может обеспечить соблюдение жестких ограничений. Решение всегда требует контроля на уровне инфраструктуры.

Рекомендация

Прекратите повторять правила в памяти или навыках. Вместо этого встройте явные проверки в уровень вызова инструментов. Относитесь к модели как к механизму предложений, а не к исполнителю политики.

📖 Читать полный источник: r/openclaw

Ad

👀 Смотрите также

Диагностика сниженной производительности Claude: первопричины и исправления
Советы

Диагностика сниженной производительности Claude: первопричины и исправления

Практический разбор того, почему результаты кодирования Claude со временем ухудшаются, и действенные решения, включая управление контекстом и гигиену промптов.

OpenClawRadar
Практические советы по рабочему процессу с Claude Code для сложных проектов разработки
Советы

Практические советы по рабочему процессу с Claude Code для сложных проектов разработки

Пользователь Claude Pro делится конкретными стратегиями рабочего процесса для разработки сложных аудиоплагинов, включая использование режима планирования для основных функций, создание контекстных файлов, управление использованием токенов и внедрение этапов валидации.

OpenClawRadar
Как я взаимодействую с ИИ-моделями в 2026 году по сравнению с прошлым годом: 3 ключевых изменения
Советы

Как я взаимодействую с ИИ-моделями в 2026 году по сравнению с прошлым годом: 3 ключевых изменения

Разработчик делится тремя конкретными изменениями: перейти от шаблонов промптов к переиспользуемым навыкам, писать цели вместо пошаговых инструкций и использовать команды /loop для долгих проектов в Claude Code и Codex.

OpenClawRadar
Уплотнение не исправит контекст, которого никогда не было в транскрипте: диагностика переполнений контекста OpenClaw
Советы

Уплотнение не исправит контекст, которого никогда не было в транскрипте: диагностика переполнений контекста OpenClaw

Отчет об ошибке раскрывает распространенную ловушку OpenClaw: когда только системный промпт превышает лимит токенов, компактификация, которая лишь резюмирует историю разговора, не помогает. Используйте /context map и /context detail, чтобы найти настоящего виновника.

OpenClawRadar