近ごろ、AIが「自分でPCを操作する」タイプのニュースが一気に増えました。ブラウザを自分で開いてフォームを埋める Computer Use、AIエージェントが自分でカード決済して買い物を済ませる、といった話です。
ここで、これまでのAIと決定的に変わった点があります。AIが「コードや文章を提案するだけ」から、「自分で実行して最後までやり切る」に変わったことです。この違いは、未経験者が最初に意識すべきポイントを1つ、まるごと変えます。
- これまで(提案するAI): 変なコードを出されても、人がマージしなければ実害はゼロ。安全網は「人の承認」だった。
- これから(実行するエージェント): DBを削除する、外部に送信する、決済する——実行してしまった瞬間に実害が出る。しかも不可逆なものがある。
つまり「AIが動いた後にレビューする」だけでは間に合わない場面が出てきます。だから今、未経験のうちから鍛える価値があるのが、「AIエージェントの実行を、どこで止めて人が承認するか」=承認ゲートの設計です。これはコードがバリバリ書けなくても、今日から設計できます。
※ この記事は「AIが書いたコードをレビューする観点」そのものではありません(それは別記事動いたからOKで本番に出してませんかに書きました)。今日は一歩手前の「そもそも実行させる前に、どこで止めるか」の話です。
承認ゲートの考え方:可逆性で「止める線」を引く
止める線をどこに引くか。判断軸はシンプルに「その操作、失敗しても元に戻せるか(可逆か)」で十分です。
| 操作 | 可逆性 | エージェントに |
|---|---|---|
| コンポーネントの雛形生成・命名リファクタ | 可逆(git で戻せる) | そのまま実行させてOK |
| ローカルのファイル編集 | 可逆 | 実行させてOK(差分は見る) |
| DBの本番データ削除・マイグレーション | 不可逆 | ⛔ 実行前に人の承認 |
| 決済・課金の実行 | 不可逆(お金) | ⛔ 実行前に人の承認 |
| 外部へのメール送信・API POST | 不可逆(相手に届く) | ⛔ 実行前に人の承認 |
| 本番環境へのデプロイ | 実質不可逆 | ⛔ 実行前に人の承認 |
(作業を「丸投げしていいもの / 人が握るもの」に仕分ける詳しい基準は以前の記事に書いたので、そちらも。今日は"実行して大丈夫か"の1軸に絞ります。)
コツは、この線引きを頭の中に置かず、AIに渡すルールとして明文化することです。
仕組み1:CLAUDE.md に「実行せず、まず提案」を書く
Claude Code などを使うなら、プロジェクト直下の CLAUDE.md(AIが毎回読む指示書)に、承認ゲートを1ブロック書いておきます。これだけで、エージェントの暴走はかなり防げます。
## エージェント実行ルール(承認ゲート)
以下の操作は「実行せず、まず計画と差分を提案」して、私の承認を待つこと。
- DBの削除・更新(本番)/マイグレーション
- 課金・決済に関わる処理
- 外部へのメール送信・HTTP POST / Webhook 発火
- 本番環境へのデプロイ
- .env / 秘密情報・鍵ファイルの読み書き
上記以外(ローカルのコード生成・編集)は実行してよい。
ただし、触ってよいのは私が指定したファイルのみ。範囲外を変える必要が出たら、理由を添えて先に確認すること。
ポイントは「危険な操作=実行前に一時停止」を明示することです。人間の新人に「本番DBは触る前に一声かけてね」と言うのと同じで、それをAIにも文字で渡すだけです。
仕組み2:実行の前に「計画」を出させる(dry-run)
承認ゲートを効かせるいちばん実用的なやり方が、「実行の前に、何をやるつもりか計画だけ先に出して」と頼むことです。いきなり手を動かさせない。
やりたいこと: 古いテスト用ユーザーを整理したい。
まだ何も実行しないでください。まず、
1. どのテーブルの、どの条件の行を、何件消す予定か
2. その操作は元に戻せるか(戻せないなら、その旨)
3. 実行するコマンド or コード(案)
だけを出してください。私がOKと言ったら実行してください。
こう頼むと、エージェントは「users テーブルの created_at < '2026-01-01' を 1,200件 削除します。これは不可逆です」といった計画を先に返します。ここで初めて人が「1,200件は多すぎる、条件が広すぎた」と気づける。実行してから気づくのと、計画で気づくのとでは、被害が天と地です。
Computer Use のようにブラウザやフォームを自分で操作させるときも同じで、「送信ボタンを押す前に、入力内容のスクショか要約を出して」の一言が効きます。自律実行の時代は、--dry-run を自分の指示で作る感覚が大事になります。
仕組み3:不可逆な操作には「一段の物理ゲート」も併用する
指示(CLAUDE.md)は万能ではありません。AIが忘れることも、こちらが書き漏らすこともあります。だから、本当に危ない操作には仕組み側のゲートも1枚重ねます。未経験でもできる範囲でいうと、
-
本番のキーを、AIが触れる場所に置かない:
service_roleなどの強い鍵はローカルの.envに置かず、手元では読み取り専用キーだけを使う。 - 決済・外部送信はテスト環境(sandbox)で回す:Stripe ならテストキー、メールなら自分宛の検証用アドレス。エージェントが暴走しても、本物のカードや他人には届かない。
-
git を安全網にする:ファイル操作は必ず作業ブランチで。
git status/git diffを実行後の口ぐせにすれば、範囲外の変更にすぐ気づけます。
「AIに実行を任せる」と「危ない権限を渡す」は別物です。任せる範囲は広げつつ、権限は絞る。この設計ができる人が、これからのエージェント時代に重宝されます。
まとめ:未経験こそ「止め方」から入ると強い
AIが自分でPCを操作し、決済までこなす時代に価値が下がるのは「言われた手順どおりに手を動かすだけ」の作業です。逆に価値が上がるのは、どこまで任せ、どこで止めて、人が承認するかを設計する仕事です。
- 可逆な操作は任せ、不可逆な操作(削除・決済・外部送信・デプロイ)は実行前に承認
- その線引きを
CLAUDE.mdに明文化する - 実行の前に計画(dry-run)を出させてから承認する
- 本当に危ない操作は、テスト環境・弱い鍵・git で物理的にもゲートする
これらは、完璧にコードが書けるようになる前から鍛えられます。しかも鍛える過程で、自然と実装の知識も一緒に身につきます。「AIが全部やる時代だから学ばない」ではなく、「AIを安全に動かす側に回るために学ぶ」。ここに未経験の勝ち筋があると思っています。
※ Qiita読者の多くには当たり前の内容だと思います。プログラミング未経験の知り合いへの紹介や、社内研修・新人育成の参考としてどうぞ。「プログラミング」と「AIを安全に動かすスキル」が同時に身につくよう設計しています。
未経験者向けの講座を運営しています
未経験から Next.js + Supabase + Claude Code で Webアプリを公開するまで を、全20セッションで体系化した教材です。AIに"どこまで任せ、どこで止めるか"を設計する CLAUDE.md / Skills 運用までセットで含みます。
- 無料体験版(git clone してすぐ動く・最初の数セッション分・⭐ Star もよろしくお願いします)→ https://github.com/ayies128/next-ai-camp-trial
- 教材完全版+月5,500円のメンタリング(全20セッション+チャットで質問し放題)→ https://menta.work/plan/20251?ref=qiita
- YouTube『AIエンジニア情報局』(Computer Useやエージェント決済など、この手のAIニュースを1本5分でキャッチアップできる別運営チャンネル・無料)→ https://www.youtube.com/channel/UC1rXVD9WYsQPQEWZyd-A1KA/?ref=qiita