生成AIの発達と共に「バイブコーディング」(Vibe Coding)が話題です。これはAIを駆使してソフトウェア開発を行う手法で、プログラミングすることなくアプリを開発します。本連載では、プログラミングなしでバイブコーディングを実践する方法を紹介します。初回の今回はAIに「デスクトップを可視化するツール」を作ってもらいましょう。
生成AIはプログラミングが得意?!
従来のアプリ開発では、専門の知識を持ったエンジニアが、プログラミング言語を学び、ゼロからプログラムを作成するのが当然のことでした。プログラミング言語の習得を目指して、頑張ったものの、時間の制約などから、なかなか思い通りのアプリを開発するところまで到達しなかったという方も多いでしょう。
しかし、時代は変わりました。「バイブコーディング」(Vibe Coding)の登場です。生成AIは、テキスト生成、画像生成、音声処理、プログラミングコード生成など、様々なタスクに対応していますが、その中でもいち早く実用性が注目されたのが「プログラミング」の能力です。
プログラミングは自然言語と違って、表現の幅が限られていることもあり、ここ1年でも性能がグングン向上しています。ChatGPTの登場当時は、生成したプログラムに多くの間違いがあり、実用からは遠い状態でしたが、現在ではかなりの精度でコードを生成できるようになっています。また、プログラムにエラーがあった場合でも、自分で間違いに気づき修正する能力も向上しています。
例えば、次の画面は、ChatGPTに「ハノイの塔」のパズルを解くプログラムを作ってもらったところです。ChatGPTは、与えられた問題に対して、適切なアルゴリズムを選び、あっという間にPythonのプログラムを実装してくれました。ハノイの塔は、再帰というアルゴリズムを利用すると、スマートなプログラムを作成できるのですが、ChatGPTはそのことを理解しており、再帰を利用したプログラムを生成しました。
バイブコーディングってどういう意味?
ところで、「バイブコーディング」(Vibe Coding)とは、どういう意味でしょうか。そもそも、英語の「バイブ」(vibe)は「雰囲気」や「感覚」「ノリ」を意味する言葉です。そのため、これまでのようにカッチリとプログラマーがアプリ開発の全てを行う必要がなく、自分のアイデアやビジョンをAIに伝えることで、AIがその雰囲気や感覚を理解し、アプリケーションを構築してくれるというスタイルを指します。
本当にプログラミング知識なしでアプリが作れるの?
雰囲気を伝えるだけで、AIが目的とするアプリを作成してくれるのです。本当に便利な時代になりました。しかし、本当にプログラミングの知識がなくても、アプリを作成できるのでしょうか。現時点での筆者の率直な感想なんですが、「かなり空気を読んでプログラムを作ってくれる」という印象です。
もちろん、AIも完璧ではないため、思った通りのプログラムを作れないこともあります。でも、生成AIのプログラミング能力は日々改善されているので、今後ますます使いやすくなることが期待できます。そうであれば、今のうちから、AIにアプリ開発を任せる手法を学ぶなら、将来にわたって役立つスキルとなるでしょう。
デスクトップを可視化して整理を助けるツールを作ろう
さて、連載1回目の今回は「デスクトップを可視化して整理を助けるツール」を作ってみましょう。
皆さんも、作業中のファイルをデスクトップに置いておくことがあることでしょうか。筆者のデスクトップにも処理が途中になったままのファイルがたくさん残っています。しかし、デスクトップがファイルでいっぱいになってしまうと、どこに何があるのか分からなくなり作業効率が落ちてしまいます。そこで、デスクトップ上のファイルを可視化して整理を助けるツールがあると便利です。バイブコーディングでツールを作りましょう。
ChatGPTを使ってバイブコーディングできる?!
バイブコーディングに特化したツールが、いろいろ登場しています。Claude CodeやGoogle Gemini CLI、Cursor、GitHub Copilot、Clineなどが有名です。どれも便利なのですが、まずは、気軽にブラウザ上で使えるChatGPTを使ってみましょう。
一般的にバイブコーディングというと、専用のツールを利用するイメージがあるのですが、まずは、気軽に使えるブラウザのChatGPTを利用して実践してみましょう。
ここでは、次のような指示(プロンプト)を入力して試してみました。
デスクトップ以下にあるファイルを可視化するツールをPythonで作ります。
結果をHTMLで視覚的に確認したいです。次のような情報を集めてください。
- 全ファイル数
- 1週間単位でだいたいいつ作られたファイルが多いのか
- どんな種類のファイル(拡張子)が多いのか
そして、それをもとに表とグラフにして見せてください。
自分のパソコンでPythonを実行します。
すると、あっという間にプログラムを作成してくれます。ちなみに、Pythonというのは、プログラミング言語の一つで、AIやデータ分析などの分野でよく使われています。
ChatGPTが作成したプログラムを自分のPCで実行するには、Pythonをインストールする必要があります。こちらの公式サイト( https://www.python.org/ )から、インストーラーがダウンロードできます。なお、こちらの解説( https://news.mynavi.jp/techplus/article/zeropython-122/ )が参考になります。
もちろん、ChatGPTに「Pythonのインストール方法を教えてください」とか「Pythonのプログラムの実行方法を教えてください」と尋ねても丁寧に教えてくれます。
さて、筆者がChatGPTが作成したプログラムを実行して試したところ、次のようなレポートを作成してくれました。
残念ながらレポート内のグラフの日本語が文字化けしているとか、細かいところで不具合はありますが、筆者が求めていたレポートを作成してくれました。かなりの精度で、目的のツールを作成してくれました。
Google Gemini CLIを使ってみよう
続いて、Google Gemini CLIを使ってみましょう。Google Gemini CLIは、Googleが提供する生成AIのコマンドラインインターフェースです。
今回は、詳しく解説しませんが、こちらの姉妹連載( https://news.mynavi.jp/techplus/article/zerojavascript-35/ )で、詳しいインストール方法を紹介しています。
Gemini CLIをインストールした後、ターミナルを開いて、「gemini」とタイプすると、Gemini CLIが起動します。そして、先ほどと同じプロンプトを入力してみましょう。
すると、Gemini CLIがプログラムを作成し、プログラムをファイルに書き込んで良いかを尋ねてきます。そこで一度だけ許可する「Yes, allow once」を選択すると、ファイルにプログラムを書き込んでくれます。その後、プログラムを実行して良いかを尋ねてきます。同じように、許可すると、プログラムを実行してくれます。エラーがあったときには、自動で修正してくれます。
加えて、その際、必要なライブラリのインストールも自動で行ってくれます。開発者からすると至れり尽くせりです。
そして、数分の間に次のようなレポートを完成させました。スゴイの一言です。ちなみに、プログラマーを本職としている筆者は、ゼロから自分でこうしたプログラムを作ることができますが、さすがに1時間や2時間はかかってしまうことでしょう。
Gemini CLIを使う場合には、ブラウザで使えるChatGPTとは違って、ツールのセットアップなどの手間はかかってしまいますが、それでも、自動でファイルを書き込んでくれたり、ライブラリをインストールしてくれたりと、雑事を実行してくれるのでとても便利です。
まとめ
以上、今回は、バイブコーディング事始めということで、バイブコーディングについて紹介しました。そして、実際に「デスクトップのファイルを可視化するツール」をAIに作ってもらいました。
「ChatGPT」と「Gemini CLI」の二つのツールを使ったのですが、やはり、よりバイブコーディングに特化しているGemini CLIを使った方が、質の高いプログラムを作ってくれました。
今回は、簡単な指示で何ができるのかを紹介しただけでしたが、次回より、もう少し具体的な指示の方法や、ツールの使い方など、より高度な使い方も紹介する予定です。お楽しみに。
自由型プログラマー。くじらはんどにて、プログラミングの楽しさを伝える活動をしている。代表作に、日本語プログラミング言語「なでしこ」 、テキスト音楽「サクラ」など。2001年オンラインソフト大賞入賞、2004年度未踏ユース スーパークリエータ認定、2010年 OSS貢献者章受賞。これまで50冊以上の技術書を執筆した。直近では、「大規模言語モデルを使いこなすためのプロンプトエンジニアリングの教科書(マイナビ出版)」「Pythonでつくるデスクトップアプリ(ソシム)」「実践力を身につける Pythonの教科書 第2版」「シゴトがはかどる Python自動処理の教科書(マイナビ出版)」など。