フォルダ限定権限でAIエージェントに雑務を任せる設定手順
「AIエージェントに作業を任せたいけど、大事なファイルを勝手に触られたら怖い」
この不安、よく分かります。私も最初にCodexを使ったとき、「本番のコードを壊されたらどうしよう」とビクビクしていました。でも、作業フォルダを限定する設定さえ押さえれば、その心配はかなり減らせます。
結論から言うと、AIエージェントには「このフォルダの中だけ触っていいよ」という境界を明確に引くのが鉄則です。この記事では、OpenAI Codexを例に、フォルダ限定で安全に雑務を任せる具体的な設定手順を紹介します。
なぜ「フォルダ限定」が効くのか
AIエージェントの事故で多いのは「想定外のファイルを編集・削除してしまった」パターンです。これを防ぐ最もシンプルな方法が、最初から触れる範囲を物理的に制限すること。
OpenAI Codexはこの考え方をデフォルトで採用しています。公式の説明によると、Codexは「作業中のフォルダやブランチ内のみ編集」が基本方針で、ネットワークアクセスもデフォルトで無効になっています。つまり、外部に勝手に通信したり、関係ないディレクトリを触ったりしない設計です。
これは雑務の自動化と相性が良いです。ドキュメントの整形、テストの実行、定型的な修正といった作業は、だいたい特定のフォルダ内で完結します。外部通信も不要なことが多いので、Codexの「制限された状態」のままで十分回せます。
設定手順:4つのステップ
ステップ1:作業用フォルダを切る
まず、AIエージェントが作業する専用のディレクトリを用意します。
your-project/
├── src/ # 本体コード(エージェントには触らせない)
├── docs/ # ドキュメント(必要なら許可)
└── ai-workspace/ # ← エージェント用の作業フォルダ
├── drafts/
├── generated/
└── temp/
Codex CLIを使う場合、このai-workspaceに移動してから起動すると、自動的にそのディレクトリがスコープになります。Codex CLIはサンドボックス内で動作し、カレントディレクトリを基準にするため、プロジェクトルートではなく作業フォルダで起動するのがポイントです。
ステップ2:出力先を固定する
エージェントに「生成したファイルはここに置いて」と明示します。プロンプトでの指示例:
生成したMarkdownファイルは ai-workspace/generated/ に保存してください。
既存ファイルの編集は ai-workspace/drafts/ 内のファイルのみ許可します。
これだけで、エージェントが勝手に別の場所にファイルを作るリスクが減ります。もちろん100%防げるわけではないですが、明示的に指示することで意図しない動作はかなり抑えられます。
ステップ3:破壊的操作は許可制にする
Codexはデフォルトで、提案された編集やコマンド実行に対してユーザーの承認を求めます。これを活かして、「削除」「上書き」といった破壊的な操作は毎回確認するフローを維持してください。
自動化モード(フルオートモード)を使う場合でも、サンドボックス+ネットワーク無効は維持されますが、それでも削除系のコマンドが走る可能性はあります。最初のうちは承認モードで動かし、どんな操作が発生するか把握してから自動化に移行するのが無難です。
ステップ4:クラウド側もプロジェクトで分離する
ここまではローカルの話ですが、OpenAIのプラットフォーム側にも権限管理の仕組みがあります。RBAC(ロールベースアクセスコントロール)を使えば、プロジェクト単位でAPIの機能を制限できます。
たとえば「雑務用プロジェクト」を作り、そこではFiles Read/Writeの権限だけ付与し、他の機能は使わせない設定が可能です。副業用、実験用、本番用とプロジェクトを分けておくと、万が一APIキーが漏れても被害範囲を限定できます。
注意点として、RBACの権限変更は反映に最大30分かかることがあります。「設定を変えたのに効かない」と思ったら、少し待ってから再確認してみてください。
この設定が向いている作業
フォルダ限定の運用は、以下のような「閉じた作業」に向いています:
- README や CHANGELOG の下書き作成
- コードのフォーマット整形
- テストコードの雛形生成
- CSV や JSON の形式変換
- PR の説明文テンプレート作成
逆に、外部APIを叩く必要がある作業、複数リポジトリをまたぐ作業には向きません。そういった場合は権限を一時的に昇格させるか、別のアプローチを検討することになります。
微妙な点と注意
正直に言うと、この設定だけで「完全に安全」とは言えません。エージェントが予想外の解釈をして、許可したフォルダ内で意図しない操作をする可能性はゼロではないです。
また、LangChainのFileManagementToolkitなどサードパーティ製のツールを使う場合、root_dirで操作範囲を限定できる機能がありますが、OpenAI公式のツールではありません。ライブラリのバージョンや挙動は自分で検証する必要があります。
結局のところ、「フォルダ限定」は事故の被害を局所化する策であって、完全な防御策ではないです。重要なファイルはGitで管理してバックアップを取る、という基本は引き続き大事です。
まとめ
AIエージェントに雑務を任せるときの設定は、シンプルに4つ:
- 作業用フォルダを切り、そこで起動する
- 生成物の出力先を明示的に指定する
- 削除・上書きなど破壊的操作は承認制で回す
- クラウド側もプロジェクト単位で権限を分離する
最初は「こんなに制限して意味あるのか」と思うかもしれませんが、この枠の中でも整形・生成・変換系の雑務は十分こなせます。まずは小さな作業から試して、エージェントの動きを観察しながら徐々に任せる範囲を広げていくのが、結局いちばん効率的です。