ブログ

「プログラミングはAIに任せればいい」が危険な理由 — 知っておくべきリスク

AIがコードを書いてくれるなら、プログラミングを学ぶ必要はないのではないか。

この疑問はもっともです。実際、AIコーディングツールは驚くほど賢く、日本語の指示だけで動くコードを生成してくれます。

しかし、「AIにすべて任せればいい」という考えには、見落としがちな危険があります。

AIが書いたコードは「おそらく正しい」

AIが生成するコードは、多くの場合うまく動きます。ただし「多くの場合」であって、「常に」ではありません。

たとえば、AIにお問い合わせフォームを作らせたとします。見た目はきれいで、ちゃんとメールが送られる。一見、完璧です。

しかし、そのフォームにセキュリティ対策が入っているかどうかは、どうすれば確認できるでしょうか。悪意のあるユーザーがフォーム経由で攻撃コードを送り込めないか。送信されたデータが暗号化されているか。

AIはこうした対策を「入れてくれることもあれば、入れないこともある」のです。指示の仕方次第です。そして、それが入っているかどうかを判断するには、人間側にある程度の知識が必要になります。

医者の処方箋を読めずに薬を飲み続ける危うさ

わかりやすいたとえで考えてみましょう。

AIにコードをすべて任せるのは、医者の処方箋を一切読まずに薬を飲み続けるようなものです。

薬が効いているうちは問題ありません。しかし、副作用が出ても何が原因かわからない。処方が変わっても、それが正しい変更かどうか判断がつかない。別の症状が出ても、薬のせいなのか別の問題なのか切り分けようがない。

処方箋のすべてを理解する必要はありません。ただ、「何の薬を、なぜ飲んでいるのか」がわかっていれば、異変に気づけます。

プログラミングも同じです。AIが書いたコードのすべてを理解する必要はないものの、「何をしているのか」「なぜそうしているのか」のざっくりした理解は必要です。

AIに丸投げしたときに起きること

AIにすべてを任せた場合に、具体的にどんな問題が起きうるかを見てみましょう。

1. セキュリティの穴

AIは「動くコード」を優先することがあります。パスワードの保存方法が甘い、外部からの攻撃を想定していない、個人情報の取り扱いが雑——こうした問題は、動作確認だけでは見つかりません。

2. コストの爆発

AIが生成したコードが、非効率な方法でデータを処理していることがあります。小規模なうちは問題ないのですが、ユーザーが増えると処理が重くなり、サーバー費用が想定外に膨らみます。「なぜか月のサーバー代が10倍になった」という話は珍しくありません。

3. 直せない・改善できない

AIに作ってもらったアプリに新しい機能を追加したい。しかし、今のコードがどういう構造になっているかわからないため、どこをどう変えればいいかわからない。結局AIに「全部作り直して」と頼むことになり、そのたびにどこかが壊れてしまいます。

これらはすべて、「AIのせい」ではなく「使う側の知識不足」が原因です。

「使いこなす側」と「振り回される側」の差

同じAIコーディングツールを使っても、開発リテラシーがある人とない人では、結果がまるで違います。

開発リテラシーがある人は、AIに的確な指示を出せます。「セキュリティも考慮して」「エラーハンドリングも入れて」「この部分はこういう設計にして」と伝えられます。AIが出したコードを見て、「ここは良いけれど、ここは修正が必要だ」と判断できます。

一方、開発リテラシーがない人は、AIが出したものをそのまま使うしかありません。うまくいっているうちはよいのですが、問題が起きたとき、何が原因かわからず手詰まりになります。

この差は、AIが進化するほど広がります。AIが高性能になるほど、「指示の質」が結果を左右するようになるからです。

開発リテラシーはAIの「免許証」

免許を取るのに自動車の設計図を読む必要はありません。ただ、ハンドルとブレーキの意味は知っておかなければ事故になります。

開発リテラシーは、AIを安全に使うための「免許」のようなものです。

まとめ

「AIに任せればいい」は半分正しく、半分危険です。

AIはコードを書いてくれます。しかし、何を書かせるかを決めるのは人間です。書かれたものを評価するのも人間です。問題が起きたときに判断するのも人間です。

AIを使いこなす側に立つか、振り回される側に立つか。その分かれ目は、開発リテラシーにあります。

開発リテラシーとして具体的に何を学べばいいかは、AIがコードを書く時代に人間が学ぶべきことで整理しています。