AIに本番を壊させないための仕掛けを、全部GitHubに置きました

AIに本番を壊させないための仕掛けを、全部GitHubに置きました

記事
IT・テクノロジー
コードは、ほぼ全部AIに書かせています。
自分がやるのは「何を作るか決める」と「本番に触る直前で止める」の2つだけ。割合でいうと8:2くらい。
このやり方で、訪日客と東京のネイルサロンをつなぐサイトや、LINEの予約サービスなんかを1人で本番運用しています。

よく聞かれるのが「AIに任せて怖くないの?」。
怖いです。なので、怖いところだけは機械で止めるようにしてます。その仕掛けを丸ごとGitHubに公開しました(ai-workforce という名前で置いてあります)。無料です。

【「気をつけて」では止まらない】

AIに「データベースは消さないでね」と書いておいても、消すときは消します。悪気なく。
だから、危ない命令が出た瞬間に、実行される前に落とす仕掛けを入れています。止めているのはたとえば、

・テーブルごと消す命令
・条件をつけ忘れた一括削除(つまり全件消える)
・パスワードや鍵が入ったファイルを開くこと
・AIが自分の安全設定を書き換えること

この仕掛けが4つ。テストは合わせて537本あります。止めるべきものが止まるか、と、止めちゃいけないものを止めていないか、の両方。

【書いたつもりで、効いてなかった話】

ここからが本題です。けっこう踏んでます。

■設定を1行まちがえたら、全部無視されてた
受け付けられない値を1つ書いていたら、エラーも出ずに設定ファイルが丸ごと読み飛ばされていました。禁止リストも全部。守ってるつもりで、何も守ってなかった。

■「このファイルは読むな」が、別の読み方で素通り
「パスワードの入ったファイルは読むな」と書いても、それが効くのはAIの“読む機能”だけ。AIがコマンドで中身を表示すれば、普通に読めてしまっていました。

■AIが自分で承認できた
データベースの形を変えるときは、僕が承認したその1文だけが、15分間・1回だけ通る仕組みにしています。ところが、承認の記録を置く場所にAI自身が書き込めた。計算方法も公開してるので、その気になれば僕を通さずに自分で承認できる状態でした。いまは塞いでます。

■テストは全部合格なのに、結果は「失敗」
29本ぜんぶ合格、のあとに失敗で終わる。原因はスクリプトの最後に「成功で終わる」と1行書いてなかったこと。手元では成功、GitHubの上でだけ失敗。

■1文字足すと抜ける
「まとめて消す」命令は禁止にしてあったのに、後ろにアルファベットを1個足しただけで通りました。これは別の仕掛けで止めるようにしました。

穴を塞いだものも、まだ塞げていないものも、そのまま書いてあります。

【2週間で止まった前作もある】

実はこの前に、AIで業務代行のサービスを作ろうとして、2週間で止めたものがあります。見た目から作って、ちゃんと動くか確かめず、誰が使うかも決めてなかった。
それも「失敗の記録」として公開してます(ai-workforce-os)。

【試してみたい人へ】

MITライセンスなので、商用でも改変でも自由に使ってください。
いきなり全部入れなくても、データベースの危ない命令を止める部分だけ試す手順もあります。今の設定は変えないし、データベースにも繋ぎません。

Claude Codeを仕事で回してる人なら、上の穴のどれかは踏んでるかもしれない。

自分の環境に合わせて入れたい、Next.js + Supabaseで何か作ってほしい、みたいな相談は、ココナラのメッセージからどうぞ。
サービス数100万件のスキルマーケット、あなたにぴったりのサービスを探す