AIでアプリ開発はどこまでできる?自律型AIを試してみた
エンジニアの藤原です。
最近では自律型AIエージェントと呼ばれるサービスが現れて、もはやコードを自分で書かなくても簡単なアプリくらいなら生成できてしまうといったことを耳にします。
今回は AIエージェント Devin を利用してモバイルアプリを生成してみ たいと思います。
AIによるコード自動生成
準備
まずは Devin のアカウントを作成します。
アカウント作成時には GitHub もしくは GitLab との連携を求められます。
Devinではただコードを生成するだけでなく、GitHub等と連携して生成したコードをpushしたりPullRequestを作成したりすることができます。
ここではどのアカウント・組織・リポジトリに許可を与えるか等の権限設定を行います。
次に料金プランを選択します。
以前は$500/月のプランのみでしたが現在は$20の料金プランが用意されています。
ただこれは月額$20のサブスクリプションではなく従量課金で$20分の初回利用料金を購入するプランとなっているため注意が必要です。
なおWindsurf(別のAIエージェント)のユーザに対しての$75分のギフトが得られました。
これで利用する準備が整いました。
アプリの生成
Devinを用いてモバイルアプリケーションを作成してみます。
今回は簡単なカメラアプリを作成することにします。
サインアップが完了すると以下のようなWebコンソールが表示されます。ChatGPTに似ていますね。
Devin IDE という開発環境も用意されているようですが、今回はこのWebコンソールから操作してみます。
アプリ生成のプロンプトは以下のようにしました。
後ほどMonacaとの連携を試してみたかったのでプラットフォームとしてCordovaを指定しましたが、それ以外の細かい指示は省いてみました。
プロンプトを送信すると次のようにVM上で開発が開始されている様子のログが表示されます。
細かい指示を出していないにも関わらず、cordova-plugin-camera
等を自分で組み込んで開発が進んでいます。
AIが出力するコードは信用できないと言われがちですが、cordova build
コマンドも呼び出されてエラーが出ていないということは、少なくともビルドが通るコードが返ってくることは期待できます。
生成が完了しました。
わずか5分程度で生成されました。
ビルド
生成されたプロジェクトをMonacaにインポートしてビルドしてみます。
プロジェクトのzipファイルがダウンロードできるのでそのままMonacaへのインポートできました。
ビルドの際にいくつか警告が出てしまったので、Monacaの表示する警告に従って若干の修正を行います。
- package.json
- devDependenciesの修正
- config.xml
- Android スプラッシュファイルをオートリサイズモードに変更
-xmlns:android の追加
- Android スプラッシュファイルをオートリサイズモードに変更
これらはMonaca独自の仕様に合わせるための修正だったり古いバージョンのcordovaプラットフォームに基づいて生成されたのかな?という内容だったりで、修正にはそれほど手間はかかりませんでした。
実行結果
Monacaでのビルドに成功しました。
それでは実際の端末で動かしてみます。
Android
- 起動する
- 写真の撮影は可能
- アルバム欄に写真が表示されない
iOS
- 起動しない
動作しない原因について詳しく調べていませんが、おそらく次のような要因だと思われます。
- iOS : カメラの権限が足りない
- Android : 画像を保存するストレージ周りの処理
このように残念ながら完璧に動作するものは生成されませんでしたが、これがたった5分で出力されることを考えれば将来のプログラマ不要論が出るのも納得です。
将来のことはともかく、そうなるまではこの便利なツールを活用することで作業の効率を上げたり面倒な作業を減らしたりできるのはないでしょうか。