16
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GitHub Copilot などの AI コーディング支援ツールが普及し、
「AIが書いたコードをそのまま使う」場面も増えてきました。

しかし実際に使ってみると、
それはかなり危険な行為だと分かります。

今回は、
AIが書いたコードを無検証で使ってはいけない理由を実体験ベースでまとめます。


理由1:正しそうなコードを書いてくる

AIは非常に厄介な特徴を持っています。

  • 文法的に正しい
  • 可読性が高い
  • コメントもそれっぽい

つまり、

一見すると完璧に見える

コードを平然と出してきます。

しかしその中身は、

  • 仕様を満たしていない
  • 境界条件を考慮していない
  • 前提がズレている

といった問題を含んでいることが珍しくありません。


理由2:セキュリティを考慮しないことがある

AIは、

  • SQLインジェクション
  • パスワードの平文保存
  • 危険な乱数生成

といった 典型的な地雷 を、
特に警告なく含めてくることがあります。

AIにとっては、

「よく見かけるコード」

でも、人間にとっては

「やってはいけないコード」

というケースが多々あります。


理由3:責任を取ってくれない

これは一番重要です。

AIはバグの責任を取らない

  • 本番障害
  • データ破損
  • セキュリティ事故

が起きても、
責任を負うのは コードを採用した人間 です。

「AIが書いたから」は言い訳になりません。


理由4:設計意図を理解していない

AIは、

  • 目の前のタスク
  • 局所的な文脈

には強いですが、

  • システム全体の設計
  • 将来の拡張
  • 運用上の制約

を考慮するのは苦手です。

その結果、

今は動くが、後で破綻するコード

が生まれやすくなります。


正しい付き合い方

AIは使い方を間違えなければ、非常に強力です。

  • ボイラープレート生成
  • 単純作業の自動化
  • 実装スピード向上

ただし、

必ず人間がレビューする

これだけは絶対条件です。


まとめ

  • AIは正しそうな嘘を書く
  • セキュリティを保証しない
  • 責任は人間にある
  • 設計判断は任せてはいけない

AIは「魔法のコード生成機」ではなく、
強力だが危険な道具です。

正しく恐れて使うことが重要だと感じました。

16
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?