🐾 claw-stack

最終更新:2026年3月

ポリシー実施エンジン

Claw-Stack のポリシー実施エンジンは宣言されたエージェントごとのポリシーによってすべてのエージェントアクションを統治します——許可されるツール、人間の承認が必要な操作、無条件にブロックされるものを指定します。

ポリシーファースト設計

生の OpenClaw インストールでは、エージェントは単一の暗黙のポリシーの下で動作します:アクセス権を与えられた任意のツールを呼び出せます。エージェントごとの粒度はなく、承認メカニズムもなく、システム全体から削除せずに特定のエージェントが特定のツールを使用することを制限する方法もありません。

Claw-Stack はこれを明示的なエージェントごとの YAML ポリシーファイルに置き換えます。各エージェントのポリシーは起動時にロードされ、高速ルックアップ構造にコンパイルされます。ポリシーゲートは各ツール呼び出しを OpenClaw に転送する前にこの構造に対して評価します。

実施モード

許可

ツール呼び出しが明示的な許可ルールにマッチし、拒否ルールや高リスクパターンにマッチしません。呼び出しは即座に OpenClaw に転送されます。

ブロック

ツール呼び出しが拒否ルールまたは無条件ブロックパターンにマッチします。呼び出しは拒否され、エージェントはポリシーの下でそのアクションが許可されていないことを説明するエラー応答を受け取ります。拒否はログに記録されます。

エスカレート

ツール呼び出しが require_human_approval の高リスクパターンにマッチします。呼び出しは中断され、人間のオペレーターに通知され、承認または拒否を受け取るまで実行が待機します。タイムアウトは設定可能です。

コンセンサス

ツール呼び出しが require_consensus の高リスクパターンにマッチします。呼び出しは進む前にマルチエージェント投票のためにコンセンサスハブにルーティングされます。マルチエージェントコンセンサスを参照してください。

監査証跡

すべてのポリシーゲートの決定は audit/actions.jsonl に保存された追記専用監査ログに追加されます。各エントリには:タイムスタンプ、エージェント ID、ツール名、引数ハッシュ(機密データのログ記録を避けるため完全な引数ではない)、適用された実施モード、結果、およびエスカレート/コンセンサス決定の解決レコードが含まれます。ファイルは切り詰められることなく、古いエントリは月次で圧縮アーカイブされます。

よくある質問

エージェントは自身のポリシーを変更できますか?

できません。ポリシーファイルは人間のオペレーターが所有し、エージェントによる書き込みはできません。エージェントはポリシー変更を要求(オペレーターへのメッセージ送信)できますが、自分では適用できません。ポリシーディレクトリへの書き込み試行は自動ブロックとアラートをトリガーします。

ポリシー評価のパフォーマンス影響は?

ポリシーファイルは起動時に決定論的な決定木にコンパイルされます。ほとんどのツール呼び出しのルックアップは O(1) です。唯一の可変コストケースは高リスクルールの正規表現パターンマッチングで、実際には最大 1〜2 ms の追加です。

ポリシー変更はどのようにデプロイされますか?

ポリシーファイルはエージェントを再起動せずにホットリロードされます。ランタイムは inotify/kqueue ウォッチャーでポリシーディレクトリを監視します。ファイルが変更されると、新しいポリシーは 100 ms 以内にコンパイルされ、古いものと置き換わります。

Authors: Qiushi Wu & Orange 🍊