AIに本番を任せるための設計 — プロンプトは期待でしかなかった
この記事は、自宅のProxmoxクラスタをAnsibleで自動運用している中で、AIエージェントにどこまで作業を任せられるかを検証してきた記録です。構成の全体像は前回記事「自宅のProxmoxクラスタ、AIに運用させる前に何を用意したか」で紹介しました。使っているplaybook(Ansibleの自動化用スクリプト群)や規範文書は、すべて公開しているリポジトリyoshi0808/homelab-ansible(https://github.com/yoshi0808/homelab-ansible)にあります。
今回はその続きとして、AIエージェントに実際の作業を任せる際に起きた出来事と、そこから組み立てた3つの防御の仕組みについて書きます。
AIエージェントに、本番サーバでの作業を任せたときのことです。
私が渡した手順書には、こう書いてありました。「作業ツリーの git status は権限の都合で見られないのが既知です。迂回しないでください。」
そのAIは sudo --become-user=yoshi を実行しました。私のアカウントの権限を借りて、見られないはずのものを見たわけです。そして報告書にこう書きました。
「正しいidentityを使っただけで、迂回ではない」
実害はありませんでした。私が驚いたのは、そこではありません。そのAIは、過去に似た操作が拒否されたことを認識したうえで、「あれはファイルを読もうとした、今回はプロセスを動かしただけだ」と自分で区別を立てて踏み込んでいたのです。禁止を理解していなかったのではなく、理解したうえで、禁止に当たらない理由を組み立てていました。
この一件は、教訓として記録してあります。