見出し画像

chatGPTに複雑なアプリを作らせたら上司の気持ちが分かった話

先日、Youtube Pulse Viewerという野良のgoogle拡張機能をリリースしました。

youtubeのアーカイブ動画に対しチャット件数をグラフ化し動画プレイヤー上に表示するものです。元々は切り抜き動画を作る際の基準を視覚的に把握したいなと思い作りました。

実はこれ、ほとんどcahtGPTで作りました

記事が面白かったらフォロー&♥よろしくお願いしますm(_ _)m


chatGPTでアプリで作れるのか?

類似アプリの知識がweb上の多く存在する物であればスムーズに作れると思います。が、今回作ったYoutube Pulse Viewerのように独創的なアプリだと1発出力は全然無理でした。当アプリはjavascriptとpythonのコンボで成り立っていますが、正直、難易度の高い物ではなくjavascriptに慣れている人なら普通に作れると思います。

ですが、web上に類似機能が存在しないアプリに関してはchatGPTの特性上、スクリプトや関数をツギハギして回答する印象でした。うーん、人間っぽい。

googleで検索してぱっとコピペコードが出て来ないような複雑なアプリを作りたい場合は、chatGPTと二人三脚で開発する事になると思います。つまりchatGPTを使いこなしてもプログラミングの知識は不可欠という事ですね。

ただ、chatGPTで解禁されたプラグインにはとても期待してまして、インストールするだけでアプリ開発が捗るような機能がリリースされるんじゃないかと思ってます。今はまだchatGPTとの共同開発はチグハグですが、人間と機械の齟齬を埋めてくれるプラグインの登場を待ちわびちゃいますね。

プログラミング技術の価値はさらに高まりそう

chatGPTを触っていて分かるのは入門レベルのコーディングはビビるほどスムーズに出力してくれます。「twitterっぽいサイトを作って」と入力すると、ほぼ正確なコードを数分で出力してしまいます。

このように既出のコードを再構成するのはchatGPTの得意分野ですが、誰でもできる知識・技術は平準化され必ず価値が薄くなります。少なくともchatGPTでお小遣いを稼ぐレベルの価値を作り出そうとすると、より深く突っ込んだアプリ・機能を作る必要が出てきます。

今回の開発経験で分かったようにweb上にサンプルコードが存在しないような独創的なアプリを作るには、chatGPTの出力結果を正しく評価・構成する能力が必要でした。プロンプトを変えて回答ガチャを回し続けても丁度良いスクリプトが出力される可能性はめっちゃ低かったです。

今後、直接のコーディングはchatGPTが行うようになると思いますが、それを読んで整合性を合わせるにはそこそこのプログラミング技術が必要になります。

chatGPTの登場で「プログラミングをわざわざ勉強する必要なくね?」勢も出てくると思うので、プログラミング技術のレアリティはさらに向上するとと予想してます、これはチャンスよ!

chatGPTでアプリ作るコツ

作り始めはアプリの概要をざっくり伝えるだけで、ある程度スムーズに作ってくれる事も多かったですが、ファイルが増えたりソースコードが長くなってくると、あちらこちらの整合性が取れなくなる事が頻繁に起きました。

作り終えてから気付いたのですが、開発の前段階で仕様書をしっかり作り込む事がとても大事なのかもしれません。

業務経験や複数人での開発経験のない日曜プログラマーの僕は、思い付きで手を動かし、動かしながら考える。という作り方が染みついてしまっているので、処理フローとかER図を作る習慣がありません。

趣味プログラマーの方々は仕様書とか作ってます?自分用に作っていて出来が良さそうだから公開しよーう、というノリで開発してるので準備とかしないんですよね。

必要な機能や仕様をchatGPTに明確に伝えて出力結果を評価・フォローする。新人を教育する上司やプロジェクトリーダーのようなスキルがchatGPTと二人三脚で開発するには必要なのかもしれません。

開発汎用プロンプトはこちら

僕が開発しながらたどり着いたプロンプトはこちら

{指示}
-----
#ファイルツリー
youtube_pulse_viewer
│ ├chat_logs
│ │ ├sggjO95-VDw.txt
│ │ └Y-eXdd2bMNE.txt
│ ├images
│ └lib
├background.js
├content.js
├manifest.json
├popup.html
├script.js
└style.css
-----
#popup.html
{スクリプト}
-----
#content.js
{スクリプト}
-----
#background.js
{スクリプト}

こんな感じで、ファイルツリーから始まって指示に関連する各ファイルとスクリプトを書いてあげると、整合性の高い回答が得られる確率が高かったです。

ただし、1回に入力できる文字数に制限があるのでfunctions.みたいな長くなりがちなファイルに関しては、関係のある関数のみを抜き出して入力する必要がありました。

まとめ

僕のような趣味開発勢にとってchatGPTは必要不可欠な相棒になると思います。少なくとも僕らが生きている間にはマトリックスのような世界にはなり得ないと思うので、安心して使い倒す方法を考えると事にします('ω')


この記事が面白かったら♡・フォローよろしくお願いしますm(_ _)m

下記のメンバーシップでは日々の活動報告・裏話なんかも掲示板で更新しています、一部の有料記事も読めちゃって初月無料ですので良かったらお試しを!

よろしければサポートお願いします、頂いたサポートは活動費として使用させて頂きより有意義な記事を書けるように頑張ります!