いわゆる「バイブコーディング」が話題になったのは昨年のことだと思いますが、あまりご存知でない方のために簡単に説明すると、自然言語で仕様を説明して大規模言語モデル(LLM)にプログラムを作成してもらうこと、と言えるでしょう。プログラミングの知識を持っていない人でも、何をしてほしいかを言葉で伝えればアプリができてしまうということで、とある界隈では一時期だいぶ盛り上がっていたようです。
すでに今はもう「バイブコーディング」という呼び方は古いような気がしますが、AIエージェントによる「エージェンティックエンジニアリング」は当たり前になってきています。現在よく使われているものの一つはAnthropicのClaude Codeですが、私の勤務先でもGitHubのGitHub Copilotを契約して使えるようになり、私の業務にも使い始めています。
私の趣味の方では現在も引き続きChatGPT Plusを契約しているので、このプランで使用できるOpenAIのCodexを使っています。Claude Codeを使っている人が多いのにはそれなりの理由があるのでしょうが、あくまで遊びで使うだけなのでCodexでも十分以上のものと感じています。
今日はふと思いついて、「Wikipediaから過去の同月同日の出来事を抽出して、その中から数件を今日の出来事として表示する」というプログラムをRustで書いてもらいました。私自身はRustはちょっとかじっているくらいなので、その勉強にもなるかと思ってやってみたのですが、プロンプトを与えてから数分勝手に試行錯誤して、ほぼ問題なく動作するものができてしまいました。その後何度か仕様を追加・変更してみたりしたのですが、それにもきちんと応えてくれます。私が直接コードを触ったのはごくわずかですが、ほぼ期待通りのものを作ることができました。
今回作ったプログラム自体は大して役立つものではありませんが、「こうしたいときはどうすればいいのだろう」と思ったときに、これまでは資料を探ったりウェブで検索したりして調べて回らなければいけなかったことが、LLMに聞くだけで簡単に実装までできてしまうというのは凄いことです。これは確かにエンジニアの仕事が減ってしまうというのも分かりますが、しかしLLMが実現できるのは誰かが作ったコードを学習しているからで、全く新しいことは得意ではないでしょう。そういった創造的なところにこそ人間が活躍する場があるのではないでしょうか。まあ、人に言われたことしかできないような人は要らない、という残酷なことなのかもしれませんが。

