GitHub Copilot などの AI コーディング支援ツールが普及し、
「AIが書いたコードをそのまま使う」場面も増えてきました。
しかし実際に使ってみると、
それはかなり危険な行為だと分かります。
今回は、
AIが書いたコードを無検証で使ってはいけない理由を実体験ベースでまとめます。
理由1:正しそうなコードを書いてくる
AIは非常に厄介な特徴を持っています。
- 文法的に正しい
- 可読性が高い
- コメントもそれっぽい
つまり、
一見すると完璧に見える
コードを平然と出してきます。
しかしその中身は、
- 仕様を満たしていない
- 境界条件を考慮していない
- 前提がズレている
といった問題を含んでいることが珍しくありません。
理由2:セキュリティを考慮しないことがある
AIは、
- SQLインジェクション
- パスワードの平文保存
- 危険な乱数生成
といった 典型的な地雷 を、
特に警告なく含めてくることがあります。
AIにとっては、
「よく見かけるコード」
でも、人間にとっては
「やってはいけないコード」
というケースが多々あります。
理由3:責任を取ってくれない
これは一番重要です。
AIはバグの責任を取らない
- 本番障害
- データ破損
- セキュリティ事故
が起きても、
責任を負うのは コードを採用した人間 です。
「AIが書いたから」は言い訳になりません。
理由4:設計意図を理解していない
AIは、
- 目の前のタスク
- 局所的な文脈
には強いですが、
- システム全体の設計
- 将来の拡張
- 運用上の制約
を考慮するのは苦手です。
その結果、
今は動くが、後で破綻するコード
が生まれやすくなります。
正しい付き合い方
AIは使い方を間違えなければ、非常に強力です。
- ボイラープレート生成
- 単純作業の自動化
- 実装スピード向上
ただし、
必ず人間がレビューする
これだけは絶対条件です。
まとめ
- AIは正しそうな嘘を書く
- セキュリティを保証しない
- 責任は人間にある
- 設計判断は任せてはいけない
AIは「魔法のコード生成機」ではなく、
強力だが危険な道具です。
正しく恐れて使うことが重要だと感じました。