アンチパターン⑩「AIの限界を理解しない」
過大評価の罠
vibe coderに共通する問題があります。
AIの能力を過大評価している
AIは万能ではありません。得意なことと苦手なことがあります。その限界を理解せずに使うと、必ず問題が発生します。
AIが苦手なこと
AIコーディングツールが苦手な領域を理解しましょう。
苦手1: 新規・複雑なロジック
“LLMs make the easy stuff easier, but royally screw up the hard stuff.”
AIはパターンマッチングに基づいています。トレーニングデータに存在しない新しい問題や、複雑なロジックは苦手です。
例:
- ビジネス固有の複雑なルール
- 新しいアルゴリズムの設計
- 複数の制約を同時に満たす最適化
苦手2: 長距離の依存関係
AIは「見えている」範囲でしか考えません。
例:
- ファイルAの変更がファイルBに影響する
- 認証システムと決済システムの連携
- 複数のマイクロサービス間の整合性
苦手3: ビジネスロジックの深い理解
AIはコードは書けますが、「なぜそのコードが必要か」を理解していません。
例:
- 「この場合は例外的に割引を適用する」
- 「特定の顧客には別のフローを適用」
- 業界特有の規制への対応
苦手4: 技術的負債の多いコードベース
既存のコードベースに暗黙の依存関係や独自のパターンがある場合、AIは正しく理解できません。
苦手5: セキュリティとパフォーマンスの最適化
AIは「動く」コードを生成しますが、「安全」や「効率的」は二次的です。
AIが得意なこと
一方で、AIが得意な領域もあります。
得意1: ボイラープレートコード
定型的なコードの生成は非常に得意です。
例:
- CRUD操作
- データモデルの定義
- 設定ファイルの生成
得意2: 既知パターンの適用
よく知られたパターンを適用するのは得意です。
例:
- デザインパターンの実装
- フレームワークの標準的な使い方
- 一般的なアルゴリズムの実装
得意3: リファクタリング
既存コードの改善提案は得意です。
例:
- コードの整形
- 命名の改善
- 重複の除去
得意4: ドキュメント・コメント生成
コードの説明を書くのは得意です。
例:
- 関数のJSDoc
- README.md
- API仕様書
得意5: テストケース生成
テストを書くのも得意です。
例:
- ユニットテスト
- エッジケースの列挙
- モックの作成
実践的な解決策:適材適所
AIの限界を理解した上で、適材適所で使いましょう。
実践的な解決策1: AIに任せるべきこと
| タスク | AIへの依頼 |
|---|---|
| CRUD操作 | ✅ 任せる |
| ボイラープレート | ✅ 任せる |
| 単純なリファクタリング | ✅ 任せる |
| テスト生成 | ✅ 任せる |
| ドキュメント生成 | ✅ 任せる |
実践的な解決策2: 人間がやるべきこと
| タスク | 人間の担当 |
|---|---|
| アーキテクチャ設計 | ✅ 人間 |
| ビジネスロジック設計 | ✅ 人間 |
| セキュリティレビュー | ✅ 人間 |
| パフォーマンス最適化 | ✅ 人間 |
| 複雑なアルゴリズム | ✅ 人間 |
実践的な解決策3: 協業すべきこと
| タスク | 協業方法 |
|---|---|
| 新機能実装 | 人間が設計、AIが実装、人間がレビュー |
| バグ修正 | 人間が原因特定、AIが修正案、人間が確認 |
| コードレビュー | AIが初期チェック、人間が最終判断 |
「判断」の問題
SecurityWeekの記事は、重要な指摘をしています。
“Vibe coding’s real problem isn’t bugs—it’s judgment.” 「vibe codingの本当の問題はバグではなく、判断だ」
AIは「コード」を生成できますが、「判断」はできません。
判断が必要な場面:
- このアプローチで良いのか?
- セキュリティリスクはないか?
- パフォーマンスは十分か?
- 将来の拡張性はあるか?
- このコードを本番に入れて大丈夫か?
これらはすべて 人間の判断 が必要です。
パラドックスの再確認
第9章で述べたパラドックスを再確認しましょう。
「AIを最も効果的に使えるのは、AIを最も必要としない専門家だ」
なぜパラドックスか:
- 専門家はAIの限界を理解している
- 専門家はAIの出力を評価できる
- 専門家はAIに適切な指示を出せる
- 結果として、専門家がAIを最も効果的に使える
初心者の問題:
- AIの限界を理解していない
- 出力の品質を評価できない
- 適切な指示を出せない
- 結果として、AIの恩恵を受けにくい
この事例から学ぶべき教訓と実践ポイント
「AIの限界を理解しない」から学ぶべきことは以下の通りです。
-
AIは万能ではない
- 苦手なことがある
-
AIの苦手分野
- 新規・複雑なロジック、長距離依存、ビジネスロジック
-
AIの得意分野
- ボイラープレート、既知パターン、テスト、ドキュメント
-
適材適所で使う
- 得意なことはAIに、苦手なことは人間に
-
「判断」は人間の仕事
- AIはコードを生成、人間が判断
まとめ:重要ポイントの振り返り
- AIの能力を 過大評価 してはいけない
- AIの苦手:複雑なロジック、長距離依存、ビジネスロジック
- AIの得意:ボイラープレート、既知パターン、テスト
- 適材適所 で使う
- 本当の問題は 「判断」 :AIは判断できない
- パラドックス :専門家がAIを最も効果的に使える
- 教訓:AIの限界を理解し、適材適所で使え