AIKernel.NET
version: 0.0.2 / status: Refactor / edition: Draft / published: 2026-05-16 / updated: 2026-05-16

PDP Guard Decision Plane

提案系(Reasoning)と決定系(Governance)の統治責務を物理的・論理的に分離し、AI の暴走や非意図的な副作用を構造的に防止する。

1. Purpose

LLM が推論と実行判断(Tool Use など)を同時に担う自律エージェントモデルでは、決定権がモデル内部状態に依存し、ガバナンスが不透明になりやすい。

AIKernel はこの責務を分離し、次を実現する。

  • 「LLM は提案者、PDP が決定者」の強制: LLM はアクション提案(Proposal)のみを返し、最終決定(Decision)は外部の IPdp が行う。
  • 副作用操作の一元管理: 外部 API、DB、ファイル、ネットワーク送信などの副作用アクションに対するポリシー評価点を一本化する。
  • 認可の透明性と監査性: 許可/拒否理由を、LLM の確率的判断とは独立した決定論的ログとして保持する。

2. Theoretical Model: PDP / PEP / PIP

AIKernel は標準的アクセス制御アーキテクチャ(XACML 系概念)を採用する。

  • PEP (Policy Enforcement Point): 実行エンジン。アクション実行前に IPdp へ照会する。
  • PDP (Policy Decision Point): 本文書の中心。ポリシーに基づき Permit / Deny / Indeterminate を判定する。
  • PIP (Policy Information Point): 判定に必要な外部属性(実行主体権限、システム状態、リソース分類等)を提供する。

3. Core Contracts

3.1 IPdp (Policy Decision Point)

  • 責務: Proposal と現在 Context を受け取り、Decision(Permit / Deny / Indeterminate)を返す。
  • 特記: 複数 PDP のチェーン(Chain of Responsibility)構成を許可する。

3.2 IGuard

  • 責務: 実行直前の最終検疫点として、入力/出力のコンテンツ検査(インジェクション検知、機密漏洩防止)を行う。
  • 契約例: ValidationResult Inspect(IExecutionMessage message)

3.3 IToolAccessValidatorIToolPermission

  • 責務: 特定ツール(Function Call)の実行権限を検証する。
  • IToolPermission: ツール実行に必要な許可証を表し、スコープ、有効期限、最大実行回数などを含む。

3.4 IToolSandbox

  • 責務: 副作用を伴うコード/コマンドの実行環境を隔離する。
  • 定義: Sandbox は単なる設定ではなく、PDP が発行する認可条件(Obligation)の一部である。

4. Decision Rules

  • 分離原則: IThoughtProcess(推論)は IPdp(決定)内部ロジックを知らず、IPdp も推論内部状態へ依存しない。
  • 副作用凍結: Decision.Permit が明示発行されるまで、外部副作用(書込・送信・削除等)は staging 状態に留める。
  • 監査義務: すべての判定結果は、使用ポリシーバージョンと PIP 属性を含め、不変形式で記録する。

5. Fail-Closed Rule

AIKernel の統治は常に安全側へ倒す。

  • 判定不能時の拒否: Indeterminate、タイムアウト、判定基盤障害時は一律 Deny とし、パイプラインを停止する。
  • Sandbox 強制: IToolSandbox 初期化失敗時、そのツール関連要求を即時無効化する。
  • 署名なきポリシー無効化: ポリシー定義(Markdown / JSON)に正当署名がない場合、IPdp は読み込まず全要求を拒否する。

6. Sequence Logic (Logical View)

  1. AI Kernel が LLM から「ファイル削除」提案を受領する。
  2. PDP が IToolAccessValidator を呼び出し、実行者ロールと対象リソース重要度を照合する。
  3. Guard が削除対象パスにインジェクション(../ 等)が含まれないか検査する。
  4. すべての検査が通過した場合のみ Permit を発行する。
  5. Executor が IToolSandbox 内で安全に実行する。

変更履歴

  • v0.0.0 / v0.0.0.0: 初期ドラフト
  • v0.0.1 (2026-05-06): ドキュメント規約に基づくバージョン更新
Source: architecture/9.PDP_GUARD_DECISION_PLANE-jp.md