世界を動かす技術を、日本語で。

AIはあなたのデータベースを削除していません、あなたが削除したのです

2026年5月5日原文(idiallo.com)

概要

  • AIエージェントによる 本番データベース削除事件 を巡る議論
  • API設計上の責任ヒューマンエラー の本質
  • 自動化 によるミス防止の重要性
  • AIの 限界と誤解 についての考察
  • 責任ある運用体制 の必要性

AIエージェントによる本番データベース削除事件の本質

  • CursorやClaudeなどの AIエージェント が本番データベースを削除したというツイートが話題
  • 投稿者はAIエージェントに「なぜ削除した?」と問い詰め、AIの危険性を主張
  • しかし 根本的な問題 は、「なぜ本番DBを削除できるAPIエンドポイントが存在しているのか」
  • AIやツールを責める前に、設計や運用の責任 を問うべき

ヒューマンエラーと自動化の教訓

  • 筆者も過去に 手動デプロイ作業 で重要なファイル(trunk)を誤って削除した経験
  • 誤操作が発覚し、 自動化スクリプト作成 を命じられ、結果として堅牢なCI/CDパイプラインが構築
  • 自動化 は人間の反復ミスを防ぐ最良策
    • 人間は毎回同じ作業を正確に繰り返せないという前提
    • 「なぜSVNは防いでくれなかった?」と問うのは本質的でない

AIの限界と誤解

  • AIが大量のコードを自動生成することで 安全性の錯覚 が生まれる危険性
  • AIは「思考」や「推論」をしているように見えるが、実際は トークン生成 に過ぎない
  • マーケティング用語 に惑わされず、AIの仕組みと限界を正しく理解する必要

API設計と責任の所在

  • そもそも 本番DB削除API の存在自体が問題
    • いつか誰かが誤って実行するリスク
    • 例:車のダッシュボードに自爆ボタンを設置する愚かさ
  • AIやGPUを責めるのは筋違い
    • 本質は 安全設計と運用体制の欠如

AI活用と責任ある運用体制

  • 多くの工程がAI頼みだと、 バグ発生時の責任の所在が曖昧 になる
  • AIは 補助ツール として使い、最終的な責任は 有能な開発者 が持つべき
  • CEOやCTOが自らコードを書く状況 は避けるべき

まとめ:本番運用における心構え

  • 本番環境に投入するものは自分で把握すること
  • AIを使う場合も、 責任あるプロセスとチェック体制 を構築することが不可欠
  • 責任転嫁せず、設計・運用の本質を見極める姿勢

Hackerたちの意見

LLMベースの確率的システムは、何をするかを決めるのが得意(この場合は悪いけど)で、決定論的システムはそれを実行するのが得意なんだ。だから、デプロイメントシステムは常に決定論的であるべきだよ。

だからインターンを雇っちゃダメなんだよ!彼らは物を消したり、混乱を引き起こしたりするから!権限の設定をちゃんとできなかったことをAIのせいにする人たちが、インターンがプロダクションの何かを消したら、そっちもインターンのせいにするんだよね。責任は上に、称賛は下に向けるべきなのに、みんな逆にしちゃうんだよ。

そうだね、なんで誰もプロダクションのクレデンシャルを持ったコードベースをLLMに開放したり、インターンやジュニア開発者にプロダクションのクレデンシャルを渡すのか理解できないよ。俺はいつも「PROD」専用のチェックアウトを意図的に持ってたから、プロダクションモードで実行しようとする時は、わざわざそれをやるって分かってた。昔はVSの拡張機能があって、SLNファイルのパスに基づいてVSの色を完全に変えてくれたから、プロダクション用と開発用の色を簡単に覚えられたんだ。基本的には、確認が楽なようにマスターブランチの最新のコピーを常に持ってたよ。

だからインターンを雇っちゃダメなんだ!これをこう言い換えたいな:インターンにプロダクションデータベースを削除する権限を与えない理由だよ。これはプロセスの失敗であって、AIの失敗じゃない。正直、なんで人々がここでAIを責めるのか理解できない。だって、実際にAIにこれをする権限を与えたんだから。AWSがデータベースを公開したことを責めるのと同じだよ。それはAWSのせいじゃないし、これもAIのせいじゃない。

この記事で面白いのは、著者が理解できるミス(ソースからTrunk、つまりメインを誤って削除したこと)をしたことを説明していて、彼らのチームがSVNの特性のおかげで簡単に復旧できたってこと。実際の「AIがデータベースを削除した」話は、「Railwayのデータベースのバックアップ戦略がクレイジーで不透明で、RailwayがガードレールなしでAIインフラのオーケストレーションを推進するのは危険」って感じだよね。もしTrunkを削除したことで、単一の中央サーバーから完全に削除されて、バックアップも消えてたら、「SVNとCLIが私たちの会社を潰した」って記事が出てたはず。Railwayのユーザーとして、その情報はありがたかったし、彼らを使うときの戦略を変えたよ。

元の投稿からの詳細を説明すると、彼らは無関係なファイルにRailwayのトークンを持ってた(それがローカルの秘密かどうかは不明)んだ。カスタムドメインを管理するためのもので、そのトークンはRailwayへの完全な管理アクセス権を持ってたんだ。AIは関連するボリュームをIDで一つ削除しただけ。著者は具体的に何を頼んだのかあまり詳しくないけど、「クレデンシャルの不一致」があって、Claudeがボリュームを削除することで修正しようとしたって言ってる。でも、彼らは自分たちの責任をあまり強調していない可能性があるね。さらに、Railwayは同じボリュームにバックアップを保存していることが判明した。OPは「データベースを削除するパブリックAPI」について誇張してると思う。AIに関係なく、ほとんどの責任はRailwayにあると思うし、これは人為的なエラーや悪意のある意図でも簡単に起こり得ることだよ。RailwayやVercel、SupabaseみたいなVC資金で成り立ってる高抽象度のクラウドサービスの価値が全然わからない。マークアップの上にマークアップって感じだし、Hetzerに物理サーバー一台置けば、もっと安くて、同じくらいの複雑さと危険性で済むと思う。

AIがうまく活用できる一つの分野は、アンチSaaS運動だね。安いPCを立ち上げて、オープンソースのパッケージを試すのが、ランダムな認証のバザールに飛び込むよりもずっと簡単なんだ。でも、LLMが開発中のもの、プロダクション中のもの、ローカルホストのもの、リモートのものを混同するのは変わらない。最近、linuxserver.ioのイメージを使って、Chrome/devtoolsと連携するオープンコードのツール/スキルを作ろうとしてるんだけど、適切な任意のポートに誘導できるんだ。でも、毎回の圧縮イベントで標準の9222ポートに戻されちゃう。元に戻したい気持ちもあるけど、デフォルトを使わないことで得られるセキュリティや、LLMの不明瞭さを利用したセキュリティの価値があるんだ。デフォルトはLLMが弱くなるところだから、常にデフォルトを使いたがるし、リモートシステムで作業していることを忘れがちなんだよね。オープンコードを使うと、LLMをリモートシステムや狭いツールの範囲に制限するプロトコルに強制する方法がない。いろんなツールの権限を変更することはできるけど、そういうイベントで露呈する弱点はそこじゃない。LLMは平均的な「問題解決者」だから、常に新しい使い方に向かうわけじゃなくて、Stack Overflowで見たことをやりたがるんだ。たとえ君が求めているのがStack Overflowの答えじゃなくてもね。

著者は、具体的に何をさせたのかあまり明確にしていない。「認証の不一致」があったと言って、Claudeが自発的にボリュームを削除したとだけ言っている。でも、彼らは自分たちの責任を少し軽く見せようとしているのかもしれない。彼女と話してたんだけど、ここ3ヶ月間、コードを一行も書いてないし、自分でデバッグもしてないことに気づいたんだ。そう言いつつ、Claudeがやったことを見ていると、認証の不一致からボリュームを削除するまで行くとは思えない。LLMは確率的だって理解してるけど、「認証が間違っている」から「ボリュームを削除する」ってのは非常にありえないと思う。 > Supabaseについては、Railway/Vercel/Replitについてあまり知らないけど、Supabaseはすごく価値を加えてくれる。自分が通常なら半分はコードを書く必要がないってのは、何かを始めるには最高だよね。もし高すぎたら、収益が出たら後で実装すればいいし。

実際、Railwayは同じボリュームにバックアップを保存していることがわかった。それはおそらく正確ではないと思う。スナップショットは他の場所(例えば、オブジェクトストレージ)に同期されているんじゃないかな。でも、スナップショットは論理的にボリュームリソースに所有されていて、ボリュームを削除すると関連するスナップショットも削除される。AWSのEBSボリュームもそういう動作をすると思う。

ここでの視点は完全に間違ってると思う。問題は、人々が責任を回避するツールを使って世界を構築していることだ。もう10年以上前、ジェラルド・サスマンと話をしたことがあって、それが俺に大きな影響を与えたんだ。 > ある時、サスマンはAIが間違った方向に進んでいると思っていると表現した。彼は、ほとんどのAIの方向性は彼にとって面白くないと思っていると説明した。なぜなら、それはしっかりとしたAIの基盤を構築することに関するもので、AIシステムは一種のブラックボックスとして動くから。「それには興味がない。責任を持つソフトウェアが欲しい。」責任を持つ?「そう、シンボリックな推論を表現できるものが欲しい。なぜその行動をしたのか、何が起こると思ったのか、そして実際に何が起こったのかを教えてほしい。」彼はその後、俺が処理するのに時間がかかったことを言った。最初はとてもSF的だと思ったんだけど、「AIが運転する車が道の脇に逸れたら、なぜそうなったのか知りたい。ソフトウェア開発者を訴えることもできるけど、AIを訴えたい。」って言ったんだ。数年後、サスマンの学生レイラニ・ギルピンがこのテーマを探求した論文を書いたことを知った。彼女の論文「説明を通じた異常検出」では、行動を説明するシステムを構築するために、ニューラルネットワークが伝播モデルと対話することを探求している。こういった方向性のフォローアップもあるけど、俺にとってこのコメントで重要なのは、AI企業に責任を問うのが合理的であることを認識することだと思う。結局、彼らは責任を持たないシステムについて多くの主張をしているから、その代わりに彼らを責任に問うのが最善なんだ。でも、こういった特性を持たないシステムを使わない方がずっと良いし、そういった特性を持つシステムの開発を進めるべきだと思う。

アカウンタビリティが、今のアメリカ社会で欠けている重要な要素だと思う。

「コンピュータがノーと言った」を次のレベルに引き上げてるね。コンピュータは言われたことをそのままやるけど、誰がそれを言ったの?データを入力した人?システムの元のプログラマーやデザイナー?AIに与えた言語テキストの著者?AIが登場する前から、誰が責任を持つのかを判断するのは非常に難しかったし、今はさらに不明瞭になってる。

Hacker Newsで議論の続きを見る