AI開発アンチパターン 2025年6月18日

AIコード生成の限界:できることとできないこと

vibe coderに共通する問題があります。 **AIの能力を過大評価している** AIは万能ではありません。得意なことと苦手なことがあります。その限界を理解せずに使うと、必ず問題が発生します。 AIコーディングツールが苦手な領域を理解しましょう。

川西智也

合同会社ロイヤルピース 代表

アンチパターン⑩「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の限界を理解しない」から学ぶべきことは以下の通りです。

  1. AIは万能ではない

    • 苦手なことがある
  2. AIの苦手分野

    • 新規・複雑なロジック、長距離依存、ビジネスロジック
  3. AIの得意分野

    • ボイラープレート、既知パターン、テスト、ドキュメント
  4. 適材適所で使う

    • 得意なことはAIに、苦手なことは人間に
  5. 「判断」は人間の仕事

    • AIはコードを生成、人間が判断

まとめ:重要ポイントの振り返り

  • AIの能力を 過大評価 してはいけない
  • AIの苦手:複雑なロジック、長距離依存、ビジネスロジック
  • AIの得意:ボイラープレート、既知パターン、テスト
  • 適材適所 で使う
  • 本当の問題は 「判断」 :AIは判断できない
  • パラドックス :専門家がAIを最も効果的に使える
  • 教訓:AIの限界を理解し、適材適所で使え

実践的なスキルを習得しませんか?

ブログで学んだ知識を、研修で実践に変えましょう。