権限モードはAPCではなくAPXに存在する
APCはポータブルなコンテキスト層です。APXはランタイムおよびツール層です。この区別はセキュリティにおいて重要です。
権限はプロジェクトの真実ではありません。それはマシンの方針です。
リポジトリは、摩擦なくノートPCとデスクトップ間を移動できなければなりません。権限設定によって、すべてのマシンに同じリスクレベルを強制すべきではありません。権限の状態をAPCに置くと、ローカルの信頼と共有コンテキストが混在してしまいます。
APXは境界を明確に保ちます。権限モードはリポジトリではなく、ローカルの設定に存在します。
利用可能なモードは以下の通りです:
- total: 確認なしですべてのツールを実行する。
- automatico: 安全な読み取りとシェル操作を許可する。破壊的な操作や外部へのアクションについては確認を求める。
- permiso: 許可されたツールのみを直接実行する。それ以外はすべて確認が必要。
デフォルトはautomaticoです。これにより、日常業務においてランタイムを使用可能な状態に保ちます。
APCはプロジェクトのメタデータ、エージェント、およびスキルを扱います。このコンテンツはツール間で安定しており、gitとの相性も良好です。
権限モードはランタイムの事実に依存します:
- マシンの所有者は誰か。
- マシンが個人用か共有用か。
- タスクが探索的なものか、あるいはハイリスクなものか。
- 今日、ランタイムにどの程度の信頼を与えるか。
権限をAPCに移動すると、2つの問題が発生します。新しいマシンに適さない可能性のあるポリシーを継承してしまうこと、そしてローカルの安全性の選択を、共有プロジェクトの「お荷物」に変えてしまうことです。
リポジトリは作業内容を記述します。APXはローカルのランタイムにどれほどの権限を与えるかを決定します。
APXはこれをコードで強制します。createPermissionGuard 関数がグローバル設定を読み取り、ツールの呼び出しをブロックまたは許可します。
この構造は、実際の作業方法と一致しています。ファイルの読み取りは、リポジトリの変更とは異なります。安全なルックアップは、MCP接続とは異なります。
同じAPCプロジェクトを、異なるAPXポリシーで使用できます。ノートPCではautomaticoを、共有ワークステーションではpermisoを使用してください。
設定がどこに属すべきかを判断するには、このテストを使用してください:
- それが「このプロジェクトは何であるか?」という問いに答えるものなら、APCに置いてください。
- それが「このマシンは今、何ができるか?」という問いに答えるものなら、APXに置いてください。
権限モードはAPXに属すべきです。これによりAPCのポータビリティが維持され、ローカルのランタイムの整合性が保たれます。
Source: https://dev.to/agentprojectcontext/permission-mode-lives-in-apx-not-apc-50d6
Optional learning community: https://t.me/GyaanSetuAi
