「ChatGPT」を使ったアプリ開発–プロセスごとの活用方法とプロンプト例

  • 2023.08.31
  • AI
「ChatGPT」を使ったアプリ開発–プロセスごとの活用方法とプロンプト例

悪い知らせを先にお伝えしておくのがいいだろう。「ChatGPT」にアプリ内購入ありの「iPhone」アプリを作成させて、100万ドルを稼げると考えているなら、その見込みはない。

この予測を先に書いたのは、製品を構築する方法を解説するたびに、次のようなことを言ってくる人が何人かいるからだ。(a)100万ドルを稼ぐアプリを作ってほしい。(b)100万ドル稼げるアプリの作り方を教えてくれる講義や書籍を紹介してほしい。(c)億万長者のプログラマーが一般人に隠している秘密のツールやプログラムを知りたい。(d)プログラマー仲間に自分を紹介してほしい。100万ドル稼ぐアプリを投機目的で他人のために作ってくれる人が1人はいるはずだから。

ソフトウェアビジネスとは、そういうものではない。ソフトウェアは非常に大規模で複雑だ。多くのアプリは、他のリソースの巨大なネットワークへの接続に依存しており、それらすべてを統合する必要がある。基本的に、多くのアプリは、人目につかず機能する巨大なコンピューティングインフラストラクチャーのフロントエンドにすぎない。他のアプリ、たとえばゲームの場合、多様なスキルを持つ人々のチームが連携して作業し、通常は何年もかけて1つのアプリを開発する。

ChatGPTをアプリの作成に役立てる方法
さて、筆者はChatGPTがアプリ作成に役立つ可能性があると信じている。ただし、作業の大部分を代行してくれるわけではない。それは皆さんとチームの仕事だ。しかし、時間をある程度節約し、労力を大幅に低減できる可能性はある。それだけでもChatGPTを使う価値はある。

それでは、ChatGPTがアプリの作成にどのように役立つかを見ていこう。

1. アプリの計画
iPhoneアプリは約200万種類、「Android」アプリは約350万種類ある。ユニークなアプリを考え出すのは容易ではないが、すでにライバルが大勢いるアプリを作るのも得策ではないはずだ。

それを調べるのに、ChatGPTだけを使うのはよくない。もちろんChatGPTも使用するが、次のような質問をしてみよう(編集部注:以下のプロンプトは、原文にある英語のプロンプトを和訳して記載しています)。「退職までの日数を教えてくれるiPhoneアプリは存在するか」

ただし、ChatGPTには2021年までのデータしかないことに注意する必要がある。そのため、たとえばChatGPTのプロンプトの作成を支援するアプリを作りたいとしても、ChatGPTはアプリストアに何があるか知らないだろう。だが、Googleの「Bard」なら知っている可能性がある。ChatGPTに聞いてみると、「この目的のために特別に設計されたiPhoneアプリは特にない」という回答だったが、Bardの答えは「ChatGPTプロンプトの作成に役立つiPhoneアプリがいくつかある」で、その後にアプリを列挙した。

もう1つできることは、「ChatGPT Plus」の使用だ。ChatGPT Plusは月額20ドルで利用できるChatGPTの有料版で、「WebPilot」をはじめとするプラグインにアクセスすることができる。WebPilotを有効にすると、ChatGPTでウェブ検索が可能になる。ご覧のように、これで利用できる答えが増える。クエリを洗練させて深く掘り下げていく必要があるが、もはや2021年の壁に阻まれることはい。

しかし、アプリの計画においては、基本的な市場調査以外にも多くの作業が必要だ。必ず機能性や特長を考え出して、ユーザーインターフェースのモックアップを作成することになる。ChatGPTのプロンプト作成に役立つアプリの構築というアイデアを続けるなら、以下のような質問が考えられる。

ChatGPTのプロンプト作成を支援するiPhoneアプリを構築したい。そのようなアプリの主要な機能と副次的な機能は、どんなものであるべきか。

このプロンプトをChatGPTに入力することを推奨する。というのも、驚くほど完全な答えが返ってくるからだ。ChatGPTがアプリの作成に実際にどれほど役立つかが分かる。

次はユーザーインターフェースだ。ChatGPTはワイヤーフレームを描画することは(まだ)できないが、ChatGPTにメイン画面の作成手順を教えてもらうことはできる。

このアプリに必要な画面とユーザーインターフェース要素を説明してほしい。

このプロンプトの入力もお薦めする。ChatGPTの回答は、驚くほどよく考えられているからだ。

アプリのアイデアを思いついて、アプリの一部の要素について計画を立てたら、開発と展開について考える必要がある。以下のようなプロンプトを試してみるといいだろう。

このアプリを構築したい。開発を開始して展開の準備をするためには、何をすればいいのか。

答えが一般的すぎると感じたが、このプロセスを研究している初心者には役立ちそうだ。次に以下のプロンプトを試した。

このアプリを作成するために、「Xcode」開発環境のセットアップと設定を手伝ってほしい。

求めている答えに近づいたが、まだあまりに一般的な内容だった。さらに掘り下げてみた。

私のプロジェクトのテンプレート選択と、Xcodeの設定を手伝ってほしい。また、「Interface Builder」はどのように設定すればいいだろうか。

これが実際にかなり役立った。掘り下げて次々に質問し、プロジェクトに要素を加えていき、その過程でChatGPTに気軽に質問しよう。だが、アプリ開発に役立つ情報はAIという新世界の外側にも豊富にあることを忘れてはならない。怖がらずに昔ながらのウェブ検索を使用して、例やガイドを探し回ろう。これは大規模なプロジェクトであり、利用可能なあらゆるリソースを活用する必要がある。

2. アプリの構築

ここからが正念場だ。すなわち、コードが開発システムと出会う。実際に製品を作る段階だ。そして、ChatGPTが非常に興味深く、非常に具体的な手助けをしてくれる段階でもある。

もう一度はっきりさせておこう。現在はまだ、AIツールにアプリの作成を命じられる段階ではない。多くのアプリは数十万行(場合によっては数百万行)のコードで構成され、何百個(あるいは何千個)ものファイルにまたがっている。現在のChatGPTは、それほどの範囲を扱っていない。

範囲という観点から見るなら、アプリは1冊の本または一揃いの本(蔵書全体まで)であると考えてみよう。関数、メソッド、サブルーチン(基本的にはどれもコードの小さな機能単位を表す用語)は、本の中の1つの段落、短い記事、あるいは章と考えるといい。ChatGPTが手助けできるのは段落のレベルだ。章の構成も手伝ってくれるが、本全体の扱い方は分からない。

だが、それはChatGPTがあまり役に立たないということではない。先ほどは、ChatGPTをユーザーインターフェース要素の定義に使用できることを紹介した。ChatGPTを使えば、それをまとめるための具体的な指示を手に入れることができる。たとえば、次のように聞いてみよう。

保存したプロンプトの既存のセットを対象にプロンプトの検索を開始するアウトレットとアクションのセットアップ方法を説明してほしい。

これは、ユーザーインターフェース内の1つの関数をセットアップする方法についてChatGPTに説明させるためのプロンプトだ。これをユーザーインターフェースのさまざまな要素に何度も繰り返し使用することができる。特定の関数の作成や、データ要素の設定を指示することも可能だ。保存したプロンプト用のストレージメカニズムを作成してみよう。以下の2つのプロンプトを交互に使用することができる。

保存したプロンプト用のストレージメカニズムの構築を手伝ってほしい。

 

「Core Data」を使用してプロンプトを保存し、後でアクセスできるようにする手順を説明してほしい。

最初の質問で3つのストレージメカニズムが提案され、Core Dataを使用する2つ目に関して手伝ってもらうことにした。ここでは、そのデータストレージメカニズムを開始するのに役立つ基本的なコードまで作成してくれた。

まず、ストレージメカニズム自体のセットアップを手伝ってくれた。

提供:Screenshot by David Gewirtz/ZDNET
提供:Screenshot by David Gewirtz/ZDNET

次に、プロンプトを保存する方法の例を教えてくれた。これらのコードを足がかかりとして、その上に独自のコードを追加してもいいが、ChatGPTの助けを借りれば、良質な足がかりが得られる。

提供:Screenshot by David Gewirtz/ZDNET
提供:Screenshot by David Gewirtz/ZDNET

プロンプトを取得する方法も教えてくれた。ここでは、データを取得できるだけでなく、独自のユーザーインターフェーススタイルを使用したフォーマットや表示も可能だ。

提供:Screenshot by David Gewirtz/ZDNET
提供:Screenshot by David Gewirtz/ZDNET

コード生成用のプロンプトについてはこれ以上説明しないが、大体の流れは分かったはずだ。ChatGPTを使用すれば、非常に明確に定義された小さなコードを書くことができ、手順を教えてもらえる。ChatGPTは才能豊かな若手の開発者のようなもので、コードは理解しているが、全体像はあまり見えていない人だと考えるといいだろう。

最後に、ChatGPTのコードがすべて機能すると考えてはならない。先に説明したように、ChatGPTのコードは完璧な場合もあれば、全く機能しない場合もある。実際のところ、私たち人間が書くコードも同じようなものだ。

3. アプリの展開

この例では、iPhoneアプリを構築するという前提で話を進めるが、これらの手順はどのプラットフォームのアプリでも同様だ。基本的に、アプリは構築さえ完了すれば魔法のようにユーザーのデバイスに表示されるわけではない。各アプリストア固有の手順に従ってアプリを準備し、公開する必要がある。

これを開始するには、以下のようなプロンプトを実行するといいだろう。

アプリを展開するのに必要な手順を教えてほしい。

筆者がChatGPTに聞いたときは、以下の6つのステップと、各ステップを要約した短い段落の説明が返ってきた。

  1. 「Apple Developer」アカウントに登録する。
  2. アプリの設定を構成する。
  3. アプリを配布する準備をする。
  4. アプリを「App Store」に提出する。
  5. アプリの審査を待つ。
  6. アプリをリリースする。

ここでも、ChatGPTからさらなる価値を引き出せる可能性がある。それぞれの手順について、より詳しく説明してもらうことができる。たとえば以下のようなプロンプトがいいだろう。

展開に向けてアプリの設定を構成する具体的な方法を知りたい。

アプリをApp Storeに提出する具体的な方法を教えてほしい。

 

質問を掘り下げていこう。ChatGPTがきちんと答えてくれないステップがあれば、詳しい説明を求めよう。裁判中の法廷で、証人が中途半端な答えをしたところを想像してほしい。求めている答えが得られるまで、次々に鋭い質問をして掘り下げていこう。

大きな幸運に恵まれた人は、自分のアプリを他のすべてのアプリと一線を画す位置づけにして、顧客基盤を築き、大金を稼いで、Ferrariのどのモデルを買うか、そして次のアプリをどうするか考え始めているだろう。だが、ほとんどの人は、顧客のサポートやバグの修正、機能の追加に対応しながら、新しいマーケティングアプローチを試すことになるはずだ。

ともあれ、この段階までこぎ着けたなら、喜ばしいことだ。筆者はその昔、くだらない小さなiPhoneアプリを40個作成したことがある。そのときChatGPTがあれば、大きな助けになっていたに違いない。ChatGPTは唯一無二のツールではなく、他のすべてのツールと同じようなものだと考えればいいだろう。

よくある質問

iPhoneアプリとAndroidアプリのどちらを作るべきか

どちらも巨大な市場だ。アプリが成功したら、両方のプラットフォームに展開したくなるだろう。アプリに持たせたい機能によっては、一方のプラットフォームが他方より適している場合もあれば、そうでない場合もある。たとえば、筆者のお気に入りのAndroidアプリの1つである「Tasker」は、Appleのほぼ同等のアプリ(「Shortcuts」)を「iOS」で使用する場合に比べて、Android体験を大きくカスタマイズすることができる。Taskerのようなアプリを構築しているなら、Androidに力を入れる方がいいだろう。

総合すると、自分が最も付き合いやすいプラットフォームを選択し、そこでアプリを構築してほしい。その後で他の環境に移行しよう。

自分のアプリを検索結果に確実に表示させるにはどうすればいいか

アプリストア内の検索結果についての話だとしたら、キーワードテストとグラフィックスの両方に取り組む必要がある。まず、魅力的なアイコンを用意して、十分な数のスクリーンショットと動画を掲載する。これを省略してはならない。その後はとにかくSEOだ。アプリを目立たせる適切なキーワードを見つける必要がある。そのためのツールは数多くあり、ChatGPTにどんなものがあるか聞くこともできるし、手伝ってもらうのもいいだろう。

アプリの構築にはどれくらいの時間がかかるのか

簡単に答えるなら、1週間から3年までの幅がある。詳しく答えると、状況によって大きく異なる。どれくらいの規模のアプリなのか。そのアプリで何を達成しようとしているのか。自分とチームにどれくらいの経験があるのか。筆者が40個のアプリを作成したとき(ほとんどは非常に似通ったアプリだった)、最初のアプリには約1カ月かかったが、他は1個あたり約1日で完成した。Appleが各アプリの承認に要した約10日間はこの期間に含めていない。

しかし、他のアプリは何年もかかる可能性がある。ChatGPTのプロンプトを保存して呼び出すアプリは、たとえば「Facebook」アプリとは大きく異なる。Facebook、「Instacart」「Uber」のような大規模なアプリを構築しようとしているなら、長い道のりが待っている。だが、楽しいアイデアがあるなら、そのプロセスに要する時間は数カ月から1年の間と見ていいだろう。

幸運に恵まれた人は、自分のアプリを他のすべてのアプリと一線を画す位置づけにして、顧客基盤を築き、大金を稼いで、Ferrariのどのモデルを買うか考え始めているだろう。提供:David Gewirtz/ZDNET
幸運に恵まれた人は、自分のアプリを他のすべてのアプリと一線を画す位置づけにして、顧客基盤を築き、大金を稼いで、Ferrariのどのモデルを買うか考え始めているだろう。

ZDNet より

AIカテゴリの最新記事