AIでプログラム開発して失敗した3つの原因と対策

― 実務で見えた「できること」と「できないこと」


はじめに

近年、AIを活用してプログラムを構築するケースが増えています。
実際にAIを活用すれば、従来よりも圧倒的に早く開発を進めることが可能です。

筆者も実務の中で、データ編集処理を目的にAIを活用した開発を行いました。

しかし実際には
「思ったより難しい」ポイントが多く存在しました。

本記事では、実際の開発経験をもとに、AI開発のリアルを整理します。


AIでの開発は確かに速い

今回のケースでは、データ編集処理を目的としてPythonを選択しました。

理由は以下です。

  • 処理速度が速い
  • ライブラリ(モジュール)が豊富
  • AIとの相性が良い

実際に、以下のような処理は短期間で実装できました。

  • 住所の正規化
  • 郵便番号の付加(外部データ取得)
  • 法人番号からの企業情報付加

👉 1日目で大枠の処理は完成

ここだけ見ると、AI開発は非常に強力です。


しかし「部分修正」は難しい

翌日、精度を上げるために修正を依頼したところ、問題が発生しました。

👉 デグレ(既存機能の崩壊)

例えば👇

  • 正規化の修正を依頼
    → 指示した部分だけ実装
    → 他の処理が崩れる

💡 原因

AIは基本的に👇

👉 「指示された範囲だけ最適化する」

そのため
全体整合性を維持することが苦手です。


AIの「危険な挙動」

さらに厄介なのが以下です👇

① コメントで回避する

  • 「ここからは変更なし」
  • 「元コード参照」

👉 実際にはコードが省略される


② 完全なコードを出さない

👉 差分だけ出す傾向


③ 日をまたぐとリセット

👉 前提条件を忘れる


実務での対策

この問題に対して、いくつかの運用ルールを設けました。

✔ 完全版で出力させる

  • 「省略禁止」
  • 「コメント逃げ禁止」

✔ デグレ防止を明示

毎回の指示に👇

👉 「既存機能を維持すること」

を明記


✔ 機能単位で分割

  • 1機能=1ファイル
  • モジュール化

👉 影響範囲を限定


✔ 開始時に前提を渡す

  • 前回ソース
  • 修正ルール

👉 毎回リセット前提


それでも完全ではない

ここまで運用しても👇

👉 完全に安定するわけではない


この経験から見えたこと

よく言われる👇

👉 「AIでなんでもできる」

これは半分正しく、半分誤解です。


✔ AIが得意なこと

  • コード生成
  • 単機能処理
  • 試作

✔ AIが苦手なこと

  • 全体整合性の維持
  • 影響範囲の理解
  • 長期的な文脈管理

✔ 本質

👉 AIは「実装力」は高いが「設計力」は持たない


まとめ

AIを使った開発は、確かに強力です。
しかし、実務で使いこなすには以下が重要になります。

  • 要件の明確化
  • 指示の粒度管理
  • デグレを意識した設計
  • モジュール分割

最後に

AIは非常に優秀なツールですが、
「任せれば完成するもの」ではありません。

今回の経験から最も重要だと感じたのは👇

👉 AIに何をやらせるかを決めるのは人間である

という点です。

つまり👇

👉 「AI × 業務理解 × 設計力」

この組み合わせがあって初めて、
実務で使えるシステムが成立します。