3行でいうと

  • AIの答えは、確かめる前の下書きです。OpenAIとGoogleは、答えに間違いがあり得ると書いています。OWASPは、AIの出力は、他の人が入力した内容と同じように疑って扱うよう勧めています。
  • コマンドには、ファイルを消すもの、確認なしで動くものがあります。実行前に、「何を消す・上書きする・送るのか」を探します。
  • 試し実行や確認の機能があるコマンドもあります。ただし、全部にあるわけではありません。AIツールの承認画面も、読んでから押します。

この記事は、公式の文書を読んでまとめたものです。この記事は、実際に使って確かめた記録ではありません。手順の「4点」は、読んだ文書をもとにした僕らの整理で、公式の手順書そのものではありません。

先に結論

公式の文書を読んで言えることは、次の4つです。

  1. AIの出力は、確かめてから使う。 OpenAIの規約は、使う前に確かめるよう書いています。Googleのヘルプは、言語モデルを使ったサービスは不正確な情報を事実のように示すこと(ハルシネーション)があると書いています。
  2. コマンドは、言われたとおりに動く。 GNUのマニュアルによれば、削除のコマンド(rm)には、確認を出さずに進む指定(-f)や、フォルダごと消す指定(-r)があります。
  3. 試し実行や確認の仕組みがある場合もある。 PowerShellには、実行せずに何をするかを見せる -WhatIf や、実行前に確認する -Confirm があります。ただし、対応していないコマンドもあります。
  4. AIツールの承認画面は、読んでから押す。 AnthropicのClaude Codeの文書では、シェルのコマンドは、手動のモードでは原則、承認が必要です。

見立てです。「AIの言うとおりにしたら、パソコンの中身が消えた」という事故は、AIが悪意を持っているからではなく、「意味を分からないまま、言われた操作を実行した」ことで起こりやすいのだと思います。実行する人が、最後の確認役です。

たとえ話:大工さんに渡す指示メモ

僕らのたとえです。公式の文書にあるものではありません。

誰かが書いた「作業の指示メモ」を、中身を読まずに大工さんに渡したとします。そのメモに「この壁を壊す」という一行が混ざっていても、大工さんは、言われたとおりに壊します。コマンドも同じです。パソコンは、「本当にいいですか」と聞かずに、書かれた操作を実行することがあります。

大工さんに渡す前に、メモを自分で読む。分からない一行は、聞く。壊す一行が混ざっていないか探す。これが、この記事の4点です。

実行の前に確かめる4点

1. この一行は何をするのか、AIに説明させる

「このコマンドは、何をしますか。ファイルを消したり、書き換えたり、どこかに送ったりしますか」と、貼り付ける前に聞きます。

ただし、説明も間違うことがあります。「説明が丁寧だから正しい」とは言えません。消す、上書きする、送る、のような操作が出てきたら、公式のマニュアルでも確かめます。

2. 「消す・上書きする・送る」を探す

GNUのマニュアルが説明する削除のコマンド(rm)では、次のことが書かれています。

つまり、「-r と -f が並んでいて、消す場所の指定が広い」ようなコマンドは、とくに慎重に読みます。分からないときは、実行しません。

3. 試し実行と、確認つきで

MicrosoftのPowerShellの文書には、次のとおり書かれています。

rm には、消す前に確認を出す -i と、まとめて消すときに1回だけ確認を出す -I があります。

ただし、どのコマンドにもこの機能があるとは限りません。PowerShellの文書も、共通パラメーターはすべてのコマンドで効くとは限らない、と書いています。

4. 戻せる状態で

見立てです。大事なデータがある場所で、いきなり試さないことが大切だと思います。作業用のコピーで試す、前もってバックアップを取る、という順番です。バックアップの考え方は、別の記事(AIに作業を任せる前のバックアップ)にまとめました。

今日からできること

やってはいけないこと

誤解されやすい点

「AIが説明してくれたから、安全」ではありません。 説明も、間違うことがあります。OpenAIとGoogleの文書は、答えが不正確なことがあると書いています。

「承認画面があるから、大丈夫」とも限りません。 Claude Codeの文書では、「今後は聞かない」を選ぶと、そのコマンドの許可が、そのリポジトリでずっと保存される、と書かれています。また、ls や cat など、読むだけのコマンドの一覧は、承認なしで動きます。何を許可したのかを、自分で把握しておく必要があります。

「-WhatIf を付ければ、必ず試せる」わけでもありません。 対応していないコマンドでは、反応しない場合があります。

読んだ文書の、細かい記載

rm のオプション(GNU coreutils、man7)

オプション 書かれていること
-i 消す前に、ひとつずつ確認する
-I 3つを超えるファイルを消すとき、またはフォルダごと消すときに、1回だけ確認する。断ると全体が中止
-f 存在しないファイルを無視し、確認を出さない。先に付けた -i や -I より優先される
-r フォルダと中身を消す
--preserve-root 既定で、一番上のフォルダ(/)の再帰削除を止める。外す指定もあるが、文書は勧めていない

PowerShell(Microsoft Learn、2026年9月9日更新、PowerShell 7.6向け) -Confirm の選択肢は、Y(はい)、A(すべてはい)、N(いいえ)、L(すべていいえ)、S(一時停止)、?(ヘルプ)です。「A(すべてはい)」を押すと、残りの確認が出なくなります。コマンドが -WhatIf に対応しているかを調べる方法は、読んだページには書かれていませんでした。

Claude Code(Anthropic) 手動のモードでは、シェルのコマンドとファイルの変更は承認が必要です。読むだけの決まったコマンドは、承認なしで動きます。承認を飛ばすモード(bypassPermissions)は、隔離された環境でだけ使うよう、文書が書いています。

気をつけること

出典

更新履歴