バイブコーディングって素晴らしい!

私の趣味について語るシリーズ

昨今のAIブームとそれの伴うAIの急速な進化はとてつもないことは周知の事実です。画像、動画、対話、それだけに留まらずプログラミングもAIが行うことができる時代です。今回はAIでプログラミングを行う手法(バイブコーディング)について、初心者視点で語ろうと思います。

プログラムをAIで

プログラムをAIに書かせる開発手法をバイブコーディングと言います。AIに自然言語(人間が話す言語)で詳細な指示を与え、帰ってきたプログラムをテストし、改善点があればまたAIに指示する…というサイクルを繰り返すことで、作りたいプログラムを作成します。
AIに丸投げでプログラムを作成するので、開発初期の開発速度を底上げし、完成イメージの明確化に貢献しています。

良いとこ悪いとこ

手間も時間も大幅に短縮してくれるバイブコーディング。もちろんメリットとデメリットが存在します。

メリット

  • 形作りバリハヤ
  • 自然言語で指示できる
  • 言語習得不要(極論)

まず、詳細な指示1つ出せばだいたいの形はものの数秒で完成します。Webページでもアプリケーションでも何でも。また、自然言語、つまり日本語などの人間が扱う言葉で指示を出すことでプログラムを作成するので、プログラミング言語よりも直感的に記述することができます。かなり暴論ですが、プログラミング言語を習得していなくても、プログラムを作成することができます。

デメリット

  • デグレ
  • 指示が通らないことがある
  • 複雑になるとエラーまみれになる

デグレというのは、機能の追加や改善などでプログラムに手を加えると、以前まで正常に動作していた部分が突然エラーを吐いて動かなくなってしまう、という現象です。これは割とあるあるですね。人間が書いても起こりますし。次の指示が通らないというのは、大問題。その次のも大問題。こういう時は、修正前のコードを持って新しいプロジェクトで改めて指示を出すとうまくいくことが多いです。AIも思考が凝り固まっちゃうんでしょうね。

初心者のうちから使っていこう

「最初から楽なものに頼るな!」と言ってくる人もいますよね。でもそれは時代の波に乗るな、ということですよね。完全否定はしませんが、基本的に間違った考えだと私は思います。ということで、初心者さん、ぜひバイブコーディングやっていきましょう!

「プログラミングをやってみたい」と思っているような方がバイブコーディングで、自分が思い描いたプログラムを作成できれば、モチベーション向上・維持につながると思います。最初が肝心です。プログラミング初心者の火付け役として素晴らしいツールだと思います。かく言う私もプログラミング初心者の学生ですが、高校生のころからGemini君やその他バイブコーディングツールを使用していくつかのプログラムを作成してきました。プログラミングの知識は少ししか付かなくとも、学べることは沢山あります。

私の話と考え「楽しさは学びの原動力」

私は主にDiscord(Lineみたいなチャットツール)のBOTを何個も作って遊んでましたが、それを通じてBOTの作り方やサーバーの操作方法について少なからず学べたかなと思っています。サーバー触り初めのころに、CLI(コマンドでコンピューターを操作するインターフェイス)を興味本位で入れたときは1mmも操作できなくて絶望しましたが、今ではある程度スムーズに操作できるまでになりました。本を読んだり、自主的な勉強を行ったわけではありません。遊んでる中でいつの間にか出来るようになっていたのです。学びとは本来こうあるべきなのではないでしょうか?

バイブコーディングでプログラム作成を楽しめば、必然と知識が付いてくると思います。プログラム作成とその周辺の作業を「楽しい」と思えるようになれば、自然と莫大な知識の獲得が可能であると思います。学びには楽しさが必要です。それを提供してくれるのはプログラミング(というよりIT分野)ではバイブコーディング等、楽に開発ができるツールを使いこなすことであると考えます。もちろん依存してしまうのは問題なので、退屈に感じるような座学も必要です。特にIT分野は常に進化し続ける分野ですので、学び続けるという姿勢はとても大事だと思います。学びを捨てた人間はすぐに置いて行かれるので、皆さんも楽しみながら学び続けていきましょう!

最後にバイブコーディングの成果物をお見せします

これまでに作成してきたプログラムを少しお見せしようと思います。主にDiscordのBOTになります。

NicoAI

NicoAiはXのGrokのようなAIBOTになります。メンションしたうえで質問などを打つとAIが返信してくれます。現在は、Geminiの2.5-proという最新のモデルを使用しています。(proモデルは精度重視なのでレスポンスが悪いです。だいたい15秒以上はかかります。レスポンス重視ならflashモデルを使用してください。)/personaというコマンドを使ってAIの性格を変えることも可能です。上の画像は”誠実”という性格です。このほかにも”ギャル””生意気””変態””猫”などを実装しています。性格は、プロンプトに性格を指定するための指示文を入力内容にくっつけて送信させることで実現しています。

上の画像は性格を”変態”(笑)に変更して同じ質問を投げかけたものになります。見るからにやばいやつに仕上がってると思います()

これは”猫”ですね。吾輩は猫である、に影響された猫です。質問しても基本返してくれません。真面目な質問は”誠実”さんに聞きましょう。

VC通知BOT

まあこれはDiscordのBOTとしてはかなり定番なんじゃないですかね。VCに入退出するユーザーがいたら指定のチャンネルに通知してくれる。そんな平凡なBOTです…とは言わせません。作ったきっかけは、公開されているVC通知機能を持つBOTを導入していたところ、障害で動かなくなったからなんですが、せっかく作るなら独自の機能で遊びたくなるもんです。VC入退出通知に加え、VCに一人で15分以上いる場合に、BOTが”憐れんでくれる”機能を追加しました。

こんな感じでVCにボッチがいることを教えてくれる親切なBOTが出来上がりました。

scheduler

私や私が入っているdiscordサーバーの人たちはみんな学生なので、固定の時間割があるわけですね。しかし、だれがいつ暇なのかなんて覚えられないわけです。そこで、みんなのスケジュールを読み込み、管理してくれるBOTを作りました。

上の画像のように一目で誰が暇なのかがわかります。ちゃんと空きコマや昼休みも(通学時間も)反映されるので便利です。googleカレンダーのURLを入力すれば、そこに入っている予定を表示させることも可能です。バイトをしている人でもgoogleカレンダーにさえ予定を入力してしまえば自動的に反映されます。

コメント

タイトルとURLをコピーしました