📝
生成AIを使用したWebアプリ開発のTips ~機能劣化対策~
本日は私が生成AIを活用したWebアプリを開始して1,2か月くらいで得たノウハウをお伝えします。
※ 現在は生成AIの能力が格段に上がっていて、ここに示すような課題は少なくなっていますが、
それでもある程度は発生しますし、
この考え方はアプリ開発以外にも生成AIとの協業において役に立つと思います。

課題と目的
課題: 生成AIを使用してWebアプリ開発をする際に機能を追加をしようとすると、
追加機能は実装されるものの、すでに実装されていた機能がなくなることがある。
⇒つまり機能の劣化が発生する。

目的: 生成AIによるWebアプリ開発の改訂における機能劣化を防止する方法を提案する。
機能劣化のメカニズム
なぜ機能劣化が起こるのか?
生成AIは依頼内容に集中しすぎる。
それにより、過去の開発内容を維持できなくなる。

対策1:プロンプトの工夫
機能劣化を防ぐための第一の対策として、過去の開発内容の維持も依頼内容に含める。
【具体的なプロンプト例】
以下追加機能を実装できますか?
▪~~追加機能~~
▪~~追加機能~
▪~~追加機能~~
前提:
▪これまで実装されていた機能をすべて維持してください
▪出力は開発差分ではなく、これまでの成果物を統合した最新版を作成してください
▪変更後の成果物がすべて正しく動作することを確認してください
▪v0.*(*は連番)として開発し、保存してください
対策2:修正プロセスを分ける
対策1でも機能劣化が発生する場合の対策
⇒
あえて完全版を出力させるのではなく、まず修正方法だけを提案させる。
そのうえで、修正内容を合意したうえで、
その該当箇所のみを過去の成果物に反映するように依頼する。
ポイント
開発差分を作る行為と、差分と過去成果物を統合する行為を別々で依頼する

まとめ
・ 生成AI開発における機能劣化は、AIの集中しすぎが原因
・ 対策として、過去機能維持を明示的に依頼
・ それでも劣化する場合、
修正方法提示と成果物反映のプロセスを分ける

あとがき
Discussion