こんにちは、藤田です。
今回もメルマガをお届けします。
ど素人に最もハードルが高い作業
IT業界というのは、昔から新しい用語を使うのが好きな業界なのですが、生成AIにコードを書かせることを「バイブコーディング(vibe coding)」と言うそうです。
Wikipediaによると、バイブコーディング(vibe coding)とは
AIに依存したプログラミング手法で、人は解きたい問題を、コーディングに特化した大規模言語モデル(LLM)へのプロンプトとして自然言語で記述する。
だそうです。
私が、このバイブコーディングでシステム開発を始めて1年以上経ちますが、私は本当に自分ではほとんどコードは書いていません。
コードを見直して修正箇所を特定して指示することはあります。
ただ、その小さな修正さえもすべてAIに作らせています。
ここまで全てを任せられる生成AIによるコード生成なのですが、それでもやはりど素人にこの芸当が可能かと問われれば、ちょっと難しいと答えることになります。
どんなプログラミング言語でもいいですが、自力で開発して動かした経験がないと無理でしょう。
ただ、1画面内で動かせて、数回のやり取りで完結する仕組みであれば可能です。
例えば、「クイズアプリを作って下さい」というぐらいなら楽勝です。
「クイズを表示して、回答の選択肢を表示して、正解か不正解かを表示する。最後に正答数を表示する。」
このまま、プロンプトに打ち込めばあっというまに生成AIが作ってくれて、実際に問題なく動くでしょう。
プロンプトをもう少し詳しくして、問題のジャンルや難易度、ターゲットなど詳しく書けばそれだけでもかなり完成度の高いものに仕上がるはずです。
この程度なら、本当にプログラミングを全く知らないど素人でも作れる時代になりました。
ただ、問題はこの先です。
プログラムコードができてそれが動くようになるのと、これを他人に使ってもらえるようにするまでには、その間に大きな壁が存在します。
最も大きいのは、インタフェース部分、操作画面の設計です。
また、使ってもらうためには、例えばスマホのアプリにしたり、あるいはWebアプリとしてインターネット上に公開する必要があります。
この工程を行うとなると、一気に必要な知識ややらなければならない作業が増えます。
もちろん、生成AIに尋ねれば、作業手順を丁寧におしえてくれます。
ただ、その作業の代行まではしてくれません。
つまり、ほとんどの人の場合で、ここで作業の手が止まります。
Canva code の衝撃
恐らくWebを使ってビジネスをしている人なら知らない人はいないであろう「Canva」というデザインツールがあります。
Canvaを使うと何ができるか?
- グラフィックデザイン作成(チラシ、ポスター、名刺など)
- プレゼンテーション資料作成
- SNS投稿画像作成(Instagram、Facebook、Twitter等)
- ロゴデザイン
- 動画・アニメーション編集
- 写真編集
ざっと挙げただけでもこれぐらいありますが、忘れてならないのはCanvaを使うとWebサイトまで作れてしまうということです。
しかも、ほとんど苦労することなく、自動に近いイメージで作れて、完成したWebサイトをそのまま公開までできます。
公開する際のサイトのURLは、Canvaの提供してくれるURLを使うこともできますし、自分のドメインを持っているならそちらも使えます。
そして、今回ご紹介する「Canva code」では、これまで、このようにほぼ自動でWebサイトを作れるCanvaに、プログラムコードを備えることができるようになったものなのです。
先ほどの、「クイズアプリを作って下さい」を「Canva code」にプロンプトとして作業を依頼すると、クイズアプリをWebアプリケーションとして公開できるところまでほぼ自動でできてしまうのです。
つまり、自分でWebアプリを作って、それを公開して「私が作ったアプリです。使って下さい」と言えるわけです。
ところで、Webアプリケーションというのは、iPhoneなどのスマホでインストールするアプリと違って、いわゆるWebサイト上で動く仕組みです。
インストールの仕方が違うだけで、使い勝手は一般のアプリと大差ありません。
つまり、本当にアプリが作れてしまうのです。
ただ、動くというのことと、それが実用的かどうかというのは全く別の話です。
実は、この段階で作られるアプリは、「おもちゃ」に過ぎません。
言い換えれば、実用性がなくて誰も使ってくれない代物なのです。
おもちゃから実用的なツールに
「Canva code」が生成するWebアプリの構造は、1ページで構成される HTML+CSS+JavaScript です。
「クイズアプリを作って下さい」と指示して出来上がる内容は、数問のクイズとその答えがJavaScriptに直打ちされたものになります。
1分ぐらいで飽きますし、繰り返し使おうなどと思う人は皆無でしょう。
一般的なWebアプリケーションというのは、データベースとのやり取りをすることでシステムとして成り立ちます。
データベースの内容が増えたり減ったり、あるいは変更されたりすることで動的な生きたシステムとして成り立つわけです。
クイズアプリであれば、理想は常に新しいクイズを追加する必要がありますし、そこまでやらなくてもそれなりの数のクイズを定期的に入れ替える必要がありです。
JavaScriptに直打ちして、それを編集するという手もありますが、この方法ですと変更の度にWebアプリケーションを公開し直す必要があります。
やってみると分かりますが、この方法はとても実用には耐えないのです。
つまり、おもちゃから実用的なツールにするためには、どうしてもこの部分、つまりデータベースあるいはこれに変わるものが必要になるのです。
ところが、こういった芸当は素人にはハードルが高すぎます。
そのため、このタイミングでまたど素人には作れないものになってしまいます。
そこで、私は少し考えました。
ど素人でもできるレベルで実用性を高めることはできないのか、と考えを巡らせました。
その答えの1つとして、理想はデータベースなのですが、エクセルでクイズのコンテンツを管理するという方法でも対応できそうです。
クイズの追加、削除、変更などをエクセルで行うのです。
これで、一気におもちゃから実用的なツールに近づけることができます。
実際には、エクセルでなくてもいいのですが、要するにCSVファイルというのを用意できればいいのです。
CSVファイルというのは、エクセルで作る表みたいなものだと理解してください。
1列目にクイズの問題、2列目にクイズの答えという感じで作っていきます。
作ったファイルは、Googleドライブなどのクラウドストレージに保存して、URLでアクセスできるようにします。
そして、CanvaからこのURL経由でクイズコンテンツを読み込ませるようにすればいいです。
すべて、URLさえ用意すれば後は「Canva code」がやってくれます。
これぐらいの難易度であれば、ど素人でも本当にWebアプリケーションを作りことができると思うのです。
そして、クイズコンテンツの部分を別のコンテンツに変えれば全く別のWebアプリケーションにもなります。
Canvaに任せればデザインも自在に変更することができますし、デザインこそCanvaの得意分野とも言えます。
自分のWebアプリが作れたらビジネスにも活用できそうではありませんか?
私は、イチからこの手順でアプリを作るまでにどれぐらいの時間がかかるのか試してみたいと思っています。
恐らく30分ぐらいで、自分の作ったアプリがインターネットに公開できるはずです。
すごい時代になりました。