今回は、アプリ開発で利用しているAIついてお話したいと思います。
ぶっちゃけAIって使えるの?
大まかに言って、2年から1年半ぐらい前なら「AIを使ってアプリ開発をする。」と言うよりは、「情報収集的な利用でAIを活用する。」って感じだったと思います。
1年くらい前になると「プログラムのコードの一部をAIに作成させるけど、コンパイルエラーも結構多いので手直しも多いな〜。」って感じになって来ました。
半年ぐらい前になると、「コンパイルエラーも多いけど、ちょっと面倒なロジックは仕様を伝えてAIにお任せ!」って位になってきました。
最近は、コンパイルエラーもかなり減ってきました。仕様を伝える際も、こちらの伝えた情報以上にプラスαでコードを出力してくれる様になりました。
AIは、何を使っている?
メインで利用しているのはChatGPTです。ChatGPT Plusを契約しています。ChatGPT Proと言うグレードもありますがPlusで十分間に合っています。それ以外にGeminiも利用しています。
Geminiはどんな感じ?
AndroidStudioを利用してアプリを作成しています。AndroidStudioからGeminiを直接利用できます。なのでAIとの連携と言う意味ではGeminiを利用するのが一番効率が良いかと思いますが、ちょっと前まではコーディングにおいてはChatGPTをほぼメインで利用していました。
と言うのは、結構酷い目に遭った経験から「Geminiは、まだまだだな〜。」と思っていたからです。
ある機能を実装する際、「こんな方法で機能を実装出来ますか?」とGeminiに聞いたら「出来ます。」と言う回答だったので、それを信じてコーディングを進めていました。すべてのコードを一気に出力してくれる訳では無く、時間をかけて徐々にコーディングを進めていきました。しかし、最終的にはどうにも上手く行かず、お手上げ状態になりました。
そこで、ChatGPTに助言を求めたところ、「理論上は可能かもしれないが止めた方が良い、推奨される方法ではない。」と言う回答が返ってきました。この回答をGeminiに問合せしたところ、「そうとも言える」的な回答があり、結局当初の方法での実装を諦めた経験があります。
Geminiを利用していて、出来そうな回答をもらって、その方法で進めてから「やっぱり出来ません。」と言うパターンが度々あったので「Geminiは、使えないな〜。」と言う感じになりました。
ChatGPTはどんな感じ?
Webブラウザからではなく、ChatGPTのディスクトップアプリを利用してAndroidStudioと連携させています。
以前は、コードを出力してもらってもビルドエラーやワーニングが多発していましたが、ChatGPTがバージョンアップするにつれて、ほぼ無くなって来ました。AndroidStudioと連携する際は、修正対象のソースコードをエディタで開いた状態にしておかないと、直接修正を行ってもらえないので面倒です。最近では、指定した仕様に対してプラスαでコードを出力してくれるので、かなり楽になりました。
最新のバージョンは?
ChatGPTを使ってアプリの設定ファイルの修正を行っていたところ、どうにも良い結果を得ることが出来なかったので久しぶりにGeminiを使ってみました。すると設定ファイルの問題を修正する事が出来ました。
「Gemini、結構良くなったじゃん!」と思い、コードの修正も行ってみました。Swift言語のバージョンがアップした際に、APIの仕様が変わり以前のコードの書き方は非推奨になっていたので、その対応をGeminiに行ってもらいました。今までのコードを並列処理化する必要があり、大規模な修正が必要になりました。「一発で完了!」と言う事にはなりませんでしたが、何度かの修正を行ってコードの改修を完了する事が出来ました。
AndroidStudioのプロジェクト内のコードをすべてGeminiが見ることが出来るので、広範囲での修正も可能でした。ChatGPTとの連携の場合では、必要なファイルをエディタで開いておく必要があるので広範囲での修正は面倒です。Geminiの最新バージョンは、かなり使える様になった模様です。
ChatGPTは連携が面倒なのは相変わらずですが、現状のバージョン5.1では、安定して良い結果を得ることが出来るので、今後はどちらをメインに利用するか?迷うところです。
今回は以上です。最近では、バイブコーディングと言う単語を耳にします。「こんな感じのアプリを作って!」とAIに指示してアプリを作成する時代が、もう直ぐそこにやって来ているかも知れませんね。

