AIでプログラム開発して失敗した3つの原因と対策
― 実務で見えた「できること」と「できないこと」
はじめに
近年、AIを活用してプログラムを構築するケースが増えています。
実際にAIを活用すれば、従来よりも圧倒的に早く開発を進めることが可能です。
筆者も実務の中で、データ編集処理を目的にAIを活用した開発を行いました。
しかし実際には
「思ったより難しい」ポイントが多く存在しました。
本記事では、実際の開発経験をもとに、AI開発のリアルを整理します。
AIでの開発は確かに速い
今回のケースでは、データ編集処理を目的としてPythonを選択しました。
理由は以下です。
- 処理速度が速い
- ライブラリ(モジュール)が豊富
- AIとの相性が良い
実際に、以下のような処理は短期間で実装できました。
- 住所の正規化
- 郵便番号の付加(外部データ取得)
- 法人番号からの企業情報付加
👉 1日目で大枠の処理は完成
ここだけ見ると、AI開発は非常に強力です。
しかし「部分修正」は難しい
翌日、精度を上げるために修正を依頼したところ、問題が発生しました。
👉 デグレ(既存機能の崩壊)
例えば👇
- 正規化の修正を依頼
→ 指示した部分だけ実装
→ 他の処理が崩れる
💡 原因
AIは基本的に👇
👉 「指示された範囲だけ最適化する」
そのため
全体整合性を維持することが苦手です。
AIの「危険な挙動」
さらに厄介なのが以下です👇
① コメントで回避する
- 「ここからは変更なし」
- 「元コード参照」
👉 実際にはコードが省略される
② 完全なコードを出さない
👉 差分だけ出す傾向
③ 日をまたぐとリセット
👉 前提条件を忘れる
実務での対策
この問題に対して、いくつかの運用ルールを設けました。
✔ 完全版で出力させる
- 「省略禁止」
- 「コメント逃げ禁止」
✔ デグレ防止を明示
毎回の指示に👇
👉 「既存機能を維持すること」
を明記
✔ 機能単位で分割
- 1機能=1ファイル
- モジュール化
👉 影響範囲を限定
✔ 開始時に前提を渡す
- 前回ソース
- 修正ルール
👉 毎回リセット前提
それでも完全ではない
ここまで運用しても👇
👉 完全に安定するわけではない
この経験から見えたこと
よく言われる👇
👉 「AIでなんでもできる」
これは半分正しく、半分誤解です。
✔ AIが得意なこと
- コード生成
- 単機能処理
- 試作
✔ AIが苦手なこと
- 全体整合性の維持
- 影響範囲の理解
- 長期的な文脈管理
✔ 本質
👉 AIは「実装力」は高いが「設計力」は持たない
まとめ
AIを使った開発は、確かに強力です。
しかし、実務で使いこなすには以下が重要になります。
- 要件の明確化
- 指示の粒度管理
- デグレを意識した設計
- モジュール分割
最後に
AIは非常に優秀なツールですが、
「任せれば完成するもの」ではありません。
今回の経験から最も重要だと感じたのは👇
👉 AIに何をやらせるかを決めるのは人間である
という点です。
つまり👇
👉 「AI × 業務理解 × 設計力」
この組み合わせがあって初めて、
実務で使えるシステムが成立します。