設定ファイルで宣言された操作範囲
設定ファイルで宣言した表・列・操作だけを許可し、範囲外へのアクセスを防ぐ設計パターン。
設定ファイルに「触ってもよい表・列・操作・ユーザー」を明示的に宣言し、宣言されていない対象には一切アクセスできないようにする設計パターン。これはtrust-boundaryの一種で、システム内部の全機能を信頼するのではなく、外部(人間の利用者やai-agent)に委ねる範囲を限定することで、誤操作や悪意ある操作による被害を未然に防ぐ。
背景
近年、Claude Code などのAIエージェントにシステムの改変やデータ操作を任せる機会が増えている。しかし、万能な管理ツール(例: phpMyAdmin)をそのままAIに渡すと、範囲外のデータまで壊されるリスクがある。この概念は、「AIに何をさせてもよいか」をコードではなく設定ファイルとして明示し、AIを含むあらゆる操作主体に対して「守られる境界」を定義する。
具体的な実装例(kurage-products)
kurage-products で紹介されている各種商品は、この概念を共通の設計思想として採用している。
- kcaldav — ユーザー・カレンダー・パスワードを設定ファイルで宣言。宣言外のカレンダーには触れない。
- kdbagent — 設定で「表・列・操作」だけを許可。宣言していない表・列・削除はブラウザからもコマンドからも実行できない。
- kreserve — メニュー・営業時間・定休日・受付ルールを設定ファイルに集約し、AIエージェントに安全に変更させる。
これらの製品は「全機能を公開する」のではなく、「設定で宣言した範囲だけを公開する」ことで、AIに任せても壊れないシステムを実現している。
AIエージェントとの関係
この概念はai-agentやai-readable-manualと深く結びつく。AIが安全に作業するためには、
- 許可範囲が設定ファイルとして人間にもAIにも読みやすい形で存在すること
- AIがその設定を尊重するように設計マニュアルで指示されていること
- 設定ファイルの変更自体も同様の範囲制限の対象であること
が必要である。言い換えれば、「操作範囲の宣言」がAIとの間のtrust-boundaryを作り出す。
実装上の利点
- 安全性: 宣言外の操作は原理的に実行不可能。
- 可監査性: 何が許可されているかが設定ファイルを読むだけで分かる。
- AI親和性: 設定ファイルがそのままAIへの指示書になる。
- 簡潔さ: 巨大な権限制御機能を持ち込まず、self-contained-php-appの思想(1ファイル・数百行)と相性が良い。
関連項目
See also: kurage-repos
See also: kurage-sites
「設定ファイルで宣言された操作範囲」についてもっと知りたいですか?
Kurage.AI に質問する
Kurage.AI に質問する
