【ChatGPT】丸投げの仕様書から始める、プログラミング無しでのクイズアプリの作り方
ChatGPTでコーディングしないでクイズアプリ制作
ここ数日、ChatGPTへのプロンプト入力だけで、どこまでプログラミングとアプリ制作ができるか試しています。
今回は、簡単な三段論法の論理推論クイズを作り、replitというサービスで公開しました。
論理クイズアプリはこちらのリンクから
replitが便利
replitは、ブラウザ上でできるIDE(開発環境)で、放送大学のC言語入門の授業でその存在を知りました。
今回初めて試してみましたが、Pythonなども含む様々な言語に対応しており、インターフェイスも使いやすいのでおすすめです。
なにしろ、コードを書いたファイルを作成する手間と、実行する手間が少なくて良いです。
あまりに便利なのでこれからはVSCodeなどを使用する頻度が減りそうです。
基本無料で使えます。
論理クイズを作れなかったGPT-3.5、作れるようになってきたGPT-4
アプリ以前のコンテンツの問題として、GPT-3.5は、問題を論理的に解く能力は持っていませんでした。
論理クイズやパズル問題を作ってと依頼しても、明らかに間違った解答が付随した問題を平気で作成してくるので、論理判断はできないものと諦めていました。
そんな中、GPT-4がデビューし、3.5と同じプロンプトを使用して問題を作成させてみるとあら不思議、今度は矛盾のない問題と解答を出力してくるではないですか。
理由は分かりませんし、ChatGPTに聞いても教えてくれませんが、結果としては喜ばしいことになりました。
実際のクイズがどのようなものとなったかは、アプリで遊んでみて体感してみてください。
ChatGPTでアプリを作るためのプロンプトの手順
今回のクイズアプリは、はじめChatGPTで作ってみました。
相当苦戦した結果、バグが取れることはありませんでした。
すなわち動かせず、ギブアップです。
ただ、 幸いなことに収穫もありました。
皆が経験していると思いますが、会話を繰り返す中でChatGPTが前に依頼したことを忘れることが多発します。
そこで思いついたのが、まず仕様書を作らせること。
クイズアプリの仕様書をまずは作ってもらったことです。
単純にクイズアプリを作ってとだけ依頼するのではなく、まずはクイズアプリの仕様書を作ってと依頼するわけです。
最初は以下のような仰々しいフル装備版の仕様書が出てきます。
この仕様書は下手すると5000万円ぐらいかけて作るアプリ向けのものですね。
そこでここから自分の作りたいアプリのイメージに近づけるよう不要なものをどんどん削っていきます。
また文章を適宜書き換えます。
そうすると以下のような必要最小限のスリムな仕様書が出来上がります。
盛り込みたい機能の記述がメインのシンプルな仕様書になりましたね。
そして、この仕様書を元に
Webアプリを作成します。
以下の仕様書に基づき、JSONフォーマット、およびHTML,CSS,JavaScriptのコードを示してください。
(以下略)
などとプロンプトを入力します。
そうすると、自分のイメージに合ったコードが最初から出てくることになります。
なお、GPT-3.5では、それでもバグが取り切れませんでしたが、GPT-4では、最初の出力のコードでJavaScriptがバグがなく動作しました。
一方、CSSのデザイン面は、どうしても後から微調整したくなります。
ChatGPTとのやりとりの中で、やっぱり余計なことをしだします。
そんな時は、再度仕様書をプロンプトにぶち込むか、デザインの指示を付け加えた仕様書を入れることで、ChatGPTに正規ルートを思い出させます。
以上をまとめると、まず最初にChatGPTに依頼する事は、
クイズアプリのコードを出力してと依頼する
のではなく、
クイズアプリの仕様書を出力して
と依頼するわけです。
これが今回の1番のポイントです。
人間は出力された仕様書をチェックし、自分の理想通りに修正します。
その出来上がった仕様書こそ、ChatGPTへの真に的確な指示=プロンプトになるというわけです。
後は簡単で、上記のとおり、この仕様書に基づいてアプリを作ってと依頼するだけです。
繰り返しになりますが、こうすることでChatGPTの出力のブレが発生しにくくなるという印象です。
これはこれから検証していきます。
ChatGPTとのチャットを100回やり直してアプリを徐々に仕上げていく、というアプローチではなく、最初から細かく指示内容を決め、ChatGPTはそれに沿って8割、9割ぐらい出来上がったものを出させるイメージです。
当たり前のことですが、この、
①作りたい対象を決める→②作りたい対象の仕様書→③作りたい対象のコード
というプロセスを実践することがChatGPTで簡単にできるという話です。
SEが仕様書を作るカルチャーの終焉
私の受託開発の経験では、仕様書は、受託開発会社側のシステムエンジニアがクライアントからヒアリングしたものをまとめるものというイメージです。
しかし、理想論としては、発注する側がこういうものを欲しいと明確なイメージがあり、それを発注側が納得がいくものを細部まで記述した書類こそが仕様書であって、受託者側はそれを熟読し、開発できるかできないか、予算や期間を見積る、なのかもしれません。
それがいつしか発注側は要望を口頭で話す、受託側が発注者の意見をヒアリングし、会社に帰って書類にまとめるのが仕様書、と言う役割分担になっているのかもしれません。
そうであるからこそ、システム開発分野での言った、言わない、依頼した、依頼していない、という論争や後日の訴訟は絶えません。
そこまでいかなくても、できあがりそうなところで、発注者の心変わりで手戻りが発生し、プロジェクトはエンドレス、という開発者にとっての悪夢が現実にあります。
そこで原理原則に戻り、発注者が欲しいものを書類にまとめ、作ってくれる主体にその書類を渡す、というプロセスを理想論どおりにやれる環境が
ChatGPTにあることに気づきます。
なにしろ「〇〇システムについての仕様書(要件定義書、ユーザーマニュアルも)を作って」と書くだけで、バーっと仕様書案が出てくるわけです。
仕様書があるだけで、 ChatGPTとの細かいやりとりが減少し、工程が節約されます。
チャットは人間と会話しているようで、ついつい長くなってしまいがち。
仕様書があれば、効率的なChatGPTの使いこなし方になる。
そして自分の意図通りの成果物が出来上がってくる確率も高まる好循環のプロセスになるのではないかと考えます。
今までSEが苦労した作業がなくなる日が来るかも。
もう ChatGPT無しのアプリ作りには戻れないかも
ChatGPTによるアプリ開発は数日前に始めたばかりなので、まだまだ確信の持てる方法というものはありません。
しかし、せっかく思いついたこの仕様書を間に挟む方法を更に深掘りしていきたいと考えています。
今回クイズアプリを作る中でバックエンドのないアプリにしたかったので、アーキテクチャとしてデータベースは採用しませんでした。
ChatGPTが最初に出してきた仕様書には、当然のごとくDBは含まれていましたが、それを削ったわけです。
クイズの問題文や選択肢、解答、解説は、CSVではなく、JSON形式でまとめました。
問題文自体は、上述の通りChatGPTに作ってもらい、それをJSON形式に変換するのもChatGPTに任せました。
文章からJSON形式に一発で変換してくれたので、これは楽でした。
今後、GPT-4が利用回数の制限なく、1日中使えるようになったら、コーディングの精度とスピード、論理的能力も高いサービスをフル活用できるということで、ますます有用な存在となっていくと予想されます。
2022年、勃興したノーコードツールが駆逐される?
これは私の勝手な予想です。
今回のように自然言語のプロンプトでアプリ作りができるようになったら、真っ先に駆逐されるのはノーコードツールになりそうです。
私はノーコードツールを使ってスマホアプリを20種類、40本近くApp StoreやGooglePlayStoreにデビューさせているので、ノーコードツールのありがたみはよく理解しています。
ノーコードツールは人間がコードを書かずに、グラフィカルユーザインターフェースを操作するだけで、達成したい仕組みを組み上げてくれるものです。
アプリの民主化の波が来た、ということで私もワクワクして2022年はThunkableというツールを使い倒しました。
ところが、ChatGPTなどのAIがアプリ作りの世界に浸透していくと、これまで便利だと重宝されてきたノーコードツールも必要なくなり、人間の自然言語による指示をAIが理解し、そのままアプリ完成まで直行します。
すぐに取って代わるということは無いにせよ、この事実は、いわゆるノーコードツールを提供している会社にとっては驚異ではないでしょうか?
今後試すこと
ChatGPTによる、バックエンドシステムやデータベースの構築及び業務で使用するための画像認識AIシステムの構築に進んでいきたいと考えています。
ぜひ、仕様書を作ってからのChatGPTアプリ作りを試してみてください!
【重版決定】ChatGPTをカスタマイズして作るAIアプリをプログラミング不要で開発する書籍
GPTsを自分で作って世界に公開したい方はこちら!
この記事が気に入ったらサポートをしてみませんか?