AI 駆動開発の「環境汚染」を防ぐ ── UV と Bypass モードによる安全設計


AI 駆動開発の「環境汚染」を防ぐ ── UV と Bypass モードによる安全設計

「便利だから使い倒す」と環境が壊れる

Claude Code や Codex で業務システムを試作する経営者・現場エースが増えています。一方で、何度か使ううちに以下のような声が出てきます。

  • 「気づいたら PC に何十個もツールがインストールされていた」
  • 「以前動いていたものが動かなくなった」
  • 「他のソフトがエラーを出すようになった」

これらは 環境汚染(environment pollution)と呼ばれる事象で、Python や Node.js といった開発ツールを試行錯誤するうちに、PC 全体の設定が複雑に絡み合って動作が不安定になる現象です。

本稿では、AI 駆動開発を 長く安全に続けるための 2 つの設計 を整理します。


なぜ AI 駆動開発で環境汚染が起きるのか

AI に「画像を一括変換するプログラムを作って」と依頼すると、AI は必要なライブラリ(Python の場合は Pillow 等)を PC にインストールしようとします。これを何度も繰り返すと:

  • バージョンが異なる同じライブラリが共存
  • ライブラリ間の依存関係が衝突
  • 別のプロジェクトで使っていたライブラリが意図せず上書き
  • 不要になったライブラリが残ったまま

結果として、PC 全体の Python 環境が「どれが何を使っているか分からない」状態になります。

エンジニアであればこの問題を仮想環境(venv 等)で回避してきましたが、非エンジニアの経営者が AI 駆動開発を始めると、この概念がないまま全部 PC グローバルに入れてしまうのが定番のつまずきです。


設計 1: UV による Python 環境の隔離

UV は、Python のパッケージとプロジェクト環境を高速かつ安全に管理するツールです。Astral 社が開発したオープンソースで、従来の pip + venv の組み合わせを置き換える次世代標準として急速に採用が広がっています。

UV を使うとどう変わるか

項目従来(pip 直叩き)UV
インストール先PC 全体(グローバル)プロジェクトフォルダ内(隔離)
環境衝突起きるプロジェクト間で完全分離
不要時の削除困難(依存関係が複雑)フォルダごと削除で完全消去
インストール速度通常大幅に高速

ミスってもフォルダを消せば元通り」という安全性が、非エンジニアにとって最大の利点です。

Claude Code での UV 利用を強制する設定

グローバル CLAUDE.mdC:\Users\{user}\.claude\CLAUDE.md)に以下を書いておきます。

Python ツールをインストールする時は、必ず UV を使ってインストールするように。
プロジェクト全体ではなく、フォルダ内に閉じた環境でインストールすること。
その他、環境汚染が懸念される操作は、分かりやすい説明と共に必ず確認すること。

これだけで、Claude Code は新規セッション時にこの設定を読み込み、Python ライブラリのインストール時に自動で UV を使うようになります。

試したフォルダを安全に破棄する

UV を使えば、「試したけどイマイチ」だったプロジェクトは フォルダごと削除すれば完全に消えます。PC グローバル環境には何も残りません。

これにより、「気軽に試す → ダメなら削除」のサイクルが回せるようになり、経営者・現場エースが AI 駆動開発に踏み込みやすくなります。


設計 2: Bypass モードの正しい使い分け

Claude Code には、操作の確認を毎回スキップする Bypass モード(バイパス権限モード、bypassPermissions)があります。

  • デスクトップアプリ: 設定で「Allow dangerously skip permissions」を有効化したうえで、モードセレクタから選択
  • CLI: 起動時に --dangerously-skip-permissions(または --permission-mode bypassPermissions)フラグを指定

セッション中に GUI からだけで bypassPermissions に切り替えることはできず、起動時のフラグ指定が前提です。

Bypass モードのメリットとリスク

項目通常モードBypass モード
操作確認毎回ダイアログスキップ
速度遅い(人間の承認待ち)圧倒的に速い
安全性高い低い(誤操作のリスクあり)
推奨用途初回・新規構築時決まりきった反復作業のみ

公式ドキュメント(Claude Code permission-modes)にも「bypassPermissions はプロンプトインジェクションや意図しない操作を防がず、データ損失(data loss)・システム破損(system corruption)・データ流出(data exfiltration)のリスクがある。インターネット接続のないサンドボックスでのみ使用すること」と明記されています。「便利だから常用する」は事故の元 です。

適用すべきシーン

  • 同じ手順を何度も繰り返す 定期レポート作成
  • 既に動作確認済みの データ整形バッチ
  • スケジュール実行で動かす 自律タスク

適用すべきでないシーン

  • 0 から仕組みを作る時(想定外の操作が発生する可能性あり)
  • 機密データを扱う業務(誤って外部送信するリスク)
  • 不可逆操作を含む業務(削除・送信・決済等)

安全に運用するための 5 ステップ

UV と Bypass モードを組み合わせ、AI 駆動開発を安全に運用する手順:

Step 1: グローバル CLAUDE.md に UV 強制を書く(初回のみ)

上記の推奨設定を C:\Users\{user}\.claude\CLAUDE.md に保存。

Step 2: 新規プロジェクトは専用フォルダで開始

「試作 → 削除可能」を前提に、プロジェクトごとに独立したフォルダを使う。

Step 3: 0 → 1 構築時は通常モード(Bypass オフ)

仕組みを作っている段階は、確認ダイアログを煩わしくても残す。意図しない操作の早期発見につながる。

Step 4: 動作確認後、定期実行に Bypass を適用

仕組みが安定し、毎回同じ手順で動く段階になったら、スケジュール実行に Bypass を併用。

Step 5: 月次でフォルダ・環境を棚卸し

不要になったプロジェクトはフォルダ削除(UV 環境ごと消える)。グローバル CLAUDE.md も必要に応じて更新。


ハーネス設計との関係

Optiens は AI エージェント運用のハーネス設計として、5 パターン(AIエージェントの「ハーネス」設計 ── 暴走を防ぐ5つの実装パターン)を推奨しています。

UV と Bypass モードの設計は、これらと整合しています:

  • 権限スコープの最小化 ↔ UV による環境隔離(プロジェクトフォルダ外に影響しない)
  • 不可逆操作の人間承認ゲート ↔ Bypass モードを「決まりきった作業のみ」に限定
  • 実行回数・コストの上限制御 ↔ Schedule 実行時のリミット併用
  • 構造化監査ログ ↔ Claude Code の操作ログ機能
  • 異常検知 ↔ Bypass 適用時の出力サンプリング監査

ハーネス設計の思想を、Python 開発という具体的な領域に落とし込んだのが UV + Bypass モードの組み合わせ、と整理できます。


Optiens の取り組み

Optiens では、自社の Claude Code 運用において以下を標準化しています:

  • グローバル CLAUDE.md で UV 強制
  • プロジェクトフォルダごとに独立した Python 環境
  • 0 → 1 構築は通常モード、定期実行は Bypass モード
  • 月次の環境棚卸しを Google Tasks で自動リマインド

御社の AI 駆動開発を「環境汚染を防ぎつつ、現場が安心して試せる」体制に整えたい場合、無料 AI 活用診断 でご相談ください。安全設計を含む構築方針は 詳細レポート(¥5,500税込) でお届けします。


まとめ

  • AI 駆動開発の「環境汚染」は、非エンジニアが踏み込むときの最大のつまずき
  • UV で Python 環境をプロジェクトごとに隔離することで、「フォルダ削除で安全に破棄」が可能に
  • Bypass モード は「決まりきった反復作業」のみに限定、0 → 1 構築では使わない
  • グローバル CLAUDE.md に UV 強制を書いておけば、Claude Code が自動で安全運用
  • Optiens の既存ハーネス設計 5 パターンと整合する実装

関連記事:

出典:

  • Astral 社 UV 公式ドキュメント
  • Anthropic Claude Code 公式ドキュメント(2026 年 5 月時点)
  • Optiens 自社運用知見