最近は、生成AIにコードを書いてもらいながらアプリやツールを作る、いわゆる「バイブコーディング」がかなり身近になりました。
私も小さなツールやアプリを作るときに、生成AIをよく使っています。
実際、かなり便利です。ゼロから全部書くより速いですし、自分が知らない処理でも、とりあえず動くところまでは持っていきやすくなりました。
一方で、使えば使うほど気になってきたこともあります。
それが、「動くものができること」と「後から自分で管理できること」は別だということです。
今回は、実際に使っていて困ったことをいくつか書いてみます。
修正が増えると、どこを触ればいいのか分からなくなる
最初のうちは簡単です。
「この機能を追加したい」
「ここをこう変えたい」
と伝えれば、AIがコードを書いてくれます。
ところが、修正が何度も重なってくると少し事情が変わってきます。
コード全体を返してもらうと、今度はどこが変わったのか分かりにくい。
逆に、修正部分だけを返してもらうと、「これはどこに入れるんだ?」となることがあります。
さらに機能を追加していくうちに、1つのファイルがどんどん長くなることもありました。
作っている最中はまだ覚えているので何とかなります。
でも、少し時間を空けてから見直すと、
「この処理はどこだったか」
「ここを変えると何に影響するのか」
が急に分からなくなります。
そうなると結局、またAIに聞くことになります。
これが何度も続くと、自分で作ったはずなのに、自分では触れない状態になってしまいます。
AIは、こちらの前提をずっと覚えているとは限らない
もう一つ困ったのが、最初に決めた条件が途中で抜けることです。
たとえば、
「今回は最低限の機能だけ作る」
「この機能は今は入れない」
「この部分の仕様は変えない」
と決めていたとしても、やり取りが長くなると、その前提から少しずつズレることがあります。
こちらが指定していない部分を、それらしく補って進めることもあります。
それでうまくいくこともあるのですが、後から見ると、
「そもそも、この作業は必要だったのか?」
となることもあります。
なので最近は、途中で一度、
「今、何を作っているのか」
「どのファイルを触っているのか」
「この作業は何のためにやっているのか」
を確認するようにしています。
少し面倒ですが、そのまま進めて後から大きく戻るよりは楽です。
「動いた」で満足すると、後で困る
バイブコーディングの良さは、とりあえず形にするまでが速いことだと思います。
思いついたものをすぐ試したいときには、本当に便利です。
ただ、ここで「動いたから完成」としてしまうと、後で困ることがあります。
数週間後に修正しようとしたときに、
「なぜこの処理を入れたのか分からない」
「どのファイルを直せばいいのか分からない」
「少し変えたいだけなのに、全体を触ることになりそう」
という状態になることがあります。
特に小さく作り始めたものほど、途中で機能を足していきがちです。
最初は1ファイルでも十分だったものが、気づけば長くなり、どこに何があるのか分かりにくくなる。
そのため、動作確認だけでなく、
「後から見ても分かるか」
「修正するときに触る場所が分かるか」
も途中で確認した方がいいと感じています。
AIに任せても、全て任せきりにはしない
生成AIのおかげで、アプリやツールを作るハードルはかなり下がりました。
これは大きなメリットだと思います。
ただ、実際に使ってみて感じるのは、全部任せれば楽になるわけではないということです。
むしろ、
・何を作ろうとしているのか
・今どこまでできているのか
・どこを修正しているのか
・なぜその作業をしているのか
この辺りは、自分で把握しておいた方が後で楽になります。
生成AIにコードを書いてもらうこと自体は簡単になりました。
でも、作ったものを後から直せる状態にしておくことは、別の作業。
最近はそこをかなり意識するようになりました。
AIを使って作り始めたものの、途中から構造が分からなくなったり、「このまま作り続けて大丈夫なのか」と迷ったりすることもあると思います。
そういった場合は、コードを書く前に、何を作るのか・どこまで作るのか・どう整理するかを一度見直すだけでも、かなり進めやすくなります。
私自身も、小規模なアプリやツールを作る際は、いきなり実装するのではなく、必要な機能や構成を整理してから進めるようにしています。
もし「作りたいものはあるけれど、どう形にすればいいか分からない」「AIで途中まで作ったものを整理したい」といった段階であれば、要件整理や実装方針の確認から、小規模なアプリ・ツール制作まで対応しています。
必要であれば、現在の状況を見ながらどこから手を付けるべきか一緒に整理できますので、お気軽にご相談ください。