OpenClaw AIエージェントの厳格なガードレール施行:承認ゲーティングと並行性制限

Mac miniでOllama(GLM 5.2、フォールバックはAnthropic Sonnet 4.6とHaiku)を使ってOpenClawボットを実行している開発者が、古典的な問題に直面しました。ボットは「承認なしにメールを送信しない」「同時呼び出しは最大5回」などのハードルールを、毎回理解を確認するにもかかわらず、繰り返し違反するのです。ユーザーの仮説は的確です。これは「文脈としてのルール」であり、「制約としてのルール」ではありません。モデルは指示を助言として扱うため、プロンプトや記憶の強化では修正できません。
標準的な修正方法は、強制をモデルの推論ループの外に置くことです。統計的なテキスト予測器にハードリミットを強制させることはできません。オーケストレーション層で決定的なチェックが必要です。
ツール呼び出しの承認ゲート
メール(または危険なアクション)を承認の後に実行するようにするには、ツール呼び出しをヒューマン・イン・ザ・ループパターンでラップします。
- モデルがメール送信を要求したら、実行前に呼び出しをインターセプトします。
- Discordで確認プロンプトを表示します(例:ボタンやリアクション)。
- ユーザーが承認した場合のみ、実際のAPI呼び出しを実行します。
# OpenClawツールハンドラ内の疑似コード
if tool == "send_email":
message = f"{to} へのメール送信を承認しますか?"
if not await discord_approval(message):
return "ユーザーが拒否しました。送信しないでください。"
# メールAPI呼び出しを続行
これにより、モデルが何を言おうと、物理的にゲートを迂回できなくなります。
オーケストレーションレベルでの同時実行制限
「最大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
👀 See Also

ワークフローメモリ対ツール:なぜコンテキスト読み込みが巨大プロンプトより優れているのか
指示をプロンプトに詰め込む代わりに、ワークフロー固有のチェックリストをオンデマンドで読み込みましょう。リリースチェックリスト、ホットフィックスのルール、移行手順などを使い終わったら削除します。

Llama.cppのプロンプト処理速度を改善するための--ubatch-sizeパラメータの使用
ユーザーは、--ubatch-sizeをGPUのL3キャッシュサイズ(Radeon 9070XTでは64MB)に合わせて設定することで、Llama.cppにおけるQwen 27Bのような大規模モデルのプロンプト処理速度が劇的に向上し、Claudeコード呼び出しが実用的になったことを発見しました。

AIによる自動QAテスト:ソフトウェアテストの新時代
antirezが、LLMエージェントを使った自動QA手法を解説。新しいリリースに対して手動テストを指示するマークダウンファイルを作成する方法で、DwarfStarやRedis Arraysに適用し、品質を向上させます。

OpenClaw v2026.3.13は、OpenAIトークンコスト削減のためのエージェントごとのcacheRetention設定を追加しました。
OpenClaw v2026.3.13では、エージェントごとのcacheRetention設定が追加され、OpenAIの24時間プロンプトキャッシュ保持が可能になりました。これにより、ハートビートサイクルが10分を超えるエージェントでは、入力トークンのコストを最大90%削減できる可能性があります。