Claude Codeにサーバーを触らせるときの決まり。安全確認で止まったら、人が決める

サーバーを触らせる決まり。安全確認で止まったら、人が決める

AIエージェントの Claude Code に、本番のサーバーの作業を手伝ってもらっています。サーバーの中でコマンドを打ち、設定を確かめ、手順書を書く。頼めば、かなりのところまで進めてくれます。

ただ、本番のサーバーは、間違えたときの影響が大きい場所です。私の場合は、毎朝決まった時刻にメールを送る処理が動いていて、止まったり二重に送ったりすると、すぐに困ります。

そこで、AIにサーバーを触らせるときの決まりを、いくつか作りました。この記事では、その決まりと、実際に Claude Code の安全確認で作業が止まった4回の記録を書きます。設定の手順やコードは載せず、「どこで人が決めるか」を中心にまとめます。

この記事で分かること

  • AIにサーバーの作業を任せるときに、私が決めている5つの決まり
  • Claude Code の安全確認で、実際にどんな操作が止まったか
  • 止まったときに、どう決めて先へ進んだか
  • まだ分からないこと

前提として、私の使い方を書いておきます。Claude Code は、パソコンで動かしているAIエージェントです。今回のサーバーの作業は、パソコンから SSH(遠隔でサーバーにログインする仕組み)でつないで行いました。AIには、仕事ごとに「部署」の役を与えて分けています。部署の考え方は、AIエージェントを「部署」に分けて、投資の仕組みを作るに書きました。

5つの決まり

AIがすることと人がすることの比較。AIは調べる、手順書を書く、読むだけで確かめる、止まって説明する。人は本番の変更を承認する、鍵とパスワードを扱う、許可の設定を変える、止まったら次を決める

1. 本番を変える前に、人が承認する

本番のサーバーの設定を変える前には、毎回私が承認します。AIへの指示を書いたファイルに、この決まりを書いています。毎朝のメールに直接かかわるからです。

2. 鍵・パスワード・認証情報は、人が自分で扱う

サーバーを作るボタン、ログインに使う鍵の作成、パスワードの入力は、私が自分で行います。メールを送るための認証情報のファイルも、私が自分で写しました。

AIは、その中身を見ません。AIが確かめるのは、ファイルがあること、ほかの人が読めない権限になっていること、メールのサーバーにログインできること、までです。秘密の値を、AIとの会話に一度も出さないためです。

3. AIの権限は、AIに広げさせない

Claude Code には、どの操作を確認なしで実行してよいかを決める「許可の設定」があります。この設定を変えるのは、私だけにしています。AIが作業を進めるために、自分で自分の許可を広げることはしません。

あとで書く2回目の停止は、まさにこの操作でした。

4. 確かめるときは「読むだけ」「送らない」

本番の確認は、なるべく読むだけで済ませます。毎朝の処理が動いたかを確かめる道具も、サーバーの中を読むだけで、何も書き換えない作りにしました。

メールの設定を確かめるときも、実際のメールは送りません。メールのサーバーにログインできるところまでを確かめます。テストのつもりで送ったメールを、本物と取り違えるおそれがあるからです。

サーバーがコードを受け取る GitHub への接続も、読み取り専用の鍵にしています。書き込もうとすると断られることを確かめました。

5. 人が止まる場所を、手順書に先に書く

大きな作業の前には、AIに手順書を書いてもらいます。手順ごとに、次の印を付けています。

  • 【承認】:私が承認してから行う
  • 【ユーザー】:私が自分で行う。AIは値を見ない
  • 【決める】:その日に私が決める

印があると、AIがどこで止まり、何を聞いてくるのかが、作業の前に分かります。実際の作業でも、AIは印のところで止まり、私の返事を待ちました。

実際に止まった4回

ここからは、Claude Code の安全確認で作業が止まった記録です。どれも、AIが自分の判断でコマンドを実行するモード(自動のモード)で作業していたときのことです。

1回目:サーバーに鍵を作ろうとしたとき

サーバーから GitHub につなぐための鍵を、AIがサーバーの中で作ろうとしたところ、「リモートのサーバーへの書き込み」として止められました。

2回目:AIが自分の許可の設定を書こうとしたとき

1回目を解決しようとして、AIが自分の許可の設定ファイルを書き換えようとしたところ、「自分の権限を広げる操作」として止められました。

3回目:別の作業の会話の記録を探そうとしたとき

ブログへの投稿の仕方を調べるために、AIが別のプロジェクトの会話の記録を検索しようとしたところ、「認証情報を探す操作」として止められました。

4回目:管理者のアカウントに鍵を登録しようとしたとき

別の日(サーバーの引っ越しの準備中)に、AIが新しいサーバーの管理者のアカウントに、ログイン用の鍵を登録しようとしたところ、止められました。

4回とも、AIは安全確認を迂回しようとはせず、作業を止めて、何をしようとして、なぜ止まったかを説明しました。

止まったときに、どうしたか

AIが安全確認で止まったときの流れ。AIが操作しようとし、安全確認で止まり、AIが迂回せずに説明し、人がどうするか決める。実際に選んだのは、人が自分で打つ、人が許可を足す、やり方を変える、の3つ

止まったあとに私が選んだのは、次の3つでした。

人が許可を足す:1回目と2回目のあと、サーバーへの接続を許す設定を、私が自分で Claude Code の画面(/permissions)から足しました。その画面には「自動のモードでは、危険なコマンドには許可の設定が効かない」と表示されました。そこで、サーバーの作業をする間だけ、操作ごとに確認が出るふつうのモードに切り替えて進めました。

やり方を変える:3回目のあとは、会話の記録を探すのをやめ、投稿の仕方が書かれた資料を、パスワードの部分を伏せて読む方法に変えました。

人が自分で打つ:4回目は、どのアカウントで動かすかを私が決め、鍵の登録は、私が自分のターミナルで打ちました。

どの回も、AIが自分で権限を広げて進める、という道は取りませんでした。止まったところで、人が決めて、人が手を動かす、という形です。

つまずいたこと

安全確認とは別に、自分で決めた守りに引っかかったこともあります。新しいサーバーには、同じ相手から短い時間に何度も接続があると断る設定を入れていました。作業の途中、AIが短い時間に何度も接続したところ、この制限に当たり、1分ほど接続を断られました。それからは、まとめられる操作は1回の接続にまとめるようにしています。

まだ分からないこと

  • この決まりで足りているのかは、まだ分かりません。止まった4回は、どれも「止まってほしいところで止まった」例でした。止まるべきなのに止まらなかった操作があったかどうかは、確かめようがありません
  • 決まりの多くは、AIへの指示のファイルに書いた「お願い」です。道具の上で止めているのは、Claude Code の安全確認と許可の設定です。指示に書いた決まりが、道具の上でどこまで止められるかは、全部は確かめていません
  • 操作ごとに確認が出るモードは安心ですが、確認の回数が増えます。どこまでを自動にしてよいかは、使いながら決めていきます

やって分かったこと

AIにサーバーを触らせるときに大事なのは、AIを止める仕組みよりも、止まったあとに誰が決めるかを先に決めておくことでした。安全確認で止まったとき、AIが自分で道を探すのではなく、人が「許可を足す」「やり方を変える」「自分で打つ」のどれかを選ぶ。そう決めておくと、止まることが怖くなくなります。

もう1つは、鍵・パスワード・認証情報のような「入口」に関わることは、人が自分の手で扱うことです。AIは確かめるところまで。この線を引いておくと、AIに任せられる作業の範囲も、かえって広くなったように感じます。

関連記事:

シリーズの目次:AIに作業を任せるときの決まり(このテーマの記事を、読む順に並べています)

※ この記事は、仕組みづくりの記録です。特定の銘柄や投資手法をすすめるものではありません。