「AIに任せてはいけない領域」
生成AIを使用してプログラミングを行うにあたって、
生成AIに任せてはいけない領域(人とAIの役割分担)がある。
AIに任せてはいけない領域は、大きく分けると以下の2点。
・「判断の責任が人間にある領域」
・「誤りが重大な影響を与える領域」
上記2点について、少し細分化してまとめてみた。
以下に生成AIに任せてはいけない領域について書き出したもの。
生成AIを使った事がある人なら、思い当たる節があるはず。
1.要件定義・仕様の最終決定(ビジネス判断)
AIは仕様案を出すことはできるが、何を作るべきかを決めることはできない。
具体例
- 機能の優先順位
- どの仕様がユーザーに最適か
- どの技術選択が組織に合うか
- 業務フローの決定
理由
AIはビジネス背景・価値判断を理解できないため。
2.セキュリティ・認証・権限管理
AIは「安全そうなコード」を書くが、本当に安全かどうかは保証できない。
具体例
- JWTの署名・期限設計
- パスワードハッシュ戦略
- RBAC/ABAC
- CSRF/XSS/SSRF対策
- CORS設定
理由
脅威モデルや攻撃手法を完全に理解していないため。
3.長期的なアーキテクチャ設計
AIは短期的なコード生成は得意だが、長期運用を見据えた設計判断は苦手。
具体例
- モジュール構造
- ディレクトリ構成
- 依存関係の整理
- 拡張性の見積もり
- チーム規約の策定
理由
未来の変更やチーム事情を理解できないため。
4.ビジネスロジックの最終判断
AIはロジックを実装できるが、業務の文脈を理解できない。
具体例
- 売上計算
- 税率・割引・例外処理
- 請求・会計
- 法律に関わる処理
理由
「動くけど間違っている」コードを生成する可能性があるため。
5.データの真偽判断(ハルシネーション領域)
AIは「知らないことを知らない」と言えない。
具体例
- 外部APIの仕様の推測
- ライブラリの関数名の推測
- 実在しないメソッドの生成
- 実行環境の誤認
理由
もっともらしい嘘を作ることがあるため。
6.大規模コードの一括生成
AIは長いコードの整合性維持が苦手。
具体例
- 500行以上のファイル
- 複数ファイルにまたがる依存関係
- モジュール全体の一括生成
理由
AIは前のコードを忘れやすく、整合性が崩れるため。
7.本番環境の設定・インフラ構築
AIの提案は参考になるが、本番環境の設定をそのまま信用してはいけない。
具体例
- nginx/Apache設定
- Dockerfile最適化
- セキュリティグループ
- 本番DB接続
- CI/CDの本番設定
理由
- 設定ミスは重大事故につながるため。
8.法務・コンプライアンス判断
AIは法律を解釈できない。
具体例
- 個人情報保護法
- GDPR
- 著作権
- OSSライセンスの互換性
理由
法務判断は専門家の領域。
9.UX(ユーザー体験)の最終判断
AIはUIを作れるが、人間の感情や体験を理解できない。
具体例
- ボタン配置
- 文言のトーン
- アクセシビリティ
- フローの複雑さ
10.責任が発生する領域(最重要)
AIは責任を負わない。
具体例
- 本番リリースの判断
- データ消去・移行
- 金銭が絡む処理
- セキュリティ事故の判断
統合まとめ:AIに任せてはいけない領域(一覧)
- 要件定義・仕様決定
ビジネス判断が必要 - セキュリティ
“安全そう”に見えるだけ - アーキテクチャ設計
長期運用を理解できない - ビジネスロジック
業務文脈を理解できない - データの真偽判断
ハルシネーションが起きる - 大規模コード生成
整合性が崩れる - 本番環境設定
ミスが致命的 - 法務・コンプライアンス
解釈できない - UX判断
人間の感覚を理解できない - 責任が発生する領域
AIは責任を負わない
人がAIに任せるべきは「作業」であり、人が担うべきは「判断」。

0 件のコメント:
コメントを投稿